blob: bcc6f13c587de2ddbd86ee8027659217a21b7c0b [file] [log] [blame]
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +00001<project name="dev-core" default="build" basedir=".">
fabbott@google.com0e2dc6282008-08-22 16:09:01 +00002 <property name="gwt.root" location="../.." />
3 <property name="project.tail" value="dev/core" />
4 <import file="${gwt.root}/common.ant.xml" />
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +00005
fabbott@google.com0e2dc6282008-08-22 16:09:01 +00006 <property name="alldeps.jar" location="${project.build}/alldeps.jar" />
gwt.team.scottbc4700b82006-12-12 11:23:41 +00007
fabbott@google.com0e2dc6282008-08-22 16:09:01 +00008 <fileset id="default.tests" dir="${javac.junit.out}">
9 <include name="**/*Test.class" />
10 </fileset>
gwt.team.scottb86357042007-03-09 08:00:14 +000011
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000012 <target name="compile.tests" depends="build" description="Compiles the test code for this project">
13 <mkdir dir="${javac.junit.out}" />
14 <gwt.javac srcdir="test" destdir="${javac.junit.out}">
15 <classpath>
16 <pathelement location="${javac.out}" />
17 <pathelement location="${alldeps.jar}" />
18 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
19 </classpath>
20 </gwt.javac>
21 </target>
gwt.team.scottb86357042007-03-09 08:00:14 +000022
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000023 <target name="build.alldeps.jar" description="Merges all dependency jars into a single jar">
24 <mkdir dir="${project.build}" />
25 <gwt.jar destfile="${alldeps.jar}">
26 <zipfileset src="${gwt.tools.lib}/apache/tapestry-util-text-4.0.2.jar" />
27 <zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
28 <zipfileset src="${gwt.tools.lib}/eclipse/jdt-3.3.1.jar" />
29 <zipfileset src="${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar" />
30 <zipfileset src="${gwt.tools.lib}/tomcat/catalina-1.0.jar" />
31 <zipfileset src="${gwt.tools.lib}/tomcat/catalina-optional-1.0.jar" />
32 <zipfileset src="${gwt.tools.lib}/tomcat/commons-beanutils-1.6.jar" />
33 <zipfileset src="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
34 <zipfileset src="${gwt.tools.lib}/tomcat/commons-digester-1.5.jar" />
35 <zipfileset src="${gwt.tools.lib}/tomcat/commons-el-1.0.jar" />
36 <zipfileset src="${gwt.tools.lib}/tomcat/commons-logging-1.0.jar" />
37 <zipfileset src="${gwt.tools.lib}/tomcat/commons-modeler-1.1.jar" />
38 <zipfileset src="${gwt.tools.lib}/tomcat/jakarta-regexp-1.3.jar" />
39 <zipfileset src="${gwt.tools.lib}/tomcat/jasper-compiler-1.0.jar" />
40 <zipfileset src="${gwt.tools.lib}/tomcat/jasper-runtime-1.0.jar" />
41 <zipfileset src="${gwt.tools.lib}/tomcat/jsp-api-2.0.jar" />
42 <zipfileset src="${gwt.tools.lib}/tomcat/mx4j-jmx-1.1.jar" />
43 <zipfileset src="${gwt.tools.lib}/tomcat/naming-common-1.0.jar" />
44 <zipfileset src="${gwt.tools.lib}/tomcat/naming-factory-1.0.jar" />
45 <zipfileset src="${gwt.tools.lib}/tomcat/naming-java-1.0.jar" />
46 <zipfileset src="${gwt.tools.lib}/tomcat/naming-resources-1.0.jar" />
47 <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
48 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-common-1.0.jar" />
49 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-default-1.0.jar" />
50 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-invoker-1.0.jar" />
51 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-coyote-1.0.jar" />
52 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-http11-1.0.jar" />
53 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-jk2-2.1.jar" />
54 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-util-5.1.jar" />
55 </gwt.jar>
56 </target>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +000057
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000058 <property name="filter.pattern" value="com/google/gwt/dev/About.properties" />
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +000059
fabbott@google.com3b1edcc2008-09-11 03:19:19 +000060 <target name="-filter.props" description="Creates filtered About.properties with version info"
61 unless="filter.uptodate">
62 <gwt.revfilter todir="${javac.out}">
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000063 <fileset dir="src" includes="${filter.pattern}" />
64 </gwt.revfilter>
fabbott@google.com3b1edcc2008-09-11 03:19:19 +000065 <touch file="${filter.sentinel}" />
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000066 </target>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +000067
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000068 <target name="build" depends="build.alldeps.jar" description="Compiles this project">
69 <!--
70 There are classes missing from dev/core that are necessary
71 to compile the rest of dev/core (e.g. BootStrapPlatform); these are
72 provided by each platform implementation, but in order to compile the
73 core standalone, we need a dummy version of the class to build against.
74 -->
75 <property name="javac.out-dummy" location="${project.build}/bin-dummy" />
76 <mkdir dir="${javac.out-dummy}" />
77 <gwt.javac srcdir="src-dummy" destdir="${javac.out-dummy}" />
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +000078
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000079 <mkdir dir="${javac.out}" />
80 <gwt.javac srcdir="super" excludes="com/google/gwt/dev/jjs/intrinsic/"/>
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000081 <gwt.javac srcdir="src" excludes="${filter.pattern}">
82 <classpath>
83 <pathelement location="${javac.out-dummy}" />
84 <pathelement location="${alldeps.jar}" />
85 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
86 <!-- Must build against a version of SWT; just pick one -->
87 <pathelement location="${gwt.tools.lib}/eclipse/org.eclipse.swt.gtk-linux-3.2.1.jar" />
88 </classpath>
89 </gwt.javac>
90 <copy todir="${javac.out}">
fabbott@google.com3b1edcc2008-09-11 03:19:19 +000091 <fileset dir="src" includes="**/*.properties" excludes="${filter.pattern}"/>
92 </copy>
93
94 <!-- Files with hardcoded version information must be filtered -->
95 <gwt.getsvninfo />
96 <condition property="filter.uptodate">
97 <and>
98 <available file="${filter.sentinel}" />
99 <uptodate>
100 <srcfiles dir="src" includes="${filter.pattern}" />
101 <globmapper from="*" to="${javac.out}/*" />
102 </uptodate>
103 </and>
104 </condition>
105 <antcall target="-filter.props" />
fabbott@google.com0e2dc6282008-08-22 16:09:01 +0000106 </target>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +0000107
fabbott@google.com0e2dc6282008-08-22 16:09:01 +0000108 <target name="checkstyle" description="Static analysis of source">
109 <gwt.checkstyle>
110 <fileset dir="src">
111 <filename name="com/google/gwt/dev/asm/**/*.java" negate="yes" />
112 <filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes" />
113 <filename name="org/eclipse/**/*.java" negate="yes" />
114 <filename name="org/apache/**/*.java" negate="yes" />
115 </fileset>
116 </gwt.checkstyle>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +0000117
fabbott@google.com0e2dc6282008-08-22 16:09:01 +0000118 <gwt.checkstyle>
119 <fileset dir="super/com/google/gwt/dev/jjs/intrinsic" />
120 </gwt.checkstyle>
121 </target>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +0000122
fabbott@google.com0e2dc6282008-08-22 16:09:01 +0000123 <target name="test" depends="build, compile.tests" description="Run unit tests for this project.">
124 <!-- TODO: refactor gwt.junit so it can be reused here -->
125 <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">
126 <classpath>
127 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
128 <pathelement location="${gwt.tools.antlib}/ant-junit-1.6.5.jar" />
129 </classpath>
130 </taskdef>
131
132 <echo message="Writing test results to ${junit.out}/reports for ${test.cases}" />
133 <mkdir dir="${junit.out}/reports" />
134
135 <echo message="${javac.out} ${javac.junit.out}" />
136 <junit dir="${junit.out}" fork="yes" printsummary="yes" haltonfailure="true">
137 <classpath>
138 <pathelement location="test" />
139 <pathelement location="${javac.junit.out}" />
140 <pathelement location="${javac.out}" />
141 <pathelement location="${alldeps.jar}" />
142 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
143 <!-- Pull in gwt-dev and gwt-user sources for .gwt.xml files -->
144 <pathelement location="${gwt.root}/user/src/" />
145 <pathelement location="${gwt.root}/user/super/" />
146 <pathelement location="${gwt.root}/dev/core/super" />
147 </classpath>
148
149 <formatter type="plain" />
150 <formatter type="xml" />
151
152 <batchtest todir="${junit.out}/reports">
153 <fileset refid="default.tests" />
154 </batchtest>
155 </junit>
156 </target>
gwt.team.scottb86357042007-03-09 08:00:14 +0000157
fabbott@google.com0e2dc6282008-08-22 16:09:01 +0000158 <target name="clean" description="Cleans this project's intermediate and output files">
159 <delete dir="${project.build}" />
160 <delete file="${project.lib}" />
161 </target>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +0000162</project>