<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>
<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_`
</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 name="staging">
+ <property name="staging-flag" value="-Dstaging"/>
+ <property name="host" value="xwt-staging.org"/>
+ <antcall target="really-push"/>
</target>
- <target name="push" depends="compile,compile-server">
- <bash>
+ <target name="production">
+ <antcall target="genjavadoc"/>
+ <antcall target="genjavasrc"/>
+ <property name="staging-flag" value=""/>
+ <property name="host" value="xwt.org"/>
+ <antcall target="really-push"/>
+ </target>
- find www/html -name \*~ | xargs rm -f
+ <target name="newbuild" depends="compile">
+ <taskdef name="build-id" classname="org.xwt.tasks.BuildIdTask">
+ <classpath path="bin/"/>
+ </taskdef>
+ <build-id/>
+ <bash> cvs commit -m "automatically updated build-id via org.xwt.tasks.BuildIdTask" build.properties </bash>
+ <property file="build.properties"/>
+
+ <mkdir dir="www/html/dist/"/>
- # 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
+ <!-- rebuild distributions -->
+ <property name="plat" value="Win32"/>
+ <ant dir="." antfile="src/org/xwt/plat/Win32.xml" target="build"/>
+ <ant dir="." antfile="src/org/xwt/plat/Win32.xml" target="dist"/>
+ <property name="plat" value="Java2"/>
+ <ant dir="." antfile="src/org/xwt/plat/Java12.xml" target="build"/>
+ <ant dir="." antfile="src/org/xwt/plat/Java12.xml" target="dist"/>
+
+ <!-- sign stuff -->
+ <bash> /home/megacz/bin/sign/sign ${build-id} </bash>
+ </target>
+
+ <!-- required packages: bind, apache, libapache-mod-ssl, libapache-mod-jk, sshd, rsync, j2sdk, tomcat, gnuchess -->
+ <target name="really-push" depends="compile,www">
+
+ <!-- update demo xwars -->
+ <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"/>
- # 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)
+ <mkdir dir="www/webapps/classes/"/>
+ <copy todir="www/webapps/classes/">
+ <fileset dir="bin/" includes="org/xwt/server/**"/>
+ </copy>
+ <bash host="root@${host}">
# 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"
+ rm -rf /xwt-new
+ mkdir -p /xwt
+ mkdir -p /xwt-new
+ cd /xwt
+ tar cf - . | tar xf - -C /xwt-new
+ </bash>
+
+ <bash>
+ # tidy up and rsync our changes
+ find www/html -name \*~ | xargs rm -f
+ rsync -Pv --delete --exclude=html/dist/\* -rze ssh www/ root@${host}:/xwt-new/www/
+ rsync -u -Pv -rze ssh www/html/dist/ root@${host}:/xwt-new/www/html/dist/
+ </bash>
- # now, rsync to process our changes
- rsync -Pv --delete -rze ssh www/ root@xwt.org:/xwt-new/www/
+ <bash host="root@${host}">
+ # stop services
+ /sbin/start-stop-daemon --stop --pidfile /var/log/xwt/apache.pid --exec /usr/sbin/apache
+ /sbin/start-stop-daemon --stop --pidfile /var/log/xwt/tomcat.pid --user www-data
- # clean up generated html
- cat /tmp/delete-$$ | xargs rm
- rm -f /tmp/delete-$$
+ rm -rf /xwt-old
+ mv /xwt /xwt-old
+ mv /xwt-new /xwt
+
+ mkdir /var/log/xwt &>/dev/null
+ chown www-data /var/log/xwt/
+
+ ln -s /xwt/www/webapps /xwt/www/webapps/ROOT
+ ln -s /xwt/www/webapps /xwt/www/webapps/WEB-INF
+ ln -s /xwt/www/launch /xwt/www/launch/ROOT
+ ln -s /xwt/www/launch /xwt/www/launch/WEB-INF
- # 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"
+ export JAVA_HOME=/usr/lib/j2sdk1.3
+ export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar:/usr/share/tomcat/classes:/usr/share/tomcat/lib/tomcat.jar
+
+ touch /var/log/xwt/tomcat.log
+ chown www-data /var/log/xwt/tomcat.log
+
+ test ${host} == "xwt-staging.org" && echo -e "User-agent: *\nDisallow: /\n" > /xwt/www/html/robots.txt
+
+ /sbin/start-stop-daemon \
+ --start --pidfile /var/log/xwt/tomcat.pid --make-pidfile --chuid www-data --exec \
+ /usr/lib/j2sdk1.3/bin/java -- -server -Dtomcat.home=/usr/share/tomcat -Xmx500M \
+ org.apache.tomcat.startup.Main -config /xwt/www/etc/server.xml start \
+ >> /var/log/xwt/tomcat.log 2>&1 &
+
+ /sbin/start-stop-daemon --start --pidfile /var/log/xwt/apache.pid --exec /usr/sbin/apache -- -f /xwt/www/etc/httpd.conf ${staging-flag}
</bash>
</target>
+
</project>