Skip to content

Commit

Permalink
Build RPM without maven-shade-plugin
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
edewata committed Jun 23, 2023
1 parent c029cf3 commit b2f3aa3
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 3 deletions.
10 changes: 8 additions & 2 deletions .github/workflows/build-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand Down
18 changes: 17 additions & 1 deletion tomcatjss.spec
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
################################################################################
Expand Down

0 comments on commit b2f3aa3

Please sign in to comment.