63 lines
2.0 KiB
XML
63 lines
2.0 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 environment="env"/>
|
|
<property name="EXPORT" value="build/crystal.cap" />
|
|
<property name="RID" value="A000000648" />
|
|
<property name="AID" value="2F0002" />
|
|
|
|
<target name="clean">
|
|
<delete dir="build" />
|
|
</target>
|
|
|
|
<target name="check.sdk">
|
|
<condition property="jcsdk.exists">
|
|
<available file="${env.JC_HOME}" type="dir" />
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="check.tool">
|
|
<condition property="tool.exists">
|
|
<available file="tools" type="dir" />
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="check.build.dir">
|
|
<condition property="build.dir.exists">
|
|
<available file="build" type="dir" />
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="build.dir" depends="check.build.dir" unless="build.dir.exists">
|
|
<mkdir dir="build" />
|
|
</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,build.dir" if="tool.exists">
|
|
<!-- ant-javacard task from javacard.pro -->
|
|
<taskdef name="javacard" classname="pro.javacard.ant.JavaCard" classpath="tools/ant-javacard.jar" />
|
|
<javacard jckit="${env.JC_HOME}">
|
|
<cap aid="${RID}" output="${EXPORT}" sources="src/org/hacdc/crystal" targetsdk="${env.JC_CLASSIC_HOME}">
|
|
<applet class="org.hacdc.crystal.Crystal" aid="${RID}${AID}" />
|
|
</cap>
|
|
</javacard>
|
|
</target>
|
|
|
|
<!-- Install Applet -->
|
|
<target name="install" depends="build">
|
|
<java jar="tools/gp.jar" fork="true">
|
|
<arg value="-reinstall" />
|
|
<arg value="${EXPORT}" />
|
|
</java>
|
|
</target>
|
|
|
|
</project>
|