-<project name="xwt" default="run" basedir=".">
+<project name="xwt" default="compile" basedir=".">
<!-- required so that libgcj.jar doesn't interfere with non-gcj compilation -->
<property name="build.sysclasspath" value="first"/>
<property name="build.compiler" value="jikes"/>
<property environment="env"/>
- <!-- the hostname of a cygwin machine running sshd; used for .cab-signing and running Win32 binaries -->
- <property name="cygwin-host" value="vmware"/>
-
- <!-- a path on ${cygwin-host} which maps to the root of this XWT tree; usually exported from the build machine using samba -->
- <property name="cygwin-path" value="z:/xwt"/>
-
<!-- set up our classpath -->
<path id="classpath">
<pathelement path="${envCLASSPATH}"/>
<pathelement path="bin/"/>
- <fileset dir="www/webapps/lib">
- <include name="**/*.jar"/>
- </fileset>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
<!-- purges binaries we've built -->
<target name="clean">
- <bash>
- find . -name \*\~ | xargs rm -f
- find . -name \#\*\# | xargs rm -f
- rm -rf bin-* bin xwt/html/dist/
- </bash>
- </target>
-
- <!-- creates javadoc documentation -->
- <target name="genjavadoc" unless="javadoc_ok">
- <javadoc sourcepath="src" destdir="www/html/javadoc/" package="yes" protected="no" packagenames="org.xwt.*"/>
- </target>
-
- <!-- creates javasrc documentation -->
- <target name="genjavasrc" unless="javasrc_ok">
- <java classname="javasrc.app.JavaSrc" fork="yes">
- <classpath refid="classpath"/>
- <jvmarg value="-Doutdir=www/html/javasrc/"/>
- <arg value="src/org/xwt/"/>
- </java>
+ <delete quiet="true" dir="bin"/>
+ <delete quiet="true">
+ <fileset dir="./" casesensitive="yes" defaultexcludes="no">
+ <include name="bin-*"/>
+ <include name="**/*~"/>
+ <include name="**/#*#"/>
+ <exclude name="**/.#*"/>
+ <exclude name="**/%*%"/>
+ <exclude name="**/._*"/>
+ <exclude name="**/CVS"/>
+ <exclude name="**/CVS/**"/>
+ <exclude name="**/.cvsignore"/>
+ <exclude name="**/SCCS"/>
+ <exclude name="**/SCCS/**"/>
+ <exclude name="**/vssver.scc"/>
+ <exclude name="**/.svn"/>
+ <exclude name="**/.svn/**"/>
+ </fileset>
+ </delete>
</target>
<!-- compiles all .java files into .class files; all other tasks predepend on this since they need the <taskdef/>'s -->
<target name="compile">
<mkdir dir="bin/"/>
- <echo message="compiling .java -> .class"/>
+ <echo message="compiling .java -> .class [xwt]"/>
<javac destdir="bin/" deprecation="no">
<src path="src/"/>
<include name="**/*.java"/>
<classpath>
+
<!-- don't EVER include the following line anywhere else; it causes really bizarre errors -->
<pathelement location="${gcc-path}/share/libgcj.jar"/>
<path refid="classpath"/>
+
+ <!-- this is for people who don't have libgcj.jar -->
+ <pathelement location="lib/libgcj-minimal.jar"/>
+
</classpath>
</javac>
- <taskdef name="bash" classname="org.xwt.tasks.BashTask">
- <classpath path="bin/"/>
- </taskdef>
+ <echo message="updating .xwt -> .xwar"/>
+ <zip update="true" zipfile="bin/org/xwt/builtin.xwar" basedir="src" includes="org/xwt/builtin/*.png,org/xwt/builtin/*.xwt,org/xwt/builtin/*.xwf"/>
</target>
<target name="build" depends="compile">
- <mkdir dir="www/html/dist/"/>
<ant dir="." antfile="src/org/xwt/plat/${plat}.xml" target="build"/>
</target>
- <target name="dist" depends="compile,build">
-
- <mkdir dir="www/html/dist/"/>
-
- <zip update="true" zipfile="www/html/demo.xwar" basedir="src" includes="org/xwt/demo/**,xwt/standard/**,org/xwt/themes/**"/>
- <zip update="true" zipfile="www/html/demo.xwar" basedir="src/org/xwt/demo/" includes="main.xwt"/>
-
- <zip update="true" zipfile="www/html/chess.xwar" basedir="src" includes="org/xwt/chess/**,xwt/standard/**,org/xwt/themes/**"/>
- <zip update="true" zipfile="www/html/chess.xwar" basedir="src/org/xwt/chess/" includes="main.xwt"/>
-
- <zip update="true" zipfile="www/html/mail.xwar" basedir="src"
- includes="org/xwt/mail/**,xwt/standard/**,org/xwt/themes/**,org/gimp/tigert/**,org/xwt/fonts/**"
- excludes="org/xwt/mail/main.xwt"
- />
- <zip update="true" zipfile="www/html/mail.xwar" basedir="src/org/xwt/mail/" includes="main.xwt"/>
-
- <ant dir="." antfile="src/org/xwt/plat/${plat}.xml" target="dist"/>
-
- </target>
-
- <target name="run" depends="compile,build">
- <ant dir="." antfile="src/org/xwt/plat/${plat}.xml" target="run"/>
- </target>
-
- <!-- rebuild the www/ area -->
- <target name="www" depends="compile">
- <mkdir dir="www/html/javadoc/"/>
- <mkdir dir="www/html/javasrc/"/>
- <uptodate property="javadoc_ok" targetfile="www/html/javadoc/index.html">
- <srcfiles dir= "src/" includes="**/*.java"/>
- </uptodate>
- <uptodate property="javasrc_ok" targetfile="www/html/javasrc/index.html">
- <srcfiles dir= "src/" includes="**/*.java"/>
- </uptodate>
- <antcall target="genjavadoc"/>
- <antcall target="genjavasrc"/>
- <bash>
- # throw on the prefix/suffix where needed
- for A in `find www/html -name \*.html_`
- do (cat www/html/prefix.html; cat $A; cat www/html/suffix.html; cat "$A"_ 2>/dev/null; cat www/html/tagline.html) > `echo $A | sed s/_\$//g`
- done
- </bash>
- </target>
-
- <target name="compile-server">
- <mkdir dir="www/webapps/classes/"/>
- <mkdir dir="www/webapps/lib/"/>
- <javac destdir="www/webapps/classes/" deprecation="no">
- <src path="www/src/"/>
- <classpath refid="classpath"/>
- </javac>
- </target>
-
- <target name="push" depends="compile,compile-server">
- <bash>
-
- find www/html -name \*~ | xargs rm -f
-
- # throw on the prefix/suffix where needed
- rm -f /tmp/delete-$$
- for A in `find www/html -name \*.html_`
- do (cat www/html/prefix.html; cat $A; cat www/html/suffix.html; cat "$A"_ 2>/dev/null; cat www/html/tagline.html) > `echo $A | sed s/_\$//g`
- echo $A | sed s/_\$//g >> /tmp/delete-$$
- done
-
- # in theory, we should be able to slam a fully-functional
- # copy of the xwt server onto any debian machine with the
- # right packages preinstalled (roughly: bind, apache, libapache-mod-ssl
- # apache-ssl, sshd, rsync, j2sdk, tomcat)
-
- # first, clone the currently running copy of xwt, so we can use rsync to save bandwidth
- ssh root@xwt.org "rm -rf /xwt-new; mkdir -p /xwt; mkdir -p /xwt-new; cd /xwt; tar cf - . | tar xf - -C /xwt-new"
-
- # now, rsync to process our changes
- rsync -Pv --delete -rze ssh www/ root@xwt.org:/xwt-new/www/
-
- # clean up generated html
- cat /tmp/delete-$$ | xargs rm
- rm -f /tmp/delete-$$
-
- # stop services, clean up, transfer control, and restart services
- ssh root@xwt.org "chmod +x /xwt-new/www/bounce.sh; /xwt-new/www/bounce.sh"
- </bash>
- </target>
-
</project>
-
-
- <!-- old javago optimization code - - reintegrate at some point
- lib/javago.`uname` -threshold 300 -not-inline-constructor -not-use-invokespecial org/xwt/Box.class
- lib/javago.`uname` -threshold 300 -not-inline-constructor -not-use-invokespecial org/xwt/Box.class
- lib/javago.`uname` -threshold 200 -not-inline-constructor -not-use-invokespecial org/xwt/Surface.class
- lib/javago.`uname` -threshold 50 -not-inline-constructor -not-use-invokespecial org/xwt/GetPutHandler*
- lib/javago.`uname` -threshold 200 -not-inline-constructor -not-use-invokespecial org/xwt/util/DirtyList.class
- -->