<project>
<property name="src" value="./src" />
<property name="alien.src" value="./alien/src" />
<property name="alien.libs" value="./alien/libs" />
<property name="classes" value="./build/classes" />
<property name="jars" value="./build/jar" />
<target name="clean">
<delete dir="${jars}"/>
<delete dir="${classes}"/>
</target>
<!-- Build external dependencies from source, but keep them separate. -->
<target name="compile.alien.src">
<mkdir dir="${classes}"/>
<javac srcdir="${alien.src}" destdir="${classes}" debug="true">
<compilerarg line="-encoding utf8"/>
</javac>
</target>
<target name="compile" depends="compile.alien.src">
<mkdir dir="${classes}"/>
<mkdir dir="${alien.libs}"/>
<fail message="No freenet.jar! Copy freenet.jar into: ${alien.libs}">
<condition>
<not>
<resourcecount count="1">
<fileset id="fs" dir="${alien.libs}" includes="freenet.jar"/>
</resourcecount>
</not>
</condition>
</fail>
<javac srcdir="${src}" destdir="${classes}" debug="true">
<compilerarg line="-encoding utf8"/>
<classpath>
<pathelement location="${alien.libs}/freenet.jar"/>
</classpath>
</javac>
</target>
<!-- jfniki.jar contains both standalone and plugin code too. -->
<target name="jar" depends="compile">
<mkdir dir="${jars}"/>
<jar destfile="${jars}/jfniki.jar" basedir="${classes}">
<manifest>
<attribute name="Main-Class" value="fniki.standalone.ServeHttp"/>
<attribute name="Plugin-Main-Class" value="fniki.freenet.plugin.Fniki"/>
</manifest>
</jar>
</target>
<target name="run" depends="jar">
<java jar="${jars}/jfniki.jar" fork="true"/>
</target>
</project>