aboutsummaryrefslogtreecommitdiff
path: root/build-applet.xml
blob: f8f15e2f53f4aaae52532fd2c9ca7df46c472256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="build" name="ECTesterApplet">
    <!-- Based on Martin Paljak's applets playground -->
    <!-- Applet building dependencies -->
    <property name="SDK_PATH" value="ext/sdks"/>

    <property name="JC212" value="${SDK_PATH}/jc212_kit"/>
    <property name="JC221" value="${SDK_PATH}/jc221_kit"/>
    <property name="JC222" value="${SDK_PATH}/jc222_kit"/>
    <property name="JC303" value="${SDK_PATH}/jc303_kit"/>
    <property name="JC304" value="${SDK_PATH}/jc304_kit"/>
    <property name="JC305u1" value="${SDK_PATH}/jc305u1_kit"/>

    <!-- ant-javacard task from javacard.pro -->
    <taskdef name="javacard" classname="pro.javacard.ant.JavaCard" classpath="ext/ant-javacard.jar"/>

    <target name="build" description="Builds the CAP file.">
        <javacard jckit="${JC222}">
            <cap output="applet/ectester.cap" sources="src/cz/crcs/ectester/applet" aid="4543546573746572">
                <applet class="cz.crcs.ectester.applet.ECTesterApplet" aid="45435465737465723031"/>
            </cap>
        </javacard>
    </target>

    <target name="upload" depends="build" description="Uploads the CAP file to the card, using gp.jar">
        <exec dir="applet" executable="./gppro_upload.sh" osfamily="unix"/>
        <exec dir="applet" executable="./gppro_upload.bat" osfamily="windows"/>
    </target>

    <target name="upload-emv" depends="build"
            description="Uploads the CAP file to the card, using gp.jar, uses the EMV protocol">
        <exec dir="applet" executable="./gppro_upload_emv.sh" osfamily="unix"/>
        <exec dir="applet" executable="./gppro_upload_emv.bat" osfamily="windows"/>
    </target>

    <target name="clean" description="Clean the built CAP file.">
        <delete file="applet/ectester.cap" quiet="true"/>
    </target>
</project>