136 lines
6.2 KiB
XML
136 lines
6.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project basedir="." default="all" name="i2psnark">
|
|
<target name="all" depends="clean, build" />
|
|
<target name="build" depends="builddep, jar, war" />
|
|
<target name="builddep">
|
|
<ant dir="../../jetty/" target="build" />
|
|
<ant dir="../../streaming/java/" target="build" />
|
|
<!-- streaming will build ministreaming and core -->
|
|
</target>
|
|
<condition property="depend.available">
|
|
<typefound name="depend" />
|
|
</condition>
|
|
<target name="depend" if="depend.available">
|
|
<depend
|
|
cache="../../../build"
|
|
srcdir="./src"
|
|
destdir="./build/obj" >
|
|
<!-- Depend on classes instead of jars where available -->
|
|
<classpath>
|
|
<pathelement location="../../../core/java/build/obj" />
|
|
<pathelement location="../../ministreaming/java/build/obj" />
|
|
<pathelement location="../../jetty/jettylib/org.mortbay.jetty.jar" />
|
|
<pathelement location="../../jetty/jettylib/javax.servlet.jar" />
|
|
</classpath>
|
|
</depend>
|
|
</target>
|
|
<property name="javac.compilerargs" value="" />
|
|
<target name="compile" depends="depend">
|
|
<mkdir dir="./build" />
|
|
<mkdir dir="./build/obj" />
|
|
<javac
|
|
srcdir="./src"
|
|
debug="true" deprecation="on" source="1.5" target="1.5"
|
|
destdir="./build/obj"
|
|
classpath="../../../core/java/build/i2p.jar:../../jetty/jettylib/org.mortbay.jetty.jar:../../jetty/jettylib/javax.servlet.jar:../../ministreaming/java/build/mstreaming.jar" >
|
|
<compilerarg line="${javac.compilerargs}" />
|
|
</javac>
|
|
</target>
|
|
<target name="jar" depends="builddep, compile, bundle">
|
|
<jar destfile="./build/i2psnark.jar" basedir="./build/obj" includes="**/*.class" excludes="**/I2PSnarkServlet*.class">
|
|
<manifest>
|
|
<attribute name="Main-Class" value="org.klomp.snark.Snark" />
|
|
<attribute name="Class-Path" value="i2p.jar mstreaming.jar streaming.jar" />
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
<!-- Ideally we would include
|
|
- only include the servlet, everything else is in the jar.
|
|
- However, the wrapper.config classpath in existing installs
|
|
- does not include i2psnark.jar.
|
|
- So we must continue to duplicate everything in the war.
|
|
<classes dir="./build/obj" includes="**/I2PSnarkServlet*.class" />
|
|
-->
|
|
<target name="war" depends="jar">
|
|
<war destfile="../i2psnark.war" webxml="../web.xml">
|
|
<classes dir="./build/obj" includes="**/*.class" excludes="**/RunStandalone.class" />
|
|
</war>
|
|
</target>
|
|
|
|
<target name="bundle" depends="compile">
|
|
<!-- Update the messages_*.po files.
|
|
We need to supply the bat file for windows, and then change the fail property to true -->
|
|
<exec executable="sh" osfamily="unix" failifexecutionfails="false" >
|
|
<arg value="./bundle-messages.sh" />
|
|
</exec>
|
|
<exec executable="sh" osfamily="mac" failifexecutionfails="false" >
|
|
<arg value="./bundle-messages.sh" />
|
|
</exec>
|
|
<exec executable="cmd" osfamily="windows" failifexecutionfails="false" >
|
|
<arg value="/c" />
|
|
<arg value="bundle-messages.bat" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="poupdate" depends="compile">
|
|
<!-- Update the messages_*.po files. -->
|
|
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
|
|
<arg value="./bundle-messages.sh" />
|
|
<arg value="-p" />
|
|
</exec>
|
|
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
|
|
<arg value="./bundle-messages.sh" />
|
|
<arg value="-p" />
|
|
</exec>
|
|
<exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
|
|
<arg value="/c" />
|
|
<arg value="bundle-messages.bat" />
|
|
<arg value="-p" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="standalone" depends="standalone_prep">
|
|
<zip destfile="i2psnark-standalone.zip">
|
|
<zipfileset dir="./dist/" prefix="i2psnark/" />
|
|
</zip>
|
|
</target>
|
|
<target name="standalone_prep" depends="war">
|
|
<delete dir="./dist" />
|
|
<mkdir dir="./dist" />
|
|
<copy file="../launch-i2psnark" todir="./dist/" />
|
|
<mkdir dir="./dist/webapps" />
|
|
<copy file="../i2psnark.war" tofile="./dist/webapps/i2psnark.war" />
|
|
<mkdir dir="./dist/lib" />
|
|
<copy file="./build/i2psnark.jar" tofile="./dist/lib/i2psnark.jar" />
|
|
<copy file="../../../core/java/build/i2p.jar" tofile="./dist/lib/i2p.jar" />
|
|
<copy file="../../jetty/jettylib/commons-el.jar" tofile="./dist/lib/commons-el.jar" />
|
|
<copy file="../../jetty/jettylib/commons-logging.jar" tofile="./dist/lib/commons-logging.jar" />
|
|
<copy file="../../jetty/jettylib/javax.servlet.jar" tofile="./dist/lib/javax.servlet.jar" />
|
|
<copy file="../../jetty/jettylib/org.mortbay.jetty.jar" tofile="./dist/lib/org.mortbay.jetty.jar" />
|
|
<copy file="../../jetty/jettylib/jasper-compiler.jar" tofile="./dist/lib/jasper-compiler.jar" />
|
|
<copy file="../../jetty/jettylib/jasper-runtime.jar" tofile="./dist/lib/jasper-runtime.jar" />
|
|
<copy file="../../ministreaming/java/build/mstreaming.jar" tofile="./dist/lib/mstreaming.jar" />
|
|
<copy file="../../streaming/java/build/streaming.jar" tofile="./dist/lib/streaming.jar" />
|
|
<copy file="../jetty-i2psnark.xml" tofile="./dist/jetty-i2psnark.xml" />
|
|
<copy file="../readme-standalone.txt" tofile="./dist/readme.txt" />
|
|
<mkdir dir="./dist/logs" />
|
|
|
|
<zip destfile="i2psnark-standalone.zip">
|
|
<zipfileset dir="./dist/" prefix="i2psnark/" />
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="clean">
|
|
<delete dir="./build" />
|
|
<delete file="../i2psnark.war" />
|
|
<delete file="./i2psnark-standalone.zip" />
|
|
<delete dir="./dist" />
|
|
</target>
|
|
<target name="cleandep" depends="clean">
|
|
<ant dir="../../ministreaming/java/" target="distclean" />
|
|
</target>
|
|
<target name="distclean" depends="clean">
|
|
<ant dir="../../ministreaming/java/" target="distclean" />
|
|
</target>
|
|
</project>
|