Ant , hvad er det ?
HeyJeg har gang i et projekt, med at kode en mp3 afspiller i java,
til lyden vil jeg bruge FMOD (www.fmod.org) eller rettere en udgave konverteret med JavaHPP.
Det eneste eksempel der er med er sådan en xml-fil her:
Kode:
===========================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
Ant Project to deploy FMOD Samples as Java Webstart (aka JNLP) Apps
-->
<project basedir="." default="all" name="FMOD Java JNLP Deployment">
<!--
*******************************************************************
important project properties
*******************************************************************
-->
<property name="destdir" location="./out"/>
<property name="fmodjava.version" value="1.0"/>
<!-- location of FMOD Java compiled classes -->
<property name="fmodjava.jar" location="../libs/fmodjava.jar"/>
<!-- location of Windows FMOD Java runtime DLL -->
<property name="fmodjava.win.dll" location="../libs/fmodjava.dll"/>
<!-- where the actual FMOD DLL is located for Windows runtime -->
<property name="fmod.win.dll" location="../libs/fmod.dll"/>
<!-- location of Mac OS X FMOD Java runtime DLL -->
<property name="fmodjava.mac.dll" location="../libs/libfmodjava.jnilib"/>
<!-- if true, the <signjar> task will be verbose -->
<property name="sign.verbose" value="true"/>
<!-- keystore alias for key used to sign jars -->
<property name="sign.alias" value="pointy fmod key"/>
<!-- keystore password for key used to sign jars -->
<property name="sign.keypass" value="123fmod"/>
<!-- password for keystore itself -->
<property name="sign.storepass" value="coalface!123keystore"/>
<property name="fmodjava.codebase" value="http://coalface2.private.net/opensource/fmodjava"/>
<property name="fmodjava.href" value="http://coalface2.private.net/opensource/fmodjava"/>
<!--
*******************************************************************
project targets
*******************************************************************
-->
<target name="all" depends="jarlibs,signlibs,copysrc"/>
<target name="do_timestamp"><tstamp/><echoproperties prefix="ant"/></target>
<!--
*******************************************************************
(1) jar together the FMOD classes and the Javahpp runtime stuff.
*******************************************************************
-->
<target name="jarlibs" depends="do_timestamp">
<jar destfile="${destdir}/fmodjava.unsigned.jar" compress="true" update="false" index="true">
<!-- the FMOD Java runtime stuff -->
<zipfileset src="${fmodjava.jar}" includes="**/*.*"/>
<!-- make the manifest automagically, sealing all but example packages -->
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Implementation-Version" value="${fmodjava.version} ${TODAY}"/>
<attribute name="Sealed" value="true"/>
<section name="org/fmod/examples">
<attribute name="Sealed" value="false"/>
</section>
</manifest>
</jar>
<!--
*******************************************************************
(2) jar the native libraries for the various platforms
*******************************************************************
-->
<echo message="fmod dll is at : ${fmod.win.dll}"/>
<echo message="fmodjava dll is at : ${fmodjava.win.dll}"/>
<echo message="fmodjava jnilib is at : ${fmodjava.mac.dll}"/>
<jar destfile="${destdir}/fmodjavalibs-win.unsigned.jar" compress="true" update="false">
<fileset file="${fmod.win.dll}"/>
<fileset file="${fmodjava.win.dll}"/>
</jar>
<jar destfile="${destdir}/fmodjavalibs-mac.unsigned.jar" compress="true" update="false">
<fileset file="${fmodjava.mac.dll}"/>
</jar>
</target>
<!--
*******************************************************************
(3) use SignJar - to sign the deployment jar files.
*******************************************************************
-->
<target name="signlibs" depends="jarlibs">
<signjar jar="${destdir}/fmodjava.unsigned.jar" signedjar="${destdir}/fmodjava.jar" alias="${sign.alias}" keypass="${sign.keypass}" storepass="${sign.storepass}" verbose="${sign.verbose}"/>
<signjar jar="${destdir}/fmodjavalibs-win.unsigned.jar" signedjar="${destdir}/fmodjavalibs-win.jar" alias="${sign.alias}" keypass="${sign.keypass}" storepass="${sign.storepass}" verbose="${sign.verbose}"/>
<signjar jar="${destdir}/fmodjavalibs-mac.unsigned.jar" signedjar="${destdir}/fmodjavalibs-mac.jar" alias="${sign.alias}" keypass="${sign.keypass}" storepass="${sign.storepass}" verbose="${sign.verbose}"/>
<delete file="${destdir}/fmodjava.unsigned.jar" failonerror="false"/>
<delete file="${destdir}/fmodjavalibs-win.unsigned.jar" failonerror="false"/>
<delete file="${destdir}/fmodjavalibs-mac.unsigned.jar" failonerror="false"/>
</target>
<target name="copysrc">
<copy todir="${destdir}">
<fileset dir="./src"/>
</copy>
<!-- fix codebase and href properties in JNLP files -->
<replaceregexp match="JNLPCODEBASE" replace="${fmodjava.codebase}">
<fileset dir="${destdir}" includes="*.jnlp" />
</replaceregexp>
<replaceregexp match="JNLPHREF" replace="${fmodjava.href}">
<fileset dir="${destdir}" includes="*.jnlp" />
</replaceregexp>
</target>
</project>
===========================================
Det jeg undre mig over er:
"Ant Project to deploy FMOD Samples as Java Webstart (aka JNLP) Apps"
Hvad er Ant for noget , og hvad bruges det til ?
Har kigget lidt på suns sider, men kan ikke så godt forstå ideen i det.
