added new build scripts to handle changing of the build version. ant script will now generate Wagic_Version.h and update AndroidManifest.xml

This commit is contained in:
techdragon.nguyen@gmail.com
2012-04-19 07:03:05 +00:00
parent e447a9c48d
commit 41e5dfe68a
7 changed files with 149 additions and 24 deletions

View File

@@ -0,0 +1,49 @@
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
String android_manifest_filename=args[0];
File fXmlFile = new File(android_manifest_filename);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
Element rootNode=doc.getDocumentElement();
/*
package="net.wagic.app"
android:versionCode="184"
android:versionName="0.18.4"
*/
def props = new Properties();
new File("build.number.properties").withInputStream {
stream -> props.load(stream)
}
// accessing the property from Properties object using Groovy's map notation
println "capacity.created=" + props["build.major"]
def config = new ConfigSlurper().parse(props)
// accessing the property from ConfigSlurper object using GPath expression
String major_version=props["build.major"];
String minor_version=props["build.minor"];
String point_version=props["build.point"];
DOMSource source = new DOMSource(doc);
rootNode.setAttribute("android:versionName", major_version + "." + minor_version + "." + point_version);
rootNode.setAttribute("android:versionCode", major_version + minor_version + point_version);
File outputFile = new File(android_manifest_filename );
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty("indent", "yes");
StreamResult result = new StreamResult(new FileOutputStream(outputFile) );
transformer.transform(source, result);