| <?xml version="1.0" encoding="utf-8" ?> |
| <project name="MobileWebApp" default="build" basedir="."> |
| <property file="local.properties" /> |
| <!-- Arguments to gwtc and devmode targets --> |
| <property name="gwt.args" value="" /> |
| <property name="src.dir" value="src/main" /> |
| <property name="war.dir" value="war" /> |
| <property name="gwt.sdk" value="../.." /> |
| |
| <fail unless="appengine.sdk">Missing property: |
| The property 'appengine.sdk' is not set. |
| Either specity the property by passing an argument |
| |
| -Dappengine.sdk="path-to-your-appengine-sdk" |
| |
| or create a 'local.properties' file containing the |
| location of the App Engine SDK. i.e. the line: |
| |
| appengine.sdk=path-to-your-appengine-sdk |
| </fail> |
| |
| <!-- Configure AppEngine macros --> |
| <import file="${appengine.sdk}/config/user/ant-macros.xml" /> |
| |
| <path id="project.class.path"> |
| <pathelement location="${war.dir}/WEB-INF/classes"/> |
| <pathelement location="${gwt.sdk}/gwt-user.jar"/> |
| <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/> |
| <fileset dir="${gwt.sdk}" includes="validation-api-1.0.0.GA-sources.jar"/> |
| <fileset dir="${gwt.sdk}" includes="validation-api-1.0.0.GA.jar"/> |
| <!-- Add any additional non-server libs (such as JUnit) --> |
| <fileset dir="${war.dir}/WEB-INF/lib" includes="**/*.jar"/> |
| </path> |
| |
| <path id="tools.class.path"> |
| <path refid="project.class.path"/> |
| <pathelement location="${appengine.sdk}/lib/appengine-tools-api.jar"/> |
| <fileset dir="${appengine.sdk}/lib/tools"> |
| <include name="**/asm-*.jar"/> |
| <include name="**/datanucleus-enhancer-*.jar"/> |
| </fileset> |
| </path> |
| |
| <target name="appengine-copyjars" |
| description="Copies the App Engine JARs to the WAR."> |
| <copy |
| todir="${war.dir}/WEB-INF/lib" |
| flatten="true"> |
| <fileset dir="${appengine.sdk}/lib/user"> |
| <include name="**/*.jar" /> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="libs" description="Copy libs to WEB-INF/lib"> |
| <mkdir dir="${war.dir}/WEB-INF/lib" /> |
| <copy todir="${war.dir}/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet.jar" /> |
| <copy todir="${war.dir}/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet-deps.jar" /> |
| <copy todir="${war.dir}/WEB-INF/lib" file="${gwt.sdk}/validation-api-1.0.0.GA.jar"/> |
| <copy todir="${war.dir}/WEB-INF/lib" file="${gwt.sdk}/validation-api-1.0.0.GA-sources.jar"/> |
| <!-- Add any additional server libs that need to be copied --> |
| </target> |
| |
| <target name="javac" depends="libs,appengine-copyjars" description="Compile java source to bytecode"> |
| <mkdir dir="${war.dir}/WEB-INF/classes"/> |
| <javac srcdir="${src.dir}/" includes="**" encoding="utf-8" |
| destdir="${war.dir}/WEB-INF/classes" |
| source="1.6" target="1.6" nowarn="true" |
| debug="true" debuglevel="lines,vars,source"> |
| <classpath refid="project.class.path"/> |
| </javac> |
| <copy todir="${war.dir}/WEB-INF/classes"> |
| <fileset dir="${src.dir}/" excludes="**/*.java"/> |
| </copy> |
| </target> |
| |
| <target name="gwtc" depends="javac" description="GWT compile to JavaScript (production mode)"> |
| <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler"> |
| <classpath> |
| <pathelement location="${src.dir}/"/> |
| <path refid="project.class.path"/> |
| </classpath> |
| <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError --> |
| <jvmarg value="-Xmx256M"/> |
| <arg line="-war"/> |
| <arg value="${war.dir}/"/> |
| <!-- Additional arguments like -style PRETTY or -logLevel DEBUG --> |
| <arg line="${gwt.args}"/> |
| <arg value="com.google.gwt.sample.mobilewebapp.MobileWebApp"/> |
| </java> |
| </target> |
| |
| <target name="datanucleusenhance" depends="javac" |
| description="Performs JDO enhancement on compiled data classes."> |
| <enhance_war war="${war.dir}/" /> |
| </target> |
| |
| <target name="devmode" depends="javac,datanucleusenhance" description="Run development mode"> |
| <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode"> |
| <classpath> |
| <pathelement location="${src.dir}/"/> |
| <path refid="project.class.path"/> |
| <path refid="tools.class.path"/> |
| </classpath> |
| <jvmarg value="-Xmx256M"/> |
| <jvmarg value="-javaagent:${appengine.sdk}/lib/agent/appengine-agent.jar"/> |
| <arg value="-startupUrl"/> |
| <arg value="MobileWebApp.html"/> |
| <arg line="-war"/> |
| <arg value="${war.dir}/"/> |
| <arg value="-server"/> |
| <arg value="com.google.appengine.tools.development.gwt.AppEngineLauncher"/> |
| <!-- Additional arguments like -style PRETTY or -logLevel DEBUG --> |
| <arg line="${gwt.args}"/> |
| <arg value="com.google.gwt.sample.mobilewebapp.MobileWebApp"/> |
| </java> |
| </target> |
| |
| <target name="build" depends="gwtc,datanucleusenhance" description="Build this project" /> |
| |
| <target name="war" depends="build" description="Create a war file"> |
| <zip destfile="MobileWebApp.war" basedir="${war.dir}/"/> |
| </target> |
| |
| <target name="clean" description="Cleans this project"> |
| <delete file="MobileWebApp.war" failonerror="false" /> |
| <delete dir="war/WEB-INF/appengine-generated/" failonerror="false" /> |
| <delete dir="war/WEB-INF/classes/com" failonerror="false" /> |
| <delete dir="war/WEB-INF/classes/META-INF" failonerror="false" /> |
| <delete file="war/WEB-INF/classes/log4j.properties" failonerror="false" /> |
| <delete dir="war/WEB-INF/deploy/" failonerror="false" /> |
| <delete dir="war/WEB-INF/lib/" failonerror="false" /> |
| <delete dir="war/mobilewebapp/" failonerror="false" /> |
| </target> |
| |
| </project> |