| <project name="dev" default="build" basedir="."> |
| <property name="gwt.root" location=".."/> |
| <property name="project.tail" value="dev"/> |
| <property name="test.args" value="-ea"/> |
| <property name="test.jvmargs" value="-ea"/> |
| <import file="${gwt.root}/platforms.ant.xml"/> |
| <import file="${gwt.root}/common.ant.xml"/> |
| |
| <property name="alldeps.jar" location="${project.build}/alldeps.jar"/> |
| <property name="gwt.junit.testcase.dev.core.includes" value="**/com/google/**/*Test.class"/> |
| <!-- BrowserManagerTest is brought in from user and is not instantiable. --> |
| <property name="gwt.junit.testcase.dev.core.excludes" |
| value="**/BrowserManagerTest.class"/> |
| |
| <target name="clean" description="Cleans this project's intermediate and output files"> |
| <delete dir="${project.build}" failonerror="false"/> |
| <delete file="${project.lib}" failonerror="false"/> |
| <delete failonerror="false"> |
| <fileset dir="${gwt.build.lib}" includes="gwt-dev.jar"/> |
| </delete> |
| </target> |
| |
| <target name="compile.tests" depends="build, compile.emma.if.enabled, build.alldeps.jar" |
| description="Compiles the test code for this project"> |
| <mkdir dir="${javac.junit.out}"/> |
| <gwt.javac srcdir="" destdir="${javac.junit.out}"> |
| <src path="core/src"/> |
| <src path="core/test"/> |
| <classpath> |
| <pathelement location="${javac.out}"/> |
| <pathelement location="${alldeps.jar}"/> |
| <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar"/> |
| </classpath> |
| </gwt.javac> |
| <gwt.javac srcdir="" destdir="${javac.junit.out}" |
| excludes="**/EmulatedCharset.java,**/HashCodes.java,**/ConsoleLogger.java,**/SuperDevModeLogger.java"> |
| <src path="${gwt.root}/user/src" /> |
| <src path="${gwt.root}/user/super/com/google/gwt/emul/javaemul/internal"/> |
| <classpath> |
| <pathelement location="${javac.out}"/> |
| <pathelement location="${gwt.tools.lib}/gss/2015-11-04/closure-stylesheets-library-20151104-rebased.jar"/> |
| <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar"/> |
| <pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar"/> |
| <pathelement location="${gwt.tools.lib}/w3c/sac/sac-1.3.jar"/> |
| <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg2.jar"/> |
| <pathelement |
| location="${gwt.tools.lib}/hibernate/validator/hibernate-validator-4.1.0.Final.jar"/> |
| <pathelement |
| location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar"/> |
| <pathelement |
| location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/> |
| <pathelement location="${gwt.build.lib}/gwt-dev-${build.host.platform}.jar"/> |
| <pathelement location="${alldeps.jar}"/> |
| </classpath> |
| </gwt.javac> |
| |
| </target> |
| |
| <target name="build.alldeps.jar" description="Merges all dependency jars into a single jar"> |
| <mkdir dir="${project.build}"/> |
| <outofdate> <!-- saves rescanning all the source jars' contents --> |
| <sourcefiles> |
| <fileset dir="${gwt.tools.lib}"> |
| <include name="apache/tapestry-util-text-4.0.2.jar"/> |
| <include name="apache/ant-1.6.5.jar"/> |
| <include name="colt/colt-1.2.jar"/> |
| <include name="eclipse/org.eclipse.jdt.core_3.11.2-CUSTOM-GWT-2.8-20160205.jar"/> |
| <include name="eclipse/jdtCompilerAdapter_3.11.2-CUSTOM-GWT-2.8-20160205.jar"/> |
| <include name="objectweb/asm-5.0.3/lib/asm-all-5.0.3.jar"/> |
| <include name="guava/guava-19.0/guava-19.0-rebased.jar"/> |
| <include name="icu4j/50.1.1/icu4j.jar"/> |
| <include name="jetty/jetty-9.2.14.v20151106/jetty-all-9.2.14.v20151106.jar"/> |
| <include name="gson/gson-2.6.2.jar"/> |
| <include name="jscomp/20160315/sourcemap-rebased.jar"/> |
| <include name="jsr305/jsr305.jar"/> |
| <include name="protobuf/protobuf-2.5.0/protobuf-java-rebased-2.5.0.jar"/> |
| <!-- dependencies needed for JSP support in DevMode: BEGIN --> |
| <include name="jetty/jetty-9.2.14.v20151106/mortbay-apache-jsp-8.0.9.M3.jar"/> |
| <include name="jetty/jetty-9.2.14.v20151106/mortbay-apache-el-8.0.9.M3.jar"/> |
| <include name="jetty/jetty-9.2.14.v20151106/jetty-apache-jsp-9.2.14.v20151106.jar"/> |
| <!-- dependencies needed for JSP support in DevMode: END --> |
| <include name="tomcat/tomcat-servlet-api-8.0.28.jar"/> |
| <include name="tomcat/tomcat-websocket-api-8.0.28.jar"/> |
| <include name="tomcat/tomcat-annotations-api-8.0.28.jar"/> |
| <include name="apache/commons/commons-collections-3.2.2.jar"/> |
| <!-- htmlunit dependencies not already included: BEGIN --> |
| <include name="apache/http/httpclient-4.5.1.jar"/> |
| <include name="apache/http/httpcore-4.4.4.jar"/> |
| <include name="apache/http/httpmime-4.5.1.jar"/> |
| <include name="apache/james/apache-mime4j-0.6.jar"/> |
| <include name="apache/commons/commons-codec-1.10.jar"/> |
| <include name="apache/commons/commons-io-2.4.jar"/> |
| <include name="apache/commons/commons-lang3-3.4.jar"/> |
| <include name="apache/commons/commons-logging-1.2.jar"/> |
| <include name="cssparser/cssparser-0.9.18.jar"/> |
| <include name="htmlunit/htmlunit-2.19/htmlunit-2.19.jar"/> |
| <include name="htmlunit/htmlunit-2.19/htmlunit-core-js-2.15.jar"/> |
| <include name="nekohtml/nekohtml-1.9.22.jar"/> |
| <include name="cup/java-cup-11a.jar"/> |
| <include name="xalan/xalan-2.7.1-nocup.jar"/> |
| <include name="xerces/xerces-2_11_0/serializer-2.7.1.jar"/> |
| <include name="xerces/xerces-2_11_0/xercesImpl-2.11.0.jar"/> |
| <include name="xerces/xerces-2_11_0/xml-apis-1.4.01.jar"/> |
| <include name="w3c/sac/sac-1.3.jar"/> |
| <!-- htmlunit dependencies not already included: END --> |
| <include name="json/android-sdk-19.1/json-android-rebased.jar"/> |
| </fileset> |
| <fileset file="build.xml"/> |
| </sourcefiles> |
| <targetfiles> |
| <fileset file="${alldeps.jar}"/> |
| </targetfiles> |
| <sequential> |
| <gwt.jar destfile="${alldeps.jar}" duplicate="preserve"> |
| <service type="javax.servlet.ServletContainerInitializer"> |
| <provider classname="org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer"/> |
| <provider classname="org.eclipse.jetty.apache.jsp.JettyJasperInitializer"/> |
| </service> |
| <zipfileset src="${gwt.tools.lib}/objectweb/asm-5.0.3/lib/asm-all-5.0.3.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/tapestry-util-text-4.0.2.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar"/> |
| <zipfileset src="${gwt.tools.lib}/colt/colt-1.2.jar"/> |
| <zipfileset |
| src="${gwt.tools.lib}/eclipse/org.eclipse.jdt.core_3.11.2-CUSTOM-GWT-2.8-20160205.jar"/> |
| <zipfileset |
| src="${gwt.tools.lib}/eclipse/jdtCompilerAdapter_3.11.2-CUSTOM-GWT-2.8-20160205.jar"/> |
| <zipfileset src="${gwt.tools.lib}/guava/guava-19.0/guava-19.0-rebased.jar"/> |
| <zipfileset src="${gwt.tools.lib}/icu4j/50.1.1/icu4j.jar"/> |
| <zipfileset |
| src="${gwt.tools.lib}/jetty/jetty-9.2.14.v20151106/jetty-all-9.2.14.v20151106.jar"/> |
| <zipfileset src="${gwt.tools.lib}/gson/gson-2.6.2.jar"/> |
| <zipfileset src="${gwt.tools.lib}/jscomp/20160315/sourcemap-rebased.jar"/> |
| <zipfileset src="${gwt.tools.lib}/jsr305/jsr305.jar"/> |
| <zipfileset |
| src="${gwt.tools.lib}/protobuf/protobuf-2.5.0/protobuf-java-rebased-2.5.0.jar"/> |
| <!-- dependencies needed for JSP support in DevMode: BEGIN --> |
| <zipfileset src="${gwt.tools.lib}/jetty/jetty-9.2.14.v20151106/mortbay-apache-jsp-8.0.9.M3.jar"/> |
| <zipfileset src="${gwt.tools.lib}/jetty/jetty-9.2.14.v20151106/mortbay-apache-el-8.0.9.M3.jar"/> |
| <zipfileset src="${gwt.tools.lib}/jetty/jetty-9.2.14.v20151106/jetty-apache-jsp-9.2.14.v20151106.jar"/> |
| <!-- dependencies needed for JSP support in DevMode: END --> |
| <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-servlet-api-8.0.28.jar"/> |
| <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-websocket-api-8.0.28.jar"/> |
| <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-annotations-api-8.0.28.jar"/> |
| <zipfileset |
| src="${gwt.tools.lib}/apache/commons/commons-collections-3.2.2.jar"/> |
| <!-- htmlunit dependencies not already included: BEGIN --> |
| <zipfileset src="${gwt.tools.lib}/apache/http/httpclient-4.5.1.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/http/httpcore-4.4.4.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/http/httpmime-4.5.1.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/james/apache-mime4j-0.6.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-codec-1.10.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-io-2.4.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-lang3-3.4.jar"/> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-logging-1.2.jar"/> |
| <zipfileset src="${gwt.tools.lib}/cssparser/cssparser-0.9.18.jar"/> |
| <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-2.19/htmlunit-2.19.jar"/> |
| <zipfileset |
| src="${gwt.tools.lib}/htmlunit/htmlunit-2.19/htmlunit-core-js-2.15.jar"/> |
| <zipfileset src="${gwt.tools.lib}/nekohtml/nekohtml-1.9.22.jar"/> |
| <zipfileset src="${gwt.tools.lib}/cup/java-cup-11a.jar"/> |
| <zipfileset src="${gwt.tools.lib}/xalan/xalan-2.7.1-nocup.jar"/> |
| <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_11_0/serializer-2.7.1.jar"/> |
| <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_11_0/xercesImpl-2.11.0.jar"/> |
| <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_11_0/xml-apis-1.4.01.jar"/> |
| <zipfileset src="${gwt.tools.lib}/w3c/sac/sac-1.3.jar"/> |
| <!-- htmlunit dependencies not already included: END --> |
| <zipfileset src="${gwt.tools.lib}/json/android-sdk-19.1/json-android-rebased.jar"/> |
| </gwt.jar> |
| </sequential> |
| </outofdate> |
| </target> |
| |
| <property name="filter.pattern" value="com/google/gwt/dev/About.properties"/> |
| |
| <target name="-filter.props" description="Creates filtered About.properties with version info" |
| unless="filter.uptodate"> |
| <gwt.revfilter todir="${javac.out}"> |
| <fileset dir="core/src" includes="${filter.pattern}"/> |
| </gwt.revfilter> |
| <touch file="${filter.sentinel}"/> |
| </target> |
| |
| <target name="compiler.standalone" |
| description="Validates that the standalone gwt-compiler project can build."> |
| <mkdir dir="${javac.out}"/> |
| <gwt.javac srcdir="core/super" excludes="com/google/gwt/dev/jjs/intrinsic/"/> |
| <gwt.javac srcdir="core/src"> |
| <include name="com/google/gwt/core/ext/**"/> |
| <include name="com/google/gwt/core/linker/**"/> |
| <include name="com/google/gwt/dev/About.java"/> |
| <include name="com/google/gwt/dev/GwtVersion.java"/> |
| <include name="com/google/gwt/dev/Permutation.java"/> |
| <include name="com/google/gwt/dev/cfg/**"/> |
| <include name="com/google/gwt/dev/javac/**"/> |
| <include name="com/google/gwt/dev/jdt/**"/> |
| <include name="com/google/gwt/dev/jjs/**"/> |
| <include name="com/google/gwt/dev/js/**"/> |
| <include name="com/google/gwt/dev/json/**"/> |
| <include name="com/google/gwt/dev/resource/**"/> |
| <include name="com/google/gwt/dev/util/**"/> |
| <include name="com/google/gwt/soyc/**"/> |
| <include name="com/google/gwt/util/**"/> |
| <include name="org/eclipse/jdt/**"/> |
| <classpath> |
| <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar"/> |
| <pathelement location="${gwt.tools.lib}/colt/colt-1.2.jar"/> |
| <pathelement location="${gwt.tools.lib}/objectweb/asm-5.0.3/lib/asm-all-5.0.3.jar"/> |
| <pathelement |
| location="${gwt.tools.lib}/apache/commons/commons-collections-3.2.2.jar"/> |
| <pathelement |
| location="${gwt.tools.lib}/eclipse/org.eclipse.jdt.core_3.11.2-CUSTOM-GWT-2.8-20160205.jar"/> |
| <pathelement |
| location="${gwt.tools.lib}/eclipse/jdtCompilerAdapter_3.11.2-CUSTOM-GWT-2.8-20160205.jar"/> |
| <pathelement |
| location="${gwt.tools.lib}/guava/guava-19.0/guava-19.0-rebased.jar"/> |
| <pathelement location="${gwt.tools.lib}/gson/gson-2.6.2.jar"/> |
| <pathelement location="${gwt.tools.lib}/jscomp/20160315/sourcemap-rebased.jar"/> |
| <pathelement location="${gwt.tools.lib}/json/android-sdk-19.1/json-android-rebased.jar"/> |
| <pathelement location="${gwt.tools.lib}/jsr305/jsr305.jar"/> |
| <pathelement |
| location="${gwt.tools.lib}/protobuf/protobuf-2.5.0/protobuf-java-rebased-2.5.0.jar"/> |
| </classpath> |
| </gwt.javac> |
| </target> |
| |
| <target name="compile" depends="compiler.standalone, build.alldeps.jar" |
| description="Compiles this project"> |
| <gwt.javac srcdir="" excludes="${filter.pattern}"> |
| <src path="core/src"/> |
| <classpath> |
| <pathelement location="${alldeps.jar}"/> |
| </classpath> |
| </gwt.javac> |
| <copy todir="${javac.out}"> |
| <fileset dir="core/src" includes="**/*.properties" excludes="${filter.pattern}"/> |
| </copy> |
| |
| <!-- Files with hardcoded version information must be filtered --> |
| <gwt.getgitinfo/> |
| <condition property="filter.uptodate"> |
| <and> |
| <available file="${filter.sentinel}"/> |
| <uptodate> |
| <srcfiles dir="core/src" includes="${filter.pattern}"/> |
| <globmapper from="*" to="${javac.out}/*"/> |
| </uptodate> |
| </and> |
| </condition> |
| <antcall target="-filter.props"/> |
| </target> |
| |
| <target name="generate.remotemessageproto.java"> |
| <!-- Generate the java code --> |
| <exec executable="protoc" failonerror="true"> |
| <arg value="--java_out=core/src"/> |
| <arg value="./core/src/com/google/gwt/dev/shell/remoteui/remotemessage.proto"/> |
| </exec> |
| |
| <!-- Rebase the java code to match the rebased protobuf library --> |
| <replace file="./core/src/com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java"> |
| <replacefilter token="com.google.protobuf" value="com.google.gwt.dev.protobuf"/> |
| </replace> |
| </target> |
| |
| <target name="checkstyle-source" description="Static analysis of source"> |
| <gwt.checkstyle> |
| <fileset dir="core/src"> |
| <filename name="com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java" |
| negate="yes"/> |
| <filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes"/> |
| <filename name="org/eclipse/**/*.java" negate="yes"/> |
| <filename name="org/apache/**/*.java" negate="yes"/> |
| </fileset> |
| <fileset dir="core/super"/> |
| </gwt.checkstyle> |
| </target> |
| |
| <target name="checkstyle-tests" description="Static analysis of tests"> |
| <gwt.checkstyle.tests> |
| <fileset dir="core/test"> |
| <filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes"/> |
| <filename name="org/eclipse/**/*.java" negate="yes"/> |
| <filename name="org/apache/**/*.java" negate="yes"/> |
| </fileset> |
| </gwt.checkstyle.tests> |
| </target> |
| |
| <target name="checkstyle" description="Static analysis of source" |
| depends="checkstyle-tests,checkstyle-source"> |
| </target> |
| |
| <target name="test" depends="build, compile.tests" |
| unless="test.dev.disable" |
| description="Run unit tests for this project."> |
| <fileset id="tests.dev.core" dir="${javac.junit.out}" |
| includes="${gwt.junit.testcase.dev.core.includes}" |
| excludes="${gwt.junit.testcase.dev.core.excludes}"/> |
| <gwt.junit test.name="dev" test.out="${junit.out}" |
| test.args="${test.args} -devMode" |
| test.jvmargs="${test.jvmargs}" |
| test.cases="tests.dev.core"> |
| <extraclasspaths> |
| <pathelement location="${alldeps.jar}"/> |
| <!-- TODO: the following six items are needed because dev (alone) does |
| not adhere to the .../{src,super,test} convention, having a split |
| between core and (historically) oophm and the OS platforms. When |
| that unifies, these should go away. --> |
| <pathelement location="${gwt.root}/${project.tail}/core/src"/> |
| <pathelement location="${gwt.root}/${project.tail}/core/super"/> |
| <pathelement location="${gwt.root}/${project.tail}/core/test"/> |
| <!-- Pull in gwt-dev and gwt-user sources for .gwt.xml files --> |
| <pathelement location="${gwt.root}/user/src/"/> |
| <pathelement location="${gwt.root}/user/super/"/> |
| <!-- CompilerTest compiles the hello sample. --> |
| <pathelement location="${gwt.root}/samples/hello/src/"/> |
| <!-- CompilerTest needs the dependecies to compile a project that uses UiBinder. --> |
| <pathelement location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/> |
| <pathelement location="${gwt.tools.lib}/gss/2015-11-04/closure-stylesheets-library-20151104-rebased.jar"/> |
| </extraclasspaths> |
| </gwt.junit> |
| </target> |
| |
| <target name="build" depends="compile" description="Build and package this project"> |
| <mkdir dir="${gwt.build.lib}"/> |
| <outofdate> |
| <sourcefiles> |
| <fileset dir="core/src"> |
| <exclude name="**/package.html"/> |
| <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin --> |
| <exclude name="org/apache/COPYING"/> <!-- already in alldeps.jar --> |
| </fileset> |
| <fileset dir="core/super" excludes="**/package.html"/> |
| <fileset dir="${javac.out}"/> |
| <fileset dir="${project.build}/bin"/> |
| <fileset file="${project.build}/alldeps.jar"/> |
| </sourcefiles> |
| <targetfiles> |
| <fileset file="${project.lib}"/> |
| </targetfiles> |
| <sequential> |
| <gwt.jar> |
| <fileset dir="core/src"> |
| <exclude name="**/package.html"/> |
| <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin --> |
| <exclude name="org/apache/COPYING"/> <!-- already in alldeps.jar --> |
| </fileset> |
| <fileset dir="core/super" excludes="**/package.html"/> |
| <fileset dir="${javac.out}"/> |
| <zipfileset src="${alldeps.jar}"/> |
| |
| <manifest> |
| <attribute name="Main-Class" value="com.google.gwt.dev.GWTMain"/> |
| </manifest> |
| </gwt.jar> |
| </sequential> |
| </outofdate> |
| </target> |
| </project> |
| |