crystal/build.xml
2025-03-07 20:27:46 -05:00

50 lines
1.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="buildcap" name="Crystal">
<description>
JavaCard Applet for the Kyber Post-Quantum-Cryptography Algorithm
</description>
<property name="JCSDK" value="./oracle_javacard_sdks/jc305u4_kit" />
<target name="clean">
<delete dir="build" />
</target>
<target name="check.sdk">
<condition property="jcsdk.exists">
<available file="${JCSDK}" type="dir" />
</condition>
</target>
<target name="check.tool">
<condition property="tool.exists">
<available file="tools" type="dir" />
</condition>
</target>
<target name="setup" depends="check.sdk" if="jcsdk.exists">
<mkdir dir="tools"/>
<get src="https://github.com/martinpaljak/ant-javacard/releases/download/v24.11.19/ant-javacard.jar" dest="tools" skipexisting="true"/>
<get src="https://github.com/martinpaljak/GlobalPlatformPro/releases/download/v24.10.15/gp.jar" dest="tools" skipexisting="true"/>
</target>
<target name="build" depends="clean,check.tool" if="tool.exists">
<!-- ant-javacard task from javacard.pro -->
<taskdef name="javacard" classname="pro.javacard.ant.JavaCard" classpath="tools/ant-javacard.jar" />
<javacard jckit="${JCSDK}">
<cap output="build/cyber.cap" aid="A000000648" sources="src" targetsdk="./oracle_javacard_sdks/jc221_kit">
<applet class="org.hacdc.cyber.Cyber" aid="A0000006482F0002" />
</cap>
</javacard>
</target>
<!-- Install Applet -->
<target name="install" depends="build">
<java jar="tools/gp.jar" fork="true">
<arg value="-reinstall" />
<arg value="build/cyber.cap" />
</java>
</target>
</project>