Skip to content

Instantly share code, notes, and snippets.

@siepkes
Last active January 29, 2024 05:33
Show Gist options
  • Save siepkes/00f0c410933271b4f4e0d5eab18d7469 to your computer and use it in GitHub Desktop.
Save siepkes/00f0c410933271b4f4e0d5eab18d7469 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ksh93
if [ ! -d "$1" ]; then
echo "First argument must be the directory where the runtime ZIP has been extracted. For example '~/Downloads/birt'."
exit 1
fi
RUNTIME_PATH=${1}
LIB_PATH="${RUNTIME_PATH}/ReportEngine/lib"
ADDONS_PATH="${RUNTIME_PATH}/ReportEngine/addons"
GROUP_ID_BASE="nl.serviceplanet.org.eclipse.birt"
function deploy {
FILE="${1}"
GROUP_ID="${2}"
ARTIFACT_ID="${3}"
ARTIFACT_VERSION="${4}"
# Reposilite will always serve the POM inside the JAR instead of the one we generate. Unfortunately this POM is
# incorrect (contains deps with -SNAPSHOT versions). Therefor we delete it from the JAR's.
zip --delete ${FILE} "META-INF/maven/*"
mvn deploy:deploy-file -Durl=https://reposilite.serviceplanet.nl/third-party \
-DgeneratePom=true \
-DrepositoryId=third-party \
-Dfile=${FILE} \
-DgroupId=${GROUP_ID} \
-DartifactId=${ARTIFACT_ID} \
-Dversion=${ARTIFACT_VERSION} \
-Dpackaging=jar \
-Ddescription="Service Planet packaged Eclipse BIRT."
}
# Configured for the 'birt-runtime-4.13.0-20230309.zip' BIRT runtime ZIP file. Modify when updating.
# Core
deploy "${LIB_PATH}/org.eclipse.birt.runtime_4.13.0-20230302.jar" "${GROUP_ID_BASE}" "org.eclipse.birt.runtime" "4.13.0"
deploy "${LIB_PATH}/org.eclipse.datatools.connectivity.oda.consumer_3.4.101.201811012051.jar" "${GROUP_ID_BASE}" "org.eclipse.datatools.connectivity.oda.consumer" "3.4.101"
deploy "${LIB_PATH}/org.eclipse.datatools.connectivity.oda_3.6.101.201811012051.jar" "${GROUP_ID_BASE}" "org.eclipse.datatools.connectivity.oda" "3.6.101"
deploy "${LIB_PATH}/org.eclipse.datatools.connectivity_1.14.102.201911250848.jar" "${GROUP_ID_BASE}" "org.eclipse.datatools.connectivity" "1.14.102"
deploy "${LIB_PATH}/org.eclipse.emf.common_2.28.0.v20230223-0922.jar" "${GROUP_ID_BASE}" "org.eclipse.emf.common" "2.28.0"
deploy "${LIB_PATH}/org.eclipse.emf.ecore.xmi_2.18.0.v20230211-1150.jar" "${GROUP_ID_BASE}" "org.eclipse.emf.ecore.xmi" "2.18.0"
deploy "${LIB_PATH}/org.eclipse.emf.ecore_2.33.0.v20230226-0921.jar" "${GROUP_ID_BASE}" "org.eclipse.emf.ecore" "2.33.0"
deploy "${LIB_PATH}/org.eclipse.equinox.common_3.16.200.v20220817-1601.jar" "${GROUP_ID_BASE}" "org.eclipse.equinox.common" "3.16.200"
deploy "${LIB_PATH}/org.eclipse.equinox.registry_3.11.200.v20220817-1601.jar" "${GROUP_ID_BASE}" "org.eclipse.equinox.registry" "3.11.200"
deploy "${LIB_PATH}/org.eclipse.osgi_3.18.100.v20220817-1601.jar" "${GROUP_ID_BASE}" "org.eclipse.osgi" "3.18.100"
deploy "${LIB_PATH}/com.github.librepdf.openpdf_1.3.26.jar" "${GROUP_ID_BASE}" "com.github.librepdf.openpdf" "1.3.26"
deploy "${LIB_PATH}/org.apache.batik.anim_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.anim" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.awt.util_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.awt.util" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.bridge_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.bridge" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.css_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.css" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.constants_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.constants" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.dom_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.dom" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.ext_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.ext" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.gvt_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.gvt" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.i18n_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.i18n" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.parser_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.parser" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.script_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.script" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.dom.svg_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.dom.svg" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.transcoder_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.transcoder" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.util_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.util" "1.14.0"
deploy "${LIB_PATH}/org.apache.batik.xml_1.14.0.v20210324-0332.jar" "${GROUP_ID_BASE}" "org.apache.batik.xml" "1.14.0"
deploy "${LIB_PATH}/org.apache.xerces_2.12.2.v20220131-0835.jar" "${GROUP_ID_BASE}" "org.apache.xerces" "2.12.2"
deploy "${LIB_PATH}/org.apache.xmlgraphics_2.6.0.v20210409-0748.jar" "${GROUP_ID_BASE}" "org.apache.xmlgraphics" "2.6.0"
deploy "${LIB_PATH}/wrapped.com.ibm.icu.icu4j_3.8.0.jar" "${GROUP_ID_BASE}" "wrapped.com.ibm.icu.icu4j" "3.8.0"
deploy "${LIB_PATH}/org.eclipse.core.runtime_3.26.0.v20220813-0916.jar" "${GROUP_ID_BASE}" "org.eclipse.core.runtime" "3.26.0"
deploy "${LIB_PATH}/org.mozilla.javascript_1.7.10.v20190430-1943.jar" "${GROUP_ID_BASE}" "org.mozilla.javascript" "1.7.10"
deploy "${LIB_PATH}/org.w3c.dom.smil_1.0.1.v200903091627.jar" "${GROUP_ID_BASE}" "org.w3c.dom.smil" "1.0.1"
deploy "${LIB_PATH}/org.w3c.dom.svg_1.1.0.v201011041433.jar" "${GROUP_ID_BASE}" "org.w3c.dom.svg" "1.1.0"
deploy "${LIB_PATH}/org.w3c.css.sac_1.3.1.v200903091627.jar" "${GROUP_ID_BASE}" "org.w3c.css.sac" "1.3.1"
# Addons
deploy "${ADDONS_PATH}/org.eclipse.datatools.enablement.oda.xml_1.4.102.201901091730.jar" "${GROUP_ID_BASE}" "org.eclipse.datatools.enablement.oda.xml" "1.4.102"
<!-- BIRT Runtime -->
<!-- WARNING! READ THIS BEFORE UPDATING OR CHANGING! -->
<!-- BIRT doesn't upload these artifacts to Maven central anymore. The 'org.eclipse.birt.runtime' artifact -->
<!-- also doesn't have a POM which specifies all of it dependencies anymore (used to have it). -->
<!-- Therefor the 'install_birt_in_maven_repo.ksh' script in the root of the 'server.reporting' module -->
<!-- can be used to upload the necessary dependencies to our Maven repo from a BIRT runtime ZIP such as -->
<!-- 'birt-runtime-4.13.0-20230309.zip'. When updating BIRT you will need to update the 'install_birt_in_maven_repo' -->
<!-- file and modify the dependencies below. Unfortunately I (@siepkes) don't know of an airtight way -->
<!-- to get all the dependencies needed so use this as a template and apply trail and error. -->
<!-- Currently configured for BIRT: 4.13.0-20230309 (birt-runtime-4.13.0-20230309.zip) -->
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.birt.runtime</artifactId>
<version>4.13.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.datatools.connectivity.oda.consumer</artifactId>
<version>3.4.101</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.datatools.connectivity.oda</artifactId>
<version>3.6.101</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.datatools.connectivity</artifactId>
<version>1.14.102</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.emf.common</artifactId>
<version>2.28.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.emf.ecore.xmi</artifactId>
<version>2.18.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.emf.ecore</artifactId>
<version>2.33.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.equinox.common</artifactId>
<version>3.16.200</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.equinox.registry</artifactId>
<version>3.11.200</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.osgi</artifactId>
<version>3.18.100</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>com.github.librepdf.openpdf</artifactId>
<version>1.3.26</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.anim</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.awt.util</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.bridge</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.dom</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.gvt</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.i18n</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.parser</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.script</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.dom.svg</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.ext</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.transcoder</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.util</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.xml</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.css</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.batik.constants</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.xerces</artifactId>
<version>2.12.2</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.apache.xmlgraphics</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>wrapped.com.ibm.icu.icu4j</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.core.runtime</artifactId>
<version>3.26.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.mozilla.javascript</artifactId>
<version>1.7.10</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.w3c.dom.smil</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.w3c.dom.svg</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.w3c.css.sac</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>nl.serviceplanet.org.eclipse.birt</groupId>
<artifactId>org.eclipse.datatools.enablement.oda.xml</artifactId>
<version>1.4.102</version>
</dependency>
@siepkes
Copy link
Author

