diff --git a/CHANGELOG.md b/CHANGELOG.md index 517ee66..a04d911 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,14 @@ # Change Log for javapos-contracts -## 1.15.1 +## 1.15.2 Maintenance Release -- added ElectronicValueRW constants EVRW_TAG_NIT_ALL and EVRW_TAG_NIT_UPDATED; solves GH issue #17 -- added ElectronicValueRW constants EVRW_TAG_TT_COMPLETION and EVRW_TAG_TT_PRE_SALES; solves GH issue #16 +- added general constants `JPOS_FALSE` and `JPOS_FALSE` to `JposConst`, as workaround for a type error in `PointCardRW.CapCardEntranceSensor`; solves GH issues #20 +- added missing *PINPad* constant `PPAD_TIMEOUT`; solves GH issues #19 + +## 1.15.1 Maintenance Release + +- added *ElectronicValueRW* constants `EVRW_TAG_NIT_ALL` and `EVRW_TAG_NIT_UPDATED`; solves GH issue #17 +- added *ElectronicValueRW* constants `EVRW_TAG_TT_COMPLETION` and `EVRW_TAG_TT_PRE_SALES`; solves GH issue #16 ## 1.15.0 diff --git a/build.gradle b/build.gradle index 480d7f3..a5be2d0 100644 --- a/build.gradle +++ b/build.gradle @@ -11,12 +11,12 @@ plugins { id 'signing' id 'eclipse' id 'maven-publish' - id("io.github.gradle-nexus.publish-plugin") version "1.1.0" + id("io.github.gradle-nexus.publish-plugin") version "1.3.0" id 'project-report' } wrapper { - gradleVersion = '7.1.1' + gradleVersion = '8.4' } /////////////////////////////////////////////////////////////////////////////// @@ -27,7 +27,7 @@ def artifactName = 'javapos-contracts' group='org.javapos' def uposVersion = '1.15' // if this version is going to be changed, first add "-SNAPSHOT" // to the 'version' variable below for publishing to MavenCentral's Snapshot repo first as test -version="${uposVersion}.1" // the last part after dot is the build/release version +version="${uposVersion}.2" // the last part after dot is the build/release version /////////////////////////////////////////////////////////////////////////////// // Project Configurations @@ -38,7 +38,7 @@ eclipse.jdt.file.withProperties { properties -> properties['org.eclipse.jdt.core.compiler.codegen.methodParameters'] = 'generate' } -def javaposManifest = manifest { +def javaposManifest = java.manifest { attributes('Specification-Title': 'UnifiedPOS Standard', 'Specification-Vendor': 'UnifiedPOS Committee', 'Specification-Version': uposVersion, @@ -47,8 +47,6 @@ def javaposManifest = manifest { 'Implementation-Version': version) } -sourceCompatibility = 8 - /////////////////////////////////////////////////////////////////////////////// // Build Tasks /////////////////////////////////////////////////////////////////////////////// @@ -56,6 +54,7 @@ sourceCompatibility = 8 java { withSourcesJar() withJavadocJar() + sourceCompatibility = JavaVersion.VERSION_1_8 } jar { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf..7454180 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 05679dc..e411586 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 83f2acf..744e882 100755 --- a/gradlew +++ b/gradlew @@ -72,7 +72,7 @@ case "`uname`" in Darwin* ) darwin=true ;; - MINGW* ) + MSYS* | MINGW* ) msys=true ;; NONSTOP* ) @@ -82,6 +82,7 @@ esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -129,6 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath @@ -154,19 +156,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then else eval `echo args$i`="\"$arg\"" fi - i=$((i+1)) + i=`expr $i + 1` done case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi @@ -175,14 +177,9 @@ save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } -APP_ARGS=$(save "$@") +APP_ARGS=`save "$@"` # Collect all arguments for the java command, following the shell quoting and substitution rules eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 24467a1..ac1b06f 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @@ -37,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -51,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -61,28 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/settings.gradle b/settings.gradle index 34ff6aa..b2089b6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,6 @@ // for enabling Gradle scan at GitHub Actions plugins { - id("com.gradle.enterprise") version("3.9") + id("com.gradle.enterprise") version("3.15") } rootProject.name = 'javapos-contracts' diff --git a/src/main/java/jpos/ElectronicValueRWConst.java b/src/main/java/jpos/ElectronicValueRWConst.java index 17a862d..01d5e79 100644 --- a/src/main/java/jpos/ElectronicValueRWConst.java +++ b/src/main/java/jpos/ElectronicValueRWConst.java @@ -99,6 +99,14 @@ // EVRW_TE_NOTIFY_LOCK // EVRW_TE_NOTIFY_CENTER_CHECK_COMPLETE // EVRW_TE_CONFIRM_PIN_ENTRY_BY_OUTER_PINPAD +// 2025-Feb-04 JavaPOS Release 1.15.2 MC +// Added new constants: +// EVRW_TAG_VR_VOID +// EVRW_TAG_VR_RETURN +// EVRW_TAG_VTT_SALES +// EVRW_TAG_VTT_CHARGE +// EVRW_TAG_VTT_CANCEL +// EVRW_TAG_VTT_RETURN // ///////////////////////////////////////////////////////////////////// @@ -314,6 +322,14 @@ public interface ElectronicValueRWConst public static final int EVRW_TAG_TT_COMPLETION = 10; // Added in release 1.15 public static final int EVRW_TAG_TT_PRE_SALES = 11; // Added in release 1.15 + public static final int EVRW_TAG_VR_VOID = 1; // Added in release 1.15.2 + public static final int EVRW_TAG_VR_RETURN = 2; // Added in release 1.15.2 + + public static final int EVRW_TAG_VTT_SALES = 1; // Added in release 1.15.2 + public static final int EVRW_TAG_VTT_CHARGE = 2; // Added in release 1.15.2 + public static final int EVRW_TAG_VTT_CANCEL = 3; // Added in release 1.15.2 + public static final int EVRW_TAG_VTT_RETURN = 4; // Added in release 1.15.2 + ///////////////////////////////////////////////////////////////////// // "transactionAccess" Method: "Control" Parameter Constants ///////////////////////////////////////////////////////////////////// diff --git a/src/main/java/jpos/FiscalPrinterConst.java b/src/main/java/jpos/FiscalPrinterConst.java index 1c0972a..6cb8c4b 100644 --- a/src/main/java/jpos/FiscalPrinterConst.java +++ b/src/main/java/jpos/FiscalPrinterConst.java @@ -48,6 +48,9 @@ // FPTR_RT_EOD_ORDINAL // Added new ErrorCodeExtended constant: // JPOS_EFPTR_DAY_END_REQUIRED +// 2025-Feb-04 JavaPOS Release 1.15.2 MC +// Added new GetData constant: +// FPTR_GD_VAT_ID_LIST // ///////////////////////////////////////////////////////////////////// @@ -284,6 +287,7 @@ public interface FiscalPrinterConst public static final int FPTR_GD_TENDER = 26; public static final int FPTR_GD_LINECOUNT = 27; public static final int FPTR_GD_DESCRIPTION_LENGTH = 28; + public static final int FPTR_GD_VAT_ID_LIST = 29; // Added in release 1.15.2 public static final int FPTR_PDL_CASH = 1; public static final int FPTR_PDL_CHEQUE = 2; diff --git a/src/main/java/jpos/JposConst.java b/src/main/java/jpos/JposConst.java index be802a2..887c112 100644 --- a/src/main/java/jpos/JposConst.java +++ b/src/main/java/jpos/JposConst.java @@ -174,4 +174,8 @@ public interface JposConst ///////////////////////////////////////////////////////////////////// public static final int JPOS_FOREVER = -1; + + // boolean constants, mainly as workaround for a type error at PointCardRW.CapCardEntranceSensor + public static final int JPOS_FALSE = 0; + public static final int JPOS_TRUE = 1; } \ No newline at end of file diff --git a/src/main/java/jpos/PINPadConst.java b/src/main/java/jpos/PINPadConst.java index 5a8bc71..a54e108 100644 --- a/src/main/java/jpos/PINPadConst.java +++ b/src/main/java/jpos/PINPadConst.java @@ -94,11 +94,11 @@ public interface PINPadConst ///////////////////////////////////////////////////////////////////// public static final int PPAD_SUCCESS = 1; public static final int PPAD_CANCEL = 2; + public static final int PPAD_TIMEOUT = 3; - - ///////////////////////////////////////////////////////////////////// - // "ErrorCodeExtended" Property Constants for PINPad - ///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////// + // "ErrorCodeExtended" Property Constants for PINPad + ///////////////////////////////////////////////////////////////////// public static final int JPOS_EPPAD_BAD_KEY = 1 + JposConst.JPOSERREXT; } \ No newline at end of file diff --git a/src/main/java/jpos/POSPrinterConst.java b/src/main/java/jpos/POSPrinterConst.java index 53a5216..0c30df5 100644 --- a/src/main/java/jpos/POSPrinterConst.java +++ b/src/main/java/jpos/POSPrinterConst.java @@ -82,6 +82,14 @@ // Re-added dropped, misspelled slip cartridge constant for backwards // compatibility. // PTR_SUE_SLP_CARTDRIGE_OK +// 2025-Feb-04 JavaPOS Release 1.15.2 MC +// Marked Bar Code Symbology value as deprecated: +// PTR_BCS_EAN128 +// Added Bar Code Symbology value as replacement for PTR_BCS_EAN128: +// PTR_BCS_GS1128 +// Added Bar Code Symbology values: +// PTR_BCS_DOTCODE +// PTR_BCS_HANXIN // ///////////////////////////////////////////////////////////////////// @@ -275,6 +283,7 @@ public interface POSPrinterConst // barcode public static final int PTR_BCS_EAN13_S = 119; // EAN 13 with supplemental // barcode +@deprecated // Deprecated JavaPOS 1.15.2 public static final int PTR_BCS_EAN128 = 120; // EAN 128 public static final int PTR_BCS_OCRA = 121; // OCR "A" public static final int PTR_BCS_OCRB = 122; // OCR "B" @@ -290,6 +299,11 @@ public interface POSPrinterConst public static final int PTR_BCS_GS1DATABAR_E = 132; // GS1 DataBar Expanded public static final int PTR_BCS_GS1DATABAR_S = 133; // GS1 DataBar Stacked Omnidirectional public static final int PTR_BCS_GS1DATABAR_E_S = 134; // GS1 DataBar Expanded Stacked + + // Added in Release 1.15.2 + public static final int PTR_BCS_GS1128 = 120; // GS1-128 + public static final int PTR_BCS_DOTCODE = 124; // Dot Code + public static final int PTR_BCS_HANXIN = 125; // Han Xin Code // Two dimensional symbologies public static final int PTR_BCS_PDF417 = 201; diff --git a/src/main/java/jpos/ScannerConst.java b/src/main/java/jpos/ScannerConst.java index a498489..2cb4447 100644 --- a/src/main/java/jpos/ScannerConst.java +++ b/src/main/java/jpos/ScannerConst.java @@ -73,6 +73,13 @@ // SCAN_SDT_UsIntelligent // SCAN_SDT_UsPlanet // SCAN_SDT_PostNet +// 2025-Feb-04 JavaPOS Release 1.15.2 MC +// Marked ScanDataType constant as deprecated: +// SCAN_SDT_EAN128 +// Added ScanDataType constant as replacement for SCAN_SDT_EAN128: +// SCAN_SDT_GS1128 +// Added new ScanDataType constant: +// SCAN_SDT_DWCODE // ///////////////////////////////////////////////////////////////////// @@ -124,6 +131,7 @@ public interface ScannerConst // supplemental barcode public static final int SCAN_SDT_EAN13_S = 119; // EAN 13 with // supplemental barcode +@deprecated // Deprecated JavaPOS 1.15.2 public static final int SCAN_SDT_EAN128 = 120; // EAN 128 public static final int SCAN_SDT_OCRA = 121; // OCR "A" public static final int SCAN_SDT_OCRB = 122; // OCR "B" @@ -153,6 +161,10 @@ public interface ScannerConst public static final int SCAN_SDT_PLESSEY = 144; // Plessey Code public static final int SCAN_SDT_TELEPEN = 145; // Telepen + // One dimensional symbologies (added in Release 1.15.2) + public static final int SCAN_SDT_GS1128 = 120; // GS1-128 + public static final int SCAN_SDT_DWCODE = 146; // Digital Watermarking + // Composite Symbologies (Added in Release 1.8) public static final int SCAN_SDT_CCA = 151; // Composite Component A. public static final int SCAN_SDT_CCB = 152; // Composite Component B.