Skip to content

Commit

Permalink
Add support for bundling JAX-RS 2.0 API
Browse files Browse the repository at this point in the history
The RPM spec has been updated such that by default it will bundle
JAX-RS 2.0 API.
  • Loading branch information
edewata committed Jul 3, 2024
1 parent 55e83fb commit e0cd1ca
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 10 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ RUN if [ -n "$COPR_REPO" ]; then dnf copr enable -y $COPR_REPO; fi

# Install PKI runtime dependencies
RUN dnf install -y dogtag-pki \
&& rpm -e --nodeps $(rpm -qa | grep -E "^java-|^dogtag-|^python3-dogtag-|^pki-resteasy-|^jboss-logging-") \
&& rpm -e --nodeps $(rpm -qa | grep -E "^java-|^dogtag-|^python3-dogtag-|^pki-resteasy-|^jboss-logging-|^jboss-jaxrs-2.0-api-") \
&& dnf clean all \
&& rm -rf /var/cache/dnf

Expand Down
36 changes: 28 additions & 8 deletions base/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,34 @@ find_file(SERVLET_JAR
/usr/share/java
)

find_file(JAXRS_API_JAR
NAMES
jaxrs-api.jar
jboss-jaxrs-2.0-api.jar
javax.ws.rs-api.jar
PATHS
/usr/share/java
)

if (EXISTS "${CMAKE_SOURCE_DIR}/lib")
# use imported JARs

execute_process(
COMMAND ls ${CMAKE_SOURCE_DIR}/lib
COMMAND sed -n "s/^jboss-jaxrs-2.0-api-\\(.*\\)\\.jar\$/\\1/p"
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE JAXRS_API_VERSION
)
message("JAXRS_API_VERSION: ${JAXRS_API_VERSION}")

set(JAXRS_API_JAR "${CMAKE_SOURCE_DIR}/lib/jboss-jaxrs-2.0-api-${JAXRS_API_VERSION}.jar")
set(JAXRS_API_LINK "jboss-jaxrs-2.0-api-${JAXRS_API_VERSION}.jar")

else()
# use system JARs

find_file(JAXRS_API_JAR
NAMES
jaxrs-api.jar
jboss-jaxrs-2.0-api.jar
javax.ws.rs-api.jar
PATHS
/usr/share/java
)
set(JAXRS_API_LINK "../../../..${JAXRS_API_JAR}")
endif (EXISTS "${CMAKE_SOURCE_DIR}/lib")

find_file(SLF4J_API_JAR
NAMES
Expand Down
2 changes: 1 addition & 1 deletion base/common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ add_custom_command(
COMMAND ln -sf ../../../..${JAVAX_ACTIVATION_JAR} lib/javax.activation.jar
COMMAND ln -sf ../../../..${JAVAX_ANNOTATIONS_API_JAR} lib/javax.annotations-api.jar
COMMAND ln -sf ../../../..${JAXB_API_JAR} lib/jaxb-api.jar
COMMAND ln -sf ../../../..${JAXRS_API_JAR} lib/jaxrs-api.jar
COMMAND ln -sf ${JAXRS_API_LINK} lib/jaxrs-api.jar
COMMAND ln -sf ${JBOSS_LOGGING_LINK} lib/jboss-logging.jar
COMMAND ln -sf ../../../..${JSS_JAR} lib/jss.jar
COMMAND ln -sf ../../../..${LDAPJDK_JAR} lib/ldapjdk.jar
Expand Down
19 changes: 19 additions & 0 deletions pki.spec
Original file line number Diff line number Diff line change
Expand Up @@ -454,6 +454,7 @@ Requires: mvn(commons-logging:commons-logging)
Requires: mvn(commons-net:commons-net)
Requires: mvn(org.slf4j:slf4j-api)
Requires: mvn(org.slf4j:slf4j-jdk14)
Requires: mvn(jakarta.annotation:jakarta.annotation-api)

Requires: mvn(com.fasterxml.jackson.core:jackson-annotations)
Requires: mvn(com.fasterxml.jackson.core:jackson-core)
Expand Down Expand Up @@ -916,6 +917,12 @@ if [ ! -d lib ]
then
mkdir lib

JAXRS_VERSION=$(rpm -q jboss-jaxrs-2.0-api | sed -n 's/^jboss-jaxrs-2.0-api-\([^-]*\)-.*$/\1.Final/p')
echo "Importing JAX-RS 2.0 API $JAXRS_VERSION from RPM"

cp /usr/share/java/jboss-jaxrs-2.0-api.jar \
lib/jboss-jaxrs-2.0-api-$JAXRS_VERSION.jar

JBOSS_LOGGING_VERSION=$(rpm -q jboss-logging | sed -n 's/^jboss-logging-\([^-]*\)-.*$/\1.Final/p')
echo "Importing JBoss Logging $JBOSS_LOGGING_VERSION from RPM"

Expand Down Expand Up @@ -1180,13 +1187,15 @@ pkgs=base\
%if %{with meta}
echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki.xml
%endif

%if %{with base}
echo "Installing JAR deps into %{buildroot}%{_datadir}/pki/lib"
cp lib/jboss-jaxrs-2.0-api-*.jar %{buildroot}%{_datadir}/pki/lib
cp lib/jboss-logging-*.jar %{buildroot}%{_datadir}/pki/lib
cp lib/resteasy-jaxrs-*.jar %{buildroot}%{_datadir}/pki/lib
cp lib/resteasy-client-*.jar %{buildroot}%{_datadir}/pki/lib
Expand All @@ -1195,12 +1204,14 @@ ls -l %{buildroot}%{_datadir}/pki/lib

echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-java.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-java.xml

echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-tools.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-tools.xml
Expand All @@ -1213,6 +1224,7 @@ ls -l %{buildroot}%{_datadir}/pki/server/common/lib

echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-server.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-server.xml
Expand All @@ -1221,6 +1233,7 @@ xmlstarlet edit --inplace \
%if %{with ca}
echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-ca.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-ca.xml
Expand All @@ -1229,6 +1242,7 @@ xmlstarlet edit --inplace \
%if %{with kra}
echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-kra.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-kra.xml
Expand All @@ -1237,6 +1251,7 @@ xmlstarlet edit --inplace \
%if %{with ocsp}
echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-ocsp.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-ocsp.xml
Expand All @@ -1245,6 +1260,7 @@ xmlstarlet edit --inplace \
%if %{with tks}
echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-tks.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-tks.xml
Expand All @@ -1253,6 +1269,7 @@ xmlstarlet edit --inplace \
%if %{with tps}
echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-tps.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-tps.xml
Expand All @@ -1261,6 +1278,7 @@ xmlstarlet edit --inplace \
%if %{with acme}
echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-acme.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-acme.xml
Expand All @@ -1269,6 +1287,7 @@ xmlstarlet edit --inplace \
%if %{with est}
echo "Removing RPM deps from %{buildroot}%{_datadir}/maven-metadata/pki-pki-est.xml"
xmlstarlet edit --inplace \
-d "//_:dependency[_:groupId='org.jboss.spec.javax.ws.rs']" \
-d "//_:dependency[_:groupId='org.jboss.logging']" \
-d "//_:dependency[_:groupId='org.jboss.resteasy']" \
%{buildroot}%{_datadir}/maven-metadata/pki-pki-est.xml
Expand Down

0 comments on commit e0cd1ca

Please sign in to comment.