blob: 931f0307b59e5b7eb192542358013c6e0ea61efa [file] [log] [blame]
<project name="dev-common">
<property name="gwt.root" location="../.." />
<import file="${gwt.root}/common.ant.xml" />
<property.ensure name="gwt.core.root" location="../core" />
<property.ensure name="gwt.core.build" location="${project.build}/../core" />
<taskdef name="jarjar"
classname="com.tonicsystems.jarjar.JarJarTask" classpath="${gwt.tools.lib}/tonicsystems/jarjar-1.0rc8.jar"/>
<target name="compile" description="Compile all java files">
<mkdir dir="${javac.out}" />
<gwt.javac>
<classpath>
<pathelement location="${gwt.tools.lib}/eclipse/${gwt.dev.swt.jar}" />
<pathelement location="${gwt.core.build}/bin" />
<pathelement location="${gwt.core.build}/alldeps.jar" />
</classpath>
</gwt.javac>
</target>
<target name="build" depends="compile" description="Build and package this project">
<mkdir dir="${gwt.build.lib}" />
<!-- Use jar instead of gwt.jar here because gwt.jar fixes the destfile -->
<jar destfile="${project.lib.raw}" update="true" duplicate="preserve" index="true" >
<fileset dir="src" excludes="**/package.html"/>
<fileset dir="${gwt.core.root}/src">
<exclude name="**/package.html"/>
<exclude name="com/google/gwt/dev/About.properties"/>
</fileset>
<fileset dir="${gwt.core.root}/super" excludes="**/package.html" />
<fileset dir="${javac.out}" />
<fileset dir="${gwt.core.build}/bin" />
<zipfileset src="${gwt.tools.lib}/eclipse/${gwt.dev.swt.jar}" />
<zipfileset src="${gwt.core.build}/alldeps.jar" />
<manifest>
<attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />
</manifest>
</jar>
<outofdate>
<sourcefiles>
<fileset file="${project.lib.raw}" />
</sourcefiles>
<targetfiles path="${project.lib}" />
<sequential>
<jarjar destfile="${project.lib}">
<zipfileset src="${project.lib.raw}" />
<!-- Don't rename these packages, because they are actually supplied by external jars -->
<rule pattern="org.xml.**" result="@0" />
<rule pattern="org.w3c.**" result="@0" />
<rule pattern="org.omg.**" result="@0" />
<rule pattern="org.ietf.**" result="@0" />
<!-- Don't rename SWT, because it includes native methods -->
<rule pattern="org.eclipse.swt.**" result="@0" />
<!-- Don't rename tapestry, because it ends up broken. The problem is
that it computes class names throuh string operations in a way that
jarjar does not understand. -->
<rule pattern="org.apache.tapestry.**" result="@0" />
<!-- Put all other org.* packages under com.google.gwt.thirdparty -->
<rule pattern="org.**" result="com.google.gwt.thirdparty.@0" />
</jarjar>
</sequential>
</outofdate>
</target>
<target name="clean" description="Cleans this project's intermediate and output files">
<delete dir="${project.build}" failonerror="false" />
<delete file="${project.lib.raw}" failonerror="false" />
<delete file="${project.lib}" failonerror="false" />
</target>
</project>