Skip to content

Commit 4a10c27

Browse files
committed
Added OSGI scan check to "check" stage
1 parent 3561b43 commit 4a10c27

File tree

3 files changed

+82
-1
lines changed

3 files changed

+82
-1
lines changed

ci/check_java.sh

+4-1
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ export BC_JDK21=`openjdk_21`
1818
export JAVA_HOME=`openjdk_17`
1919
export PATH=$JAVA_HOME/bin:$PATH
2020

21+
# Checkstyle
2122
./gradlew check -x test;
2223

2324

24-
25+
# OSGI scanner only, no testing
26+
./gradlew clean build -x test
27+
./osgi_scan.sh
2528

osgi_scan.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
set -e
3+
4+
if ! command -v osgiscanner &> /dev/null
5+
then
6+
echo "osgiscanner not on path"
7+
exit 1
8+
fi
9+
10+
export script_loc=$( cd -- "$( dirname -- "$0" )" &> /dev/null && pwd )
11+
cd $script_loc
12+
13+
export BCHOME=`pwd`
14+
15+
osgiscanner -f osgi_scan.xml

osgi_scan.xml

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<osgiscanner>
3+
4+
5+
<prop load="gradle.properties"/>
6+
7+
<!-- Make bundle regular expression -->
8+
<prop name="bundle_ver" value="${version}" find="-SNAPSHOT" replace=".0.[0-9]+"/>
9+
<prop name="bundle_ver" value="^${bundle_ver}" find="\." replace="\\."/>
10+
11+
<!-- Make import range expression -->
12+
<prop name="import_low" value="${version}" find="-SNAPSHOT" replace=".0.[0-9]+"/>
13+
<prop name="import_low" value="${import_low}" find="\." replace="\\."/>
14+
<prop name="import_max" value="${maxVersion}" find="-SNAPSHOT" replace=".0.[0-9]+"/>
15+
<prop name="import_max" value="${import_max}" find="\." replace="\\."/>
16+
<prop name="import_range" value="^\[${import_low}\,${import_max}\)"/>
17+
18+
<jar file="${ENV.BCHOME}/libs/jakarta.activation-api-2.0.0.jar"/>
19+
<jar file="${ENV.BCHOME}/libs/jakarta.mail-2.0.1.jar"/>
20+
<jar file="${ENV.BCHOME}/core/build/libs/core-${version}.jar"/>
21+
<jar file="${ENV.BCHOME}/core/build/libs/core-${version}.jar"/>
22+
<jar file="${ENV.BCHOME}/jmail/build/libs/bcjmail-jdk18on-${version}.jar"/>
23+
<jar file="${ENV.BCHOME}/mls/build/libs/bcmls-jdk18on-${version}.jar"/>
24+
<jar file="${ENV.BCHOME}/pg/build/libs/bcpg-jdk18on-${version}.jar"/>
25+
<jar file="${ENV.BCHOME}/pkix/build/libs/bcpkix-jdk18on-${version}.jar"/>
26+
<jar file="${ENV.BCHOME}/prov/build/libs/bcprov-jdk18on-${version}.jar"/>
27+
<jar file="${ENV.BCHOME}/tls/build/libs/bctls-jdk18on-${version}.jar"/>
28+
<jar file="${ENV.BCHOME}/util/build/libs/bcutil-jdk18on-${version}.jar"/>
29+
30+
<bundle matches="^bcprov" version="${bundle_ver}">
31+
<ignore-package package="^mls_client"/>
32+
<ignore-package package="^org\.bouncycastle\.mls\.client"/>
33+
34+
<header key="Bundle-Version" matches="${bundle_ver}"/>
35+
36+
<header key="Export-Package" matches=".*" on-undefined="fail">
37+
<package matches="^org\.bouncycastle\.*" param="version" test="${bundle_ver}" on-match="pass"
38+
on-undefined="fail"/>
39+
</header>
40+
41+
</bundle>
42+
43+
44+
<bundle matches="^bc(jmail|mls|pg|pkix|tls|util)" version="${bundle_ver}">
45+
<ignore-package package="^mls_client"/>
46+
<ignore-package package="^org\.bouncycastle\.mls\.client"/>
47+
48+
<header key="Bundle-Version" matches="${bundle_ver}"/>
49+
50+
<header key="Export-Package" matches=".*" on-undefined="fail">
51+
<package matches="^org\.bouncycastle\.*" param="version" test="${bundle_ver}" on-match="pass"
52+
on-undefined="fail"/>
53+
</header>
54+
55+
<header key="Import-Package" matches=".*" on-undefined="fail">
56+
<package matches="^org\.bouncycastle\.*" param="version" test="${import_range}" on-match="pass"
57+
on-undefined="fail"/>
58+
</header>
59+
60+
61+
</bundle>
62+
63+
</osgiscanner>

0 commit comments

Comments
 (0)