From b2f3aa3daf5da2002e859f6cf6774312e005bae9 Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Fri, 23 Jun 2023 11:04:26 -0500 Subject: [PATCH] Build RPM without maven-shade-plugin The RPM spec file has been modified to merge the JAR files using the jar command since the maven-shade-plugin is not available on CentOS/RHEL. --- .github/workflows/build-tests.yml | 10 ++++++++-- tomcatjss.spec | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-tests.yml b/.github/workflows/build-tests.yml index 8944e08..3e9f1a7 100644 --- a/.github/workflows/build-tests.yml +++ b/.github/workflows/build-tests.yml @@ -55,15 +55,21 @@ jobs: run: | mvn package - - name: Compare tomcatjss.jar + - name: Compare tomcatjss.jar built by Ant vs. built by Maven run: | jar tvf ~/build/tomcatjss/jars/tomcatjss.jar | awk '{print $8;}' | sort | tee ant.out jar tvf main/target/tomcatjss.jar | awk '{print $8;}' | grep -v '^META-INF/maven/' | sort > maven.out diff ant.out maven.out - - name: Build Tomcat JSS RPMS with Maven + - name: Build Tomcat JSS RPMs run: | ./build.sh --work-dir=build rpm + dnf install -y build/RPMS/*.rpm + + - name: Compare tomcatjss.jar built by Maven vs. from RPM + run: | + jar tvf /usr/share/java/tomcatjss.jar | awk '{print $8;}' | grep -v '^META-INF/maven/' | sort | tee rpm.out + diff maven.out rpm.out - name: Install RPMInspect run: | diff --git a/tomcatjss.spec b/tomcatjss.spec index e12f31b..d9b0059 100644 --- a/tomcatjss.spec +++ b/tomcatjss.spec @@ -67,7 +67,10 @@ Source: https://github.com/dogtagpki/tomcatjss/archive/v%{version}%{?p BuildRequires: ant BuildRequires: %{java_devel} BuildRequires: maven-local -BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin) + +# maven-shade-plugin is not available on CentOS/RHEL +#BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin) + BuildRequires: mvn(org.apache.commons:commons-lang3) # SLF4J @@ -145,9 +148,22 @@ export JAVA_HOME=%{java_home} # flatten-maven-plugin is not available in RPM %pom_remove_plugin org.codehaus.mojo:flatten-maven-plugin +# disable main module since maven-shade-plugin is not available on CentOS/RHEL +%pom_disable_module main + # build without Javadoc %mvn_build -j +# merge JAR files into tomcatjss.jar +mkdir -p main/target/classes + +pushd main/target/classes +jar xvf ../../../core/target/tomcatjss-core-%{version}-SNAPSHOT.jar +jar xvf ../../../tomcat-9.0/target/tomcatjss-tomcat-9.0-%{version}-SNAPSHOT.jar +popd + +jar cvf main/target/tomcatjss.jar -C main/target/classes . + ################################################################################ %install ################################################################################