| <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="${gwt.root}/user/src" destdir="${javac.junit.out}" |
| excludes="**/super/**"> |
| <classpath> |
| <pathelement location="${javac.out}" /> |
| <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" /> |
| <pathelement location="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.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="eclipse/org.eclipse.jdt.core_3.8.3.v20130121-145325.jar" /> |
| <include name="eclipse/jdtCompilerAdapter-3.8.3.v20130121-145325.jar" /> |
| <include name="guava/guava-16.0.1/guava-16.0.1-rebased.jar" /> |
| <include name="icu4j/50.1.1/icu4j.jar" /> |
| <include name="jetty/jetty-8.1.12.v20130726/jetty-8.1.12.v20130726.jar" /> |
| <include name="jetty/jetty-8.1.12.v20130726/servlet-api-3.0-NoMetaInf.jar" /> |
| <include name="jscomp/20131014/compiler-rebased.jar" /> |
| <include name="jscomp/20131014/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="tomcat/commons-el-1.0.jar" /> |
| <include name="tomcat/jasper-compiler-1.0.jar" /> |
| <include name="tomcat/jasper-runtime-1.0.jar" /> |
| <include name="tomcat/jsp-api-2.0.jar" /> |
| <!-- dependencies needed for JSP support in DevMode: END --> |
| <include name="apache/commons/commons-collections-3.2.1.jar" /> |
| <!-- htmlunit dependencies not already included: BEGIN --> |
| <include name="apache/http/httpclient-4.3.1.jar" /> |
| <include name="apache/http/httpcore-4.3.jar" /> |
| <include name="apache/http/httpmime-4.3.1.jar" /> |
| <include name="apache/james/apache-mime4j-0.6.jar" /> |
| <include name="apache/commons/commons-codec-1.8.jar" /> |
| <include name="apache/commons/commons-io-2.4.jar" /> |
| <include name="apache/commons/commons-lang3-3.1.jar" /> |
| <include name="apache/commons/commons-logging-1.1.3.jar" /> |
| <include name="cssparser/cssparser-0.9.11.jar" /> |
| <include name="htmlunit/htmlunit-2.13/htmlunit-2.13.jar" /> |
| <include name="htmlunit/htmlunit-2.13/htmlunit-core-js-2.13.jar" /> |
| <include name="nekohtml/nekohtml-1.9.19.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="sun/swingworker/swing-worker-1.1.jar" /> |
| </fileset> |
| <fileset dir="${gwt.tools.redist}"> |
| <include name="json/r2_20080312/json-1.5.jar" /> |
| </fileset> |
| <fileset file="build.xml"/> |
| </sourcefiles> |
| <targetfiles> |
| <fileset file="${alldeps.jar}"/> |
| </targetfiles> |
| <sequential> |
| <gwt.jar destfile="${alldeps.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}/eclipse/org.eclipse.jdt.core_3.8.3.v20130121-145325.jar" /> |
| <zipfileset src="${gwt.tools.lib}/eclipse/jdtCompilerAdapter-3.8.3.v20130121-145325.jar" /> |
| <zipfileset src="${gwt.tools.lib}/guava/guava-16.0.1/guava-16.0.1-rebased.jar" /> |
| <zipfileset src="${gwt.tools.lib}/icu4j/50.1.1/icu4j.jar" /> |
| <zipfileset src="${gwt.tools.lib}/jetty/jetty-8.1.12.v20130726/jetty-8.1.12.v20130726.jar" /> |
| <zipfileset src="${gwt.tools.lib}/jetty/jetty-8.1.12.v20130726/servlet-api-3.0-NoMetaInf.jar" /> |
| <zipfileset src="${gwt.tools.lib}/jscomp/20131014/compiler-rebased.jar" /> |
| <zipfileset src="${gwt.tools.lib}/jscomp/20131014/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}/tomcat/commons-el-1.0.jar" /> |
| <zipfileset src="${gwt.tools.lib}/tomcat/jasper-compiler-1.0.jar" /> |
| <zipfileset src="${gwt.tools.lib}/tomcat/jasper-runtime-1.0.jar" /> |
| <zipfileset src="${gwt.tools.lib}/tomcat/jsp-api-2.0.jar" /> |
| <!-- dependencies needed for JSP support in DevMode: END --> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-collections-3.2.1.jar" /> |
| <!-- htmlunit dependencies not already included: BEGIN --> |
| <zipfileset src="${gwt.tools.lib}/apache/http/httpclient-4.3.1.jar" /> |
| <zipfileset src="${gwt.tools.lib}/apache/http/httpcore-4.3.jar" /> |
| <zipfileset src="${gwt.tools.lib}/apache/http/httpmime-4.3.1.jar" /> |
| <zipfileset src="${gwt.tools.lib}/apache/james/apache-mime4j-0.6.jar" /> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-codec-1.8.jar" /> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-io-2.4.jar" /> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-lang3-3.1.jar" /> |
| <zipfileset src="${gwt.tools.lib}/apache/commons/commons-logging-1.1.3.jar" /> |
| <zipfileset src="${gwt.tools.lib}/cssparser/cssparser-0.9.11.jar" /> |
| <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-2.13/htmlunit-2.13.jar" /> |
| <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-2.13/htmlunit-core-js-2.13.jar" /> |
| <zipfileset src="${gwt.tools.lib}/nekohtml/nekohtml-1.9.19.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}/sun/swingworker/swing-worker-1.1.jar" /> |
| <zipfileset src="${gwt.tools.redist}/json/r2_20080312/json-1.5.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/asm/**"/> |
| <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}/apache/commons/commons-collections-3.2.1.jar" /> |
| <pathelement location="${gwt.tools.lib}/eclipse/org.eclipse.jdt.core_3.8.3.v20130121-145325.jar" /> |
| <pathelement location="${gwt.tools.lib}/eclipse/jdtCompilerAdapter-3.8.3.v20130121-145325.jar" /> |
| <pathelement location="${gwt.tools.lib}/guava/guava-16.0.1/guava-16.0.1-rebased.jar" /> |
| <pathelement location="${gwt.tools.lib}/jscomp/20131014/compiler-rebased.jar" /> |
| <pathelement location="${gwt.tools.lib}/jscomp/20131014/sourcemap-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" 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/asm/**/*.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> |
| </gwt.checkstyle> |
| |
| <gwt.checkstyle> |
| <fileset dir="core/super/com/google/gwt/dev/jjs/intrinsic" /> |
| </gwt.checkstyle> |
| |
| </target> |
| |
| <target name="test" depends="build, compile.tests" 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}" |
| 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/" /> |
| </extraclasspaths> |
| </gwt.junit> |
| </target> |
| |
| <property.ensure name="gwt.tools.soyc" location="${gwt.root}/tools/soyc-vis" /> |
| <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 --> |
| </fileset> |
| <fileset dir="core/super" excludes="**/package.html" /> |
| <fileset dir="${javac.out}" /> |
| <fileset dir="${project.build}/bin" /> |
| <fileset file="${project.build}/alldeps.jar" /> |
| <fileset file="${gwt.tools.soyc}/classLevel.css"/> |
| <fileset file="${gwt.tools.soyc}/roundedCorners.css"/> |
| </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 --> |
| </fileset> |
| <fileset dir="core/super" excludes="**/package.html" /> |
| <fileset dir="${javac.out}" /> |
| <zipfileset src="${alldeps.jar}" /> |
| |
| <zipfileset file="${gwt.tools.soyc}/classLevel.css" prefix="com/google/gwt/soyc/resources/"/> |
| <zipfileset file="${gwt.tools.soyc}/roundedCorners.css" prefix="com/google/gwt/soyc/resources/"/> |
| |
| <manifest> |
| <attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" /> |
| </manifest> |
| </gwt.jar> |
| </sequential> |
| </outofdate> |
| </target> |
| </project> |