Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration #118

Merged
merged 13 commits into from
Dec 6, 2023
8 changes: 7 additions & 1 deletion .github/workflows/test-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,11 @@ jobs:
with:
extra_args: --all-files --verbose
- name: Test with Maven
if: (matrix.java-version == 8)
if: (matrix.java-version == 11)
run: mvn --batch-mode verify -DjacocoAgg
- name: Test build package on Windows
if: (matrix.os == 'windows-latest')
run: mvn --batch-mode package -DjacocoAgg && ./odf-validator.bat --version
- name: Test build package on Ubuntu
if: (matrix.os == 'ubuntu-latest')
run: mvn --batch-mode package -DjacocoAgg && ./odf-validator --version
8 changes: 7 additions & 1 deletion odf-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,13 @@
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>12.3</version>
<version>11.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-nop -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>2.0.7</version>
</dependency>
</dependencies>

Expand Down
2 changes: 1 addition & 1 deletion odf-validator
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,5 @@ fi

exec "$JAVACMD" -Dfile.encoding=UTF8 -XX:+IgnoreUnrecognizedVMOptions \
-Dapp.name="ODF Validator" \
-jar target/odf-validator-0.1.0-SNAPSHOT-jar-with-dependencies.jar \
-jar target/odf-validator-0.9.1-jar-with-dependencies.jar \
"$@"
2 changes: 1 addition & 1 deletion odf-validator.bat
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ if NOT "%CLASSPATH_PREFIX%" == "" set CLASSPATH=%CLASSPATH_PREFIX%;%CLASSPATH%
@REM Reaching here means variables are defined and arguments have been captured
:endInit

"%JAVACMD%" -Dfile.encoding=UTF8 -XX:+IgnoreUnrecognizedVMOptions -Dapp.name="ODF Validator" -jar target/odf-validator-0.1.0-SNAPSHOT-jar-with-dependencies.jar %CMD_LINE_ARGS%
"%JAVACMD%" -Dfile.encoding=UTF8 -XX:+IgnoreUnrecognizedVMOptions -Dapp.name="ODF Validator" -jar target/odf-validator-0.9.1-jar-with-dependencies.jar %CMD_LINE_ARGS%
if %ERRORLEVEL% NEQ 0 goto error
goto end

Expand Down
25 changes: 25 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,31 @@
<goals>deploy</goals>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<!-- Copy izpack resources -->
<id>verapdf-scripts</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>

<configuration>
<outputDirectory>./</outputDirectory>
<resources>
<resource>
<!-- Filter batch file copy to replace version number with current version number. -->
<directory>src/main/resources/org/openpreservation/odf/batch</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

Expand Down
82 changes: 82 additions & 0 deletions src/main/resources/org/openpreservation/odf/batch/odf-validator
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
#!/bin/sh

# resolve links - $0 may be a softlink
PRG="$0"

while [ -h "$PRG" ]; do
ls=$(ls -ld "$PRG")
link=$(expr "$ls" : '.*-> \(.*\)$')
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=$(dirname "$PRG")/"$link"
fi
done

PRGDIR=$(dirname "$PRG")
BASEDIR=$(cd "$PRGDIR/" >/dev/null || exit; pwd)

# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
case "$(uname)" in
CYGWIN*) cygwin=true ;;
Darwin*) darwin=true
if [ -z "$JAVA_VERSION" ] ; then
JAVA_VERSION="CurrentJDK"
else
echo "Using Java version: $JAVA_VERSION"
fi
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
JAVA_HOME=$(/usr/libexec/java_home)
else
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
fi
fi
;;
esac

if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=$(java-config --jre-home)
fi
fi

# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
[ -n "$CLASSPATH" ] && CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
fi

# If a specific java binary isn't specified search for the standard 'java' binary
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD=$(which java)
fi
fi

if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." 1>&2
echo " We cannot execute $JAVACMD" 1>&2
exit 1
fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
[ -n "$HOME" ] && HOME=$(cygpath --path --windows "$HOME")
[ -n "$BASEDIR" ] && BASEDIR=$(cygpath --path --windows "$BASEDIR")
fi

