Skip to content

Commit

Permalink
Run script with newer Java versions support
Browse files Browse the repository at this point in the history
  • Loading branch information
kwart committed Apr 1, 2021
1 parent 6f5b7da commit b23c57a
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 1 deletion.
4 changes: 3 additions & 1 deletion build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,9 @@
<include name="lib/*.jar"/>
</fileset>
</copy>


<copy file="unsorted/jsignpdf" todir="${dist.dir}"/>

<!-- SF.net handles README automatically (replacement for the old Release Notes) -->
<copy file="doc/ReleaseNotes.txt" tofile="${output.dir}/README.txt"/>

Expand Down
59 changes: 59 additions & 0 deletions src/net/sf/jsignpdf/JavaVersion.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is 'JSignPdf, a free application for PDF signing'.
*
* The Initial Developer of the Original Code is Josef Cacek.
* Portions created by Josef Cacek are Copyright (C) Josef Cacek. All Rights Reserved.
*
* Contributor(s): Josef Cacek.
*
* Alternatively, the contents of this file may be used under the terms
* of the GNU Lesser General Public License, version 2.1 (the "LGPL License"), in which case the
* provisions of LGPL License are applicable instead of those
* above. If you wish to allow use of your version of this file only
* under the terms of the LGPL License and not to allow others to use
* your version of this file under the MPL, indicate your decision by
* deleting the provisions above and replace them with the notice and
* other provisions required by the LGPL License. If you do not delete
* the provisions above, a recipient may use your version of this file
* under either the MPL or the LGPL License.
*/
package net.sf.jsignpdf;

/**
* Prints major Java version.
*
* @author Josef Cacek
*/
public class JavaVersion {

public static void main(String[] args) {
System.out.println(getJavaMajorVersion());
}

public static int getJavaMajorVersion() {
Class rtVersionCl;

try {
rtVersionCl = Class.forName("java.lang.Runtime$Version");
} catch (ClassNotFoundException e) {
return 8;
}

try {
Object versionObj = Runtime.class.getDeclaredMethod("version").invoke(Runtime.getRuntime());
return (Integer) rtVersionCl.getDeclaredMethod("major").invoke(versionObj);
} catch (Exception e) {
return 8;
}
}
}
18 changes: 18 additions & 0 deletions unsorted/jsignpdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

DIRNAME=$(dirname "$(readlink -e "$0")")
DIR=$(cd "$DIRNAME" || exit 112; pwd)

[ "$OSTYPE" = "cygwin" ] && DIR="$( cygpath -m "$DIR" )"

JAVA=java
if [ -n "$JAVA_HOME" ]; then
JAVA="$JAVA_HOME/bin/java"
fi

JAVA_VERSION=$("$JAVA" -cp "$DIR/JSignPdf.jar" net.sf.jsignpdf.JavaVersion)
if [ "$JAVA_VERSION" -gt "8" ]; then
JAVA_OPTS="$JAVA_OPTS --add-exports jdk.crypto.cryptoki/sun.security.pkcs11=ALL-UNNAMED"
fi

"$JAVA" $JAVA_OPTS "-Djsignpdf.home=$DIR" -jar "$DIR/JSignPdf.jar" $@

0 comments on commit b23c57a

Please sign in to comment.