siepkes commented Nov 28, 2023

@davidwwd2011

Two jars cannot be installed: org.eclipse.datatools.connectivity.oda.consumer and org.eclipse.datatools.connectivity.oda.consumer due to missing pom (?)

That's kinda weird (and could be a symptom of a bigger issue) because the -DgeneratePom=true flag should generate new POM's regardless if the JAR has an existing POM.

Compiling OK. But when I run the report (with RedHut JDK 11) I still get the same error:
class "org.mozilla.javascript.RhinoException"'s signer information does not match signer information of other classes in the same package

You could try adding something like zip --delete ${FILE} "META-INF/*.RSA" "META-INF/*.SF" (I haven't tested this so you might need to tweak the command a bit) to the script which should delete all signing information from the JAR. If there are no signatures in the JAR Java won't complain about incorrect signature.

Also be sure to delete old artifacts in your ~/.m2/repository/ if you are uploading the artifacts as a release version from a remote repository. Otherwise Maven will keep using the old ones, even if you have uploaded new ones (with the same version) to your remote repository. Or you could also change the version of the uploaded artifacts.

@davidwwd2011
Copy link

davidwwd2011 commented Nov 29, 2023

@siepkes
Thank you for your info. What I did is to install to my local m2/repository for testing first. After I added -DgeneratePom=true, the two jars are installed correctly. My local testing seems OK now, now I will try to deploy them to my company's remote repository. You post really helped me to complete the BIRT Upgrade from 4.4.2 to 4.13.0

To help people who might be instrested, I will post my local ~/.m2/repository/ installation script below.
(I am using RedHat JDK 11 which seems has problem with org.mozilla.javascript in org.mozilla.javascript. So I intentionally do not install it but replace it with rhino-runtime).

DOS Batch file:

set JAVA_HOME=<your_jdk_home>
set MVN_CMD=call  <your_maven_folder>/bin/mvn
set RUNTIME_PATH=D:/birt-runtime-4.13.0-20230302
set LIB_PATH=%RUNTIME_PATH%/ReportEngine/lib
set ADDONS_PATH=%RUNTIME_PATH%/ReportEngine/addons
set GROUP_ID_BASE=birt_runtime.org.eclipse.birt

# BIRT CORE 
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.birt.runtime_4.13.0-20230302.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.birt.runtime" -Dversion="4.13.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.datatools.connectivity.oda.consumer_3.4.101.201811012051.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.datatools.connectivity.oda.consumer" -Dversion="3.4.101" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.datatools.connectivity.oda_3.6.101.201811012051.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.datatools.connectivity.oda" -Dversion="3.6.101" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.datatools.connectivity_1.14.102.201911250848.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.datatools.connectivity" -Dversion="1.14.102" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.emf.common_2.28.0.v20230223-0922.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.emf.common" -Dversion="2.28.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.emf.ecore.xmi_2.18.0.v20230211-1150.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.emf.ecore.xmi" -Dversion="2.18.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.emf.ecore_2.33.0.v20230226-0921.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.emf.ecore" -Dversion="2.33.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.equinox.common_3.16.200.v20220817-1601.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.equinox.common" -Dversion="3.16.200" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.equinox.registry_3.11.200.v20220817-1601.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.equinox.registry" -Dversion="3.11.200" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.osgi_3.18.100.v20220817-1601.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.osgi" -Dversion="3.18.100" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/com.github.librepdf.openpdf_1.3.26.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="com.github.librepdf.openpdf" -Dversion="1.3.26" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.anim_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.anim" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.awt.util_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.awt.util" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.bridge_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.bridge" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.css_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.css" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.constants_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.constants" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.dom_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.dom" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.ext_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.ext" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.gvt_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.gvt" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.i18n_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.i18n" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.parser_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.parser" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.script_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.script" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.dom.svg_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.dom.svg" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.transcoder_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.transcoder" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.util_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.util" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.batik.xml_1.14.0.v20210324-0332.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.batik.xml" -Dversion="1.14.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.xerces_2.12.2.v20220131-0835.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.xerces" -Dversion="2.12.2" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.apache.xmlgraphics_2.6.0.v20210409-0748.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.apache.xmlgraphics" -Dversion="2.6.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/wrapped.com.ibm.icu.icu4j_3.8.0.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="wrapped.com.ibm.icu.icu4j" -Dversion="3.8.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.eclipse.core.runtime_3.26.0.v20220813-0916.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.eclipse.core.runtime" -Dversion="3.26.0" -Dpackaging=jar
rem %MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.mozilla.javascript_1.7.10.v20190430-1943.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.mozilla.javascript" -Dversion="1.7.10" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.w3c.dom.smil_1.0.1.v200903091627.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.w3c.dom.smil" -Dversion="1.0.1" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.w3c.dom.svg_1.1.0.v201011041433.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.w3c.dom.svg" -Dversion="1.1.0" -Dpackaging=jar
%MVN_CMD% install:install-file -DgeneratePom=true -Dfile=%LIB_PATH%/org.w3c.css.sac_1.3.1.v200903091627.jar -DgroupId=%GROUP_ID_BASE% -DartifactId="org.w3c.css.sac" -Dversion="1.3.1" -Dpackaging=jar

# Addons
%MVN_CMD% install:install-file -Dfile=%ADDONS_PATH%/org.eclipse.datatools.enablement.oda.xml_1.4.102.201901091730.jar -DgroupId=%GROUP_ID_BASE% -DartifactId=org.eclipse.datatools.enablement.oda.xml -Dversion=1.4.102 -Dpackaging=jar

After running the batch installation, I add the dependencies in POM for my local testing:

	<!-- Currently configured for BIRT: 4.13.0-20230309 (birt-runtime-4.13.0-20230309.zip) -->
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.birt.runtime</artifactId>
			<version>4.13.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.birt.runtime/4.13.0/org.eclipse.birt.runtime-4.13.0.jar</systemPath>			
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.datatools.connectivity.oda.consumer</artifactId>
			<version>3.4.101</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.datatools.connectivity.oda.consumer/3.4.101/org.eclipse.datatools.connectivity.oda.consumer-3.4.101.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.datatools.connectivity.oda</artifactId>
			<version>3.6.101</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.datatools.connectivity.oda/3.6.101/org.eclipse.datatools.connectivity.oda-3.6.101.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.datatools.connectivity</artifactId>
			<version>1.14.102</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.datatools.connectivity/1.14.102/org.eclipse.datatools.connectivity-1.14.102.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.emf.common</artifactId>
			<version>2.28.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.emf.common/2.28.0/org.eclipse.emf.common-2.28.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.emf.ecore.xmi</artifactId>
			<version>2.18.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.emf.ecore.xmi/2.18.0/org.eclipse.emf.ecore.xmi-2.18.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.emf.ecore</artifactId>
			<version>2.33.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.emf.ecore/2.33.0/org.eclipse.emf.ecore-2.33.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.equinox.common</artifactId>
			<version>3.16.200</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.equinox.common/3.16.200/org.eclipse.equinox.common-3.16.200.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.equinox.registry</artifactId>
			<version>3.11.200</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.equinox.registry/3.11.200/org.eclipse.equinox.registry-3.11.200.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.osgi</artifactId>
			<version>3.18.100</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.osgi/3.18.100/org.eclipse.osgi-3.18.100.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>com.github.librepdf.openpdf</artifactId>
			<version>1.3.26</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/com.github.librepdf.openpdf/1.3.26/com.github.librepdf.openpdf-1.3.26.jar</systemPath><!--Manu Copy!!-->
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.anim</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.anim/1.14.0/org.apache.batik.anim-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.awt.util</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.awt.util/1.14.0/org.apache.batik.awt.util-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.bridge</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.bridge/1.14.0/org.apache.batik.bridge-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.css</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.css/1.14.0/org.apache.batik.css-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.constants</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.constants/1.14.0/org.apache.batik.constants-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.dom</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.dom/1.14.0/org.apache.batik.dom-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.ext</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.ext/1.14.0/org.apache.batik.ext-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.gvt</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.gvt/1.14.0/org.apache.batik.gvt-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.i18n</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.i18n/1.14.0/org.apache.batik.i18n-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.parser</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>			
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.parser/1.14.0/org.apache.batik.parser-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.script</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.script/1.14.0/org.apache.batik.script-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.dom.svg</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.dom.svg/1.14.0/org.apache.batik.dom.svg-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>			
			<artifactId>org.apache.batik.transcoder</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.transcoder/1.14.0/org.apache.batik.transcoder-1.14.0.jar</systemPath>
		</dependency>		
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.util</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.util/1.14.0/org.apache.batik.util-1.14.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.batik.xml</artifactId>
			<version>1.14.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.batik.xml/1.14.0/org.apache.batik.xml-1.14.0.jar</systemPath>
		</dependency>		
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.xerces</artifactId>
			<version>2.12.2</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.apache.xmlgraphics/2.6.0/org.apache.xmlgraphics-2.6.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.apache.xmlgraphics</artifactId>
			<version>2.6.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.birt.runtime/4.13.0/org.eclipse.birt.runtime-4.13.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>wrapped.com.ibm.icu.icu4j</artifactId>
			<version>3.8.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/wrapped.com.ibm.icu.icu4j/3.8.0/wrapped.com.ibm.icu.icu4j-3.8.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.core.runtime</artifactId>
			<version>3.26.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.core.runtime/3.26.0/org.eclipse.core.runtime-3.26.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.w3c.dom.smil</artifactId>
			<version>1.0.1</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.w3c.dom.smil/1.0.1/org.w3c.dom.smil-1.0.1.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.w3c.dom.svg</artifactId>
			<version>1.1.0</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.w3c.dom.svg/1.1.0/org.w3c.dom.svg-1.1.0.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.w3c.css.sac</artifactId>
			<version>1.3.1</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.w3c.css.sac/1.3.1/org.w3c.css.sac-1.3.1.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>birt_runtime.org.eclipse.birt</groupId>
			<artifactId>org.eclipse.datatools.enablement.oda.xml</artifactId>
			<version>1.4.102</version>
			<scope>system</scope>
			<systemPath>${user.home}/.m2/repository/birt_runtime/org/eclipse/birt/org.eclipse.datatools.enablement.oda.xml/1.4.102/org.eclipse.datatools.enablement.oda.xml-1.4.102.jar</systemPath>
		</dependency>

                <!-- https://mvnrepository.com/artifact/org.mozilla/rhino-runtime -->
		<dependency>
		    <groupId>org.mozilla</groupId>
		    <artifactId>rhino-runtime</artifactId>
		    <version>1.7.14</version>
		</dependency>

For local testing using the local BIRT repository, add option -o below:
mvn clean install -o

@siepkes
Copy link
Author

siepkes commented Jan 2, 2024

That would be something like ./install_birt_in_maven_repo.ksh ~/Downloads/birt. The ~/Downloads/birt directory should contain the contents of the BIRT runtime zip file (birt-runtime-4.13.0-20230309.zip).

If you post the error you are seeing I might be able to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment