From 6ef21405094e4031bdeb04a369378c7ee3c19b99 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Fri, 3 Nov 2023 15:50:46 +0100 Subject: [PATCH] Refactor script files for multi-applet projects --- .vscode/tasks.json | 27 ++++++++++++++++------ hwb1/card/delete.cmd | 1 - hwb1/card/e222.cmd | 5 ---- hwb1/card/install.cmd | 4 ---- hwb1/card/list.cmd | 1 - hwb1/card/test.cmd | 1 - hwb1/scripts/delete.cmd | 3 --- hwb1/scripts/flash.cmd | 5 ---- hwb1/scripts/list.cmd | 4 ---- hwb1/scripts/test.cmd | 4 ---- hwb1/{card/test.txt => tests/MyApplet.txt} | 0 hwb1/card/c222.cmd => scripts/compile.cmd | 5 ++-- scripts/delete.cmd | 2 ++ scripts/flash.cmd | 5 ++++ scripts/list.cmd | 2 ++ scripts/setup.cmd | 16 +++++++++++++ scripts/test.cmd | 2 ++ 17 files changed, 50 insertions(+), 37 deletions(-) delete mode 100644 hwb1/card/delete.cmd delete mode 100644 hwb1/card/e222.cmd delete mode 100644 hwb1/card/install.cmd delete mode 100644 hwb1/card/list.cmd delete mode 100644 hwb1/card/test.cmd delete mode 100644 hwb1/scripts/delete.cmd delete mode 100644 hwb1/scripts/flash.cmd delete mode 100644 hwb1/scripts/list.cmd delete mode 100644 hwb1/scripts/test.cmd rename hwb1/{card/test.txt => tests/MyApplet.txt} (100%) rename hwb1/card/c222.cmd => scripts/compile.cmd (70%) create mode 100644 scripts/delete.cmd create mode 100644 scripts/flash.cmd create mode 100644 scripts/list.cmd create mode 100644 scripts/setup.cmd create mode 100644 scripts/test.cmd diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 5759d39..c3eb42a 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -4,27 +4,40 @@ "version": "2.0.0", "tasks": [ { - "label": "Flash hwb1", + "label": "Flash MyApplet", "type": "shell", - "command": "${workspaceFolder}/hwb1/scripts/flash.cmd", + "command": "${workspaceFolder}/scripts/flash.cmd", + "options": { + "env": { + "PACKAGE": "hwb1", + "APPLET": "MyApplet", + "PARAMS": "31323334" + } + }, "problemMatcher": [] }, { "label": "List Applets", "type": "shell", - "command": "${workspaceFolder}/hwb1/scripts/list.cmd", + "command": "${workspaceFolder}/scripts/list.cmd", "problemMatcher": [] }, { - "label": "Test hwb1 Applet", + "label": "Test MyApplet", "type": "shell", - "command": "${workspaceFolder}/hwb1/scripts/test.cmd", + "command": "${workspaceFolder}/scripts/test.cmd", + "options": { + "env": { + "PACKAGE": "hwb1", + "APPLET": "MyApplet" + } + }, "problemMatcher": [] }, { - "label": "Delete hwb1 Applet", + "label": "Delete MyApplet", "type": "shell", - "command": "${workspaceFolder}/hwb1/scripts/delete.cmd", + "command": "${workspaceFolder}/scripts/delete.cmd", "problemMatcher": [] } ] diff --git a/hwb1/card/delete.cmd b/hwb1/card/delete.cmd deleted file mode 100644 index 62727be..0000000 --- a/hwb1/card/delete.cmd +++ /dev/null @@ -1 +0,0 @@ -gp --delete 01020304050608 diff --git a/hwb1/card/e222.cmd b/hwb1/card/e222.cmd deleted file mode 100644 index a68d2ee..0000000 --- a/hwb1/card/e222.cmd +++ /dev/null @@ -1,5 +0,0 @@ -@echo off -set PACKAGE=hwb1 -set APPLET=MyApplet -set "JAVA_HOME=%JAVA8_HOME%" -set "path=%JAVA_HOME%\bin;%JC_HOME%\bin;%JC_HOME%\..;%JC_HOME%\..\GPShell-1.4.4;%path%" diff --git a/hwb1/card/install.cmd b/hwb1/card/install.cmd deleted file mode 100644 index 6489f54..0000000 --- a/hwb1/card/install.cmd +++ /dev/null @@ -1,4 +0,0 @@ -SET PIN=31323334 - -@rem -f to force install over old version -gp --install %~dp0..\javacard\%PACKAGE%.cap --params %PIN% -f diff --git a/hwb1/card/list.cmd b/hwb1/card/list.cmd deleted file mode 100644 index 637a7dd..0000000 --- a/hwb1/card/list.cmd +++ /dev/null @@ -1 +0,0 @@ -gp --list diff --git a/hwb1/card/test.cmd b/hwb1/card/test.cmd deleted file mode 100644 index 31cd098..0000000 --- a/hwb1/card/test.cmd +++ /dev/null @@ -1 +0,0 @@ -gpshell %~dp0test.txt \ No newline at end of file diff --git a/hwb1/scripts/delete.cmd b/hwb1/scripts/delete.cmd deleted file mode 100644 index 47a6847..0000000 --- a/hwb1/scripts/delete.cmd +++ /dev/null @@ -1,3 +0,0 @@ -SET CARD_ROOT=%~dp0..\card -call %CARD_ROOT%\e222.cmd -call %CARD_ROOT%\delete.cmd diff --git a/hwb1/scripts/flash.cmd b/hwb1/scripts/flash.cmd deleted file mode 100644 index 86f39ab..0000000 --- a/hwb1/scripts/flash.cmd +++ /dev/null @@ -1,5 +0,0 @@ -@echo off -SET CARD_ROOT=%~dp0..\card -call %CARD_ROOT%\e222.cmd -call %CARD_ROOT%\c222.cmd -call %CARD_ROOT%\install.cmd diff --git a/hwb1/scripts/list.cmd b/hwb1/scripts/list.cmd deleted file mode 100644 index 4aa224d..0000000 --- a/hwb1/scripts/list.cmd +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -SET CARD_ROOT=%~dp0..\card -call %CARD_ROOT%\e222.cmd -call %CARD_ROOT%\list.cmd diff --git a/hwb1/scripts/test.cmd b/hwb1/scripts/test.cmd deleted file mode 100644 index d2f2ca8..0000000 --- a/hwb1/scripts/test.cmd +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -SET CARD_ROOT=%~dp0..\card -call %CARD_ROOT%\e222.cmd -call %CARD_ROOT%\test.cmd diff --git a/hwb1/card/test.txt b/hwb1/tests/MyApplet.txt similarity index 100% rename from hwb1/card/test.txt rename to hwb1/tests/MyApplet.txt diff --git a/hwb1/card/c222.cmd b/scripts/compile.cmd similarity index 70% rename from hwb1/card/c222.cmd rename to scripts/compile.cmd index f600749..d3a22b3 100644 --- a/hwb1/card/c222.cmd +++ b/scripts/compile.cmd @@ -1,3 +1,4 @@ -@rem compile applet with JcDK 2.2.2 -javac -g -target 1.1 -source 1.2 -cp %JC_HOME%\lib\api.jar -d . %~dp0../src/%PACKAGE%/*.java +:: compile applet with JcDK 2.2.2 +CALL %~dp0setup.cmd +javac -g -target 1.1 -source 1.2 -cp %JC_HOME%\lib\api.jar -d . %~dp0../%PACKAGE%/src/%PACKAGE%/*.java converter -exportpath "%JC_HOME%\api_export_files" -applet 0x01:0x02:0x03:0x04:0x5:0x6:0x8:0x9 %PACKAGE%.%APPLET% %PACKAGE% 0x01:0x02:0x03:0x04:0x5:0x6:0x8 1.0 diff --git a/scripts/delete.cmd b/scripts/delete.cmd new file mode 100644 index 0000000..b841d1e --- /dev/null +++ b/scripts/delete.cmd @@ -0,0 +1,2 @@ +CALL %~dp0setup.cmd +gp --delete %ID% diff --git a/scripts/flash.cmd b/scripts/flash.cmd new file mode 100644 index 0000000..b9b250e --- /dev/null +++ b/scripts/flash.cmd @@ -0,0 +1,5 @@ +CALL %~dp0setup.cmd +CALL %~dp0compile.cmd + +:: "-f" forces overwriting old versions of the package +gp --install %~dp0..\%PACKAGE%\javacard\%PACKAGE%.cap --params %PARAMS% -f diff --git a/scripts/list.cmd b/scripts/list.cmd new file mode 100644 index 0000000..7c6f077 --- /dev/null +++ b/scripts/list.cmd @@ -0,0 +1,2 @@ +CALL %~dp0setup.cmd +gp --list diff --git a/scripts/setup.cmd b/scripts/setup.cmd new file mode 100644 index 0000000..458eb26 --- /dev/null +++ b/scripts/setup.cmd @@ -0,0 +1,16 @@ +:: Common Environment Variables +@echo off +:: To be defined externally +SET "PACKAGE=%PACKAGE%" +SET "APPLET=%APPLET%" +SET "PARAMS=%PARAMS%" +SET "JAVA8_HOME=%JAVA8_HOME%" +SET "JC_HOME=%JC_HOME%" + +SET HEXID=0x01:0x02:0x03:0x04:0x5:0x6:0x8:0x9 +SET ID=%HEXID:0x0=0% +SET ID=%ID:0x=0% +SET ID=%ID::=% + +SET "JAVA_HOME=%JAVA8_HOME%" +SET "PATH=%JAVA_HOME%\bin;%JC_HOME%\bin;%JC_HOME%\..;%JC_HOME%\..\GPShell-1.4.4;%PATH%" diff --git a/scripts/test.cmd b/scripts/test.cmd new file mode 100644 index 0000000..171a87b --- /dev/null +++ b/scripts/test.cmd @@ -0,0 +1,2 @@ +CALL %~dp0setup.cmd +gpshell %~dp0..\%PACKAGE%\tests\%APPLET%.txt