exec "$JAVACMD" -Dfile.encoding=UTF8 -XX:+IgnoreUnrecognizedVMOptions \
-Dapp.name="ODF Validator" \
-jar odf-apps/target/odf-apps-${project.version}-jar-with-dependencies.jar \
"$@"
116 changes: 116 additions & 0 deletions src/main/resources/org/openpreservation/odf/batch/odf-validator.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
@REM
@REM This file is part of veraPDF Installer, a module of the veraPDF project.
@REM Copyright (c) 2015, veraPDF Consortium <info@verapdf.org>
@REM All rights reserved.
@REM
@REM veraPDF Installer is free software: you can redistribute it and/or modify
@REM it under the terms of either:
@REM
@REM The GNU General public license GPLv3+.
@REM You should have received a copy of the GNU General Public License
@REM along with veraPDF Installer as the LICENSE.GPL file in the root of the source
@REM tree. If not, see http://www.gnu.org/licenses/ or
@REM https://www.gnu.org/licenses/gpl-3.0.en.html.
@REM
@REM The Mozilla Public License MPLv2+.
@REM You should have received a copy of the Mozilla Public License along with
@REM veraPDF Installer as the LICENSE.MPL file in the root of the source tree.
@REM If a copy of the MPL was not distributed with this file, you can obtain one at
@REM http://mozilla.org/MPL/2.0/.
@REM

@echo off

set ERROR_CODE=0

:init
@REM Decide how to startup depending on the version of windows

@REM -- Win98ME
if NOT "%OS%"=="Windows_NT" goto Win9xArg

@REM set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" @setlocal

@REM -- 4NT shell
if "%eval[2+2]" == "4" goto 4NTArgs

@REM -- Regular WinNT shell
set CMD_LINE_ARGS=%*
goto WinNTGetScriptDir

@REM The 4NT Shell from jp software
:4NTArgs
set CMD_LINE_ARGS=%$
goto WinNTGetScriptDir

:Win9xArg
@REM Slurp the command line arguments. This loop allows for an unlimited number
@REM of arguments (up to the command line limit, anyway).
set CMD_LINE_ARGS=
:Win9xApp
if %1a==a goto Win9xGetScriptDir
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto Win9xApp

:Win9xGetScriptDir
set SAVEDIR=%CD%
%0\
cd %0\..\..
set BASEDIR=%CD%
cd %SAVEDIR%
set SAVE_DIR=
goto repoSetup

:WinNTGetScriptDir
set BASEDIR=%~dp0
if %BASEDIR:~-1%==\ set BASEDIR=%BASEDIR:~0,-1%

:repoSetup
set REPO=


if "%JAVACMD%"=="" set JAVACMD=java

if "%REPO%"=="" set REPO=%BASEDIR%\bin

set CLASSPATH="%BASEDIR%"\etc;"%REPO%"\*

set ENDORSED_DIR=
if NOT "%ENDORSED_DIR%" == "" set CLASSPATH="%BASEDIR%"\%ENDORSED_DIR%\*;%CLASSPATH%

if NOT "%CLASSPATH_PREFIX%" == "" set CLASSPATH=%CLASSPATH_PREFIX%;%CLASSPATH%

@REM Reaching here means variables are defined and arguments have been captured
:endInit

"%JAVACMD%" -Dfile.encoding=UTF8 -XX:+IgnoreUnrecognizedVMOptions -Dapp.name="ODF Validator" -jar .\odf-apps\target\odf-apps-${project.version}-jar-with-dependencies.jar %CMD_LINE_ARGS%
if %ERRORLEVEL% NEQ 0 goto error
goto end

:error
if "%OS%"=="Windows_NT" @endlocal
set ERROR_CODE=%ERRORLEVEL%

:end
@REM set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" goto endNT

@REM For old DOS remove the set variables from ENV - we assume they were not set
@REM before we started - at least we don't leave any baggage around
set CMD_LINE_ARGS=
goto postExec

:endNT
@REM If error code is set to 1 then the endlocal was done already in :error.
if %ERROR_CODE% EQU 0 @endlocal


:postExec

if "%FORCE_EXIT_ON_ERROR%" == "on" (
if %ERROR_CODE% NEQ 0 exit %ERROR_CODE%
)

exit /B %ERROR_CODE%