forked from I2P_Developers/i2p.i2p
128 lines
5.2 KiB
XML
128 lines
5.2 KiB
XML
![]() |
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<project basedir="." default="build" name="fortuna-pbuild">
|
||
|
|
||
|
<property name="gnucrypt.base.dir" value="./working/gnu-crypto" />
|
||
|
<property name="gnucrypt.etc.dir" value="${gnucrypt.base.dir}/etc" />
|
||
|
<property name="gnucrypt.lib.dir" value="${gnucrypt.base.dir}/lib" />
|
||
|
<property name="gnucrypt.object.dir" value="${gnucrypt.base.dir}/classes" />
|
||
|
<property name="gnucrypt.base.crypto.object.dir" value="${gnucrypt.object.dir}/gnu/crypto" />
|
||
|
<property name="gnucrypt.cipher.object.dir" value="${gnucrypt.base.crypto.object.dir}/cipher" />
|
||
|
<property name="gnucrypt.hash.object.dir" value="${gnucrypt.base.crypto.object.dir}/hash" />
|
||
|
<property name="gnucrypt.prng.object.dir" value="${gnucrypt.base.crypto.object.dir}/prng" />
|
||
|
|
||
|
<patternset id="fortuna.files">
|
||
|
<include name="${gnucrypt.base.crypto.object.dir}/Registry.class" />
|
||
|
<include name="${gnucrypt.prng.object.dir}/Fortuna*.class" />
|
||
|
<include name="${gnucrypt.prng.object.dir}/BasePRNG.class" />
|
||
|
<include name="${gnucrypt.prng.object.dir}/RandomEventListener.class" />
|
||
|
<include name="${gnucrypt.prng.object.dir}/IRandom.class" />
|
||
|
<include name="${gnucrypt.cipher.object.dir}/CipherFactory.class" />
|
||
|
<include name="${gnucrypt.cipher.object.dir}/IBlockCipher.class" />
|
||
|
<include name="${gnucrypt.hash.object.dir}/HashFactory.class" />
|
||
|
<include name="${gnucrypt.hash.object.dir}/IMessageDigest.class" />
|
||
|
</patternset>
|
||
|
|
||
|
<!--
|
||
|
Add this when Fortuna tests are added to GNU Crypto, else write some
|
||
|
-->
|
||
|
<target name="-test" />
|
||
|
|
||
|
<!-- ....................... Begin Public Interface ........................ -->
|
||
|
|
||
|
<!--
|
||
|
When this target is called, the pbuild's sources and/or binaries have
|
||
|
already been extracted/copied by Pants into the pbuild's working/
|
||
|
subdirectory. This target must prepare those sources and/or binaries in
|
||
|
the working/ subdirectory into deployable form, for example by building
|
||
|
all necessary classes and jar files.
|
||
|
|
||
|
This target must not create or modify any files outside the pbuild's
|
||
|
working/ subdirectory. (An automatic sandboxing mechanism should be added
|
||
|
to Pants at some point.) It is however acceptable for a task called by
|
||
|
'builddep' to modify files outside of this pbuild's working/ directory.
|
||
|
-->
|
||
|
<target name="build" depends="builddep">
|
||
|
<delete dir="./working/build" />
|
||
|
<delete dir="./working/jartemp" />
|
||
|
<mkdir dir="./working/build" />
|
||
|
<mkdir dir="./working/jartemp/${gnucrypt.object.dir}" />
|
||
|
<copy todir="./working/jartemp">
|
||
|
<fileset dir=".">
|
||
|
<patternset refid="fortuna.files" />
|
||
|
</fileset>
|
||
|
</copy>
|
||
|
<jar basedir="./working/jartemp/${gnucrypt.object.dir}" jarfile="./working/build/fortuna.jar">
|
||
|
<manifest>
|
||
|
<section name="fortuna">
|
||
|
<attribute name="Implementation-Title" value="I2P Custom GNU Crypto Fortuna Library" />
|
||
|
<attribute name="Implementation-Version" value="CVS HEAD" />
|
||
|
<attribute name="Implementation-Vendor" value="Free Software Foundation" />
|
||
|
<attribute name="Implementation-Vendor-Id" value="FSF" />
|
||
|
<attribute name="Implementation-URL" value="http://www.gnu.org/software/gnu-crypto" />
|
||
|
</section>
|
||
|
</manifest>
|
||
|
</jar>
|
||
|
<delete dir="./working/jartemp" />
|
||
|
</target>
|
||
|
|
||
|
<!--
|
||
|
Use this to call targets from other pbuilds, Ant buildfiles, Makefiles,
|
||
|
etc. which perform tasks this pbuild's 'build' target depends on. If other
|
||
|
pbuilds are called here, they must be called through the Pants interface
|
||
|
or else it may leave Pants in an inconsistent state.
|
||
|
|
||
|
Most pbuilds probably won't need to implement this target.
|
||
|
-->
|
||
|
<target name="builddep">
|
||
|
<ant dir="${gnucrypt.base.dir}" target="jar" />
|
||
|
</target>
|
||
|
|
||
|
<!--
|
||
|
This target must undo the actions performed by the 'build' target.
|
||
|
-->
|
||
|
<target name="clean" depends="depclean">
|
||
|
<delete dir="./working/jartemp" />
|
||
|
</target>
|
||
|
|
||
|
<!--
|
||
|
If the 'builddep' target is implemented, this target must be implemented
|
||
|
to undo its actions.
|
||
|
-->
|
||
|
<target name="depclean">
|
||
|
<!--
|
||
|
Annoyingly the GNU Crypto distclean task called here doesn't clean
|
||
|
*all* derived files from java/gnu-crypto/lib like it should (because
|
||
|
a couple of lines are commented out).....
|
||
|
-->
|
||
|
<ant dir="${gnucrypt.base.dir}" target="distclean" />
|
||
|
<!--
|
||
|
.....and so we mop up the rest ourselves.
|
||
|
-->
|
||
|
<delete dir="${gnucrypt.lib.dir}" />
|
||
|
</target>
|
||
|
|
||
|
<!--
|
||
|
This target must copy all deployable files generated by the 'build' target
|
||
|
into the pbuild's dist/ subdirectory (for use by other pbuilds or Ant
|
||
|
processes) or to their final deployment locations outside the pants/
|
||
|
directory hierarchy. Note that the latter may require the user to gain
|
||
|
superuser/admin privileges.
|
||
|
-->
|
||
|
<target name="dist" depends="build">
|
||
|
<copy todir="./dist/fortuna.jar" file="./working/build/fortuna.jar" />
|
||
|
</target>
|
||
|
|
||
|
<!--
|
||
|
This target must remove all files from the pbuild's dist/ subdirectory
|
||
|
and final deployment locations, reversing the actions of the 'dist'
|
||
|
target. Note that removal of files from their final deployment locations
|
||
|
may require the user to gain superuser/admin privileges.
|
||
|
-->
|
||
|
<target name="distclean" depends="clean">
|
||
|
<delete file="./dist/fortuna.jar" />
|
||
|
</target>
|
||
|
|
||
|
<!-- ........................ End Public Interface ......................... -->
|
||
|
|
||
|
</project>
|