I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
custom_rules.xml 4.46 KiB
<?xml version="1.0" encoding="UTF-8"?>
<project name="routerjars">

    <!-- override with i2psrc=path/to/source in local.properties -->
    <property name="i2psrc" value="../../i2p.i2p" />
    <property name="i2pbase" location="${i2psrc}" />
    <available file="${i2pbase}" property="i2p.present" />
    <fail message="I2P source directory ${i2pbase} was not found. Install it there or set i2psrc=/path/to/source in local.properties" >
        <condition>
            <not>
                <isset property="i2p.present" />
            </not>
        </condition>
    </fail>
    <echo message="Using I2P source at ${i2pbase}" />

    <!-- this loads my.version.code and my.version.name -->
    <property file="../scripts/version.properties" />
    <property name="version.code" value="${my.version.code}" />
    <property name="version.name" value="${my.version.name}" />
    <echo message="version.code '${version.code}', 'version.name '${version.name}', '${my.version.name}'" />

    <target name="-pre-compile" depends="jbigi, buildrouter" />

    <!--
         Creates the output directories if they don't exist yet.
    -->
    <target name="-dirs">
        <echo>Creating output directories if needed...</echo>
        <mkdir dir="${resource.absolute.dir}" />
        <mkdir dir="${gen.absolute.dir}" />
        <mkdir dir="${out.absolute.dir}" />
        <mkdir dir="${out.classes.absolute.dir}" />
    </target>

    <target name="-pre-clean">
    </target>

    <!-- new rules -->


    <available property="have.router" file="${i2pbase}/build/router.jar" />
    <available property="have.bob" file="${i2pbase}/apps/BOB/dist/BOB.jar" />
    <available property="have.i2ptunnel" file="${i2pbase}/apps/i2ptunnel/java/build/i2ptunnel.jar" />
    <available property="have.addressbook" file="${i2pbase}/apps/addressbook/dist/addressbook.jar" />

    <target name="buildRouter" unless="have.router">
        <ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildRouter" />
    </target>

    <target name="buildI2PTunnelJar" unless="have.i2ptunnel">
        <ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildI2PTunnelJar" />
    </target>
    <target name="buildAddressbook" unless="have.addressbook">
        <ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildAddressbookJar" />
    </target>

    <target name="buildBOB" unless="have.bob">
        <ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildBOB" />
    </target>

    <target name="buildrouter" depends="-dirs, buildRouter, buildI2PTunnelJar, buildAddressbook, buildBOB">

        <!-- router -->
        <copy file="${i2pbase}/build/router.jar" todir="${jar.libs.dir}" />

        <!-- bob -->
        <copy file="${i2pbase}/apps/BOB/dist/BOB.jar" todir="${jar.libs.dir}" />
        <!-- core -->
        <!-- lots of unneeded stuff could be deleted here -->
        <jar destfile="${jar.libs.dir}/i2p.jar" >
            <zipfileset src="${i2pbase}/build/i2p.jar" >
                <exclude name="net/i2p/util/LogWriter.class" />
                <exclude name="net/i2p/util/SecureDirectory.class" />
                <exclude name="net/i2p/util/SecureFile.class" />
                <exclude name="net/i2p/util/SecureFileOutputStream.class" />
            </zipfileset>
        </jar>

        <!-- i2ptunnel -->
        <copy file="${i2pbase}/apps/ministreaming/java/build/mstreaming.jar" todir="${jar.libs.dir}" />
        <copy file="${i2pbase}/apps/streaming/java/build/streaming.jar" todir="${jar.libs.dir}" />
        <jar destfile="${jar.libs.dir}/i2ptunnel.jar" >
            <zipfileset src="${i2pbase}/apps/i2ptunnel/java/build/i2ptunnel.jar" >
                <exclude name="net/i2p/i2ptunnel/I2PTunnelGUI.class" />
            </zipfileset>
        </jar>

        <!-- addressbook -->
        <copy file="${i2pbase}/apps/addressbook/dist/addressbook.jar" todir="${jar.libs.dir}" />

    </target>

    <target name="jbigi" >
        <exec executable="sh" osfamily="unix" failonerror="true">
            <arg value="-c" />
            <arg value="jni/build.sh ${i2pbase}" />
        </exec>
        <copy file="jni/libjbigi.so" todir="${jar.libs.dir}/armeabi" />
    </target>

    <target name="distclean" depends="clean">
        <delete dir="${jar.libs.dir}" verbose="${verbose}" />
        <delete dir="jni/build/" verbose="${verbose}" />
        <delete file="AndroidManifest.xml" verbose="${verbose}" />
        <ant dir="${i2pbase}" target="distclean" />
    </target>

</project>