package gueei.binding.gen;
import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class ReadFromManifestTask extends Task {
private File mDir;
private String mSetPackageName;
private String mSetSourceFolderName;
public void setDir(File dir) {
mDir = dir;
}
public void setSetPackageName(String setPackageName){
mSetPackageName = setPackageName;
}
public void setSetSourceFolderName(String setSourceFolderName){
mSetSourceFolderName = setSourceFolderName;
}
@Override
public void execute() throws BuildException {
try {
Document doc = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(new File(mDir, "AndroidManifest.xml"));
Element manifest = (Element) doc.getElementsByTagName("manifest").item(0);
String pkgname = manifest.getAttribute("package");
getProject().setNewProperty(mSetPackageName, pkgname);
String srcFolder = "src/" + pkgname.replace('.', '/');
getProject().setNewProperty(mSetSourceFolderName, srcFolder);
log("Interpreted packagname: " + pkgname + ", default source folder: " + srcFolder);
} catch (Exception e) {
e.printStackTrace();
}
}
}