Skip to content

Commit 3835693

Browse files
committed
The pgsc module is now carried by the Maven BOM and so the generated SBOM, by the dist gathering tasks and by the OSGi scan, which picks up tls-klog as well, and the module graph and :test aggregate in the docs list it.
1 parent 14dae7d commit 3835693

5 files changed

Lines changed: 6 additions & 2 deletions

File tree

‎bom/build.gradle‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ dependencies {
1010
api(project(":util"))
1111
api(project(":pkix"))
1212
api(project(":pg"))
13+
api(project(":pgsc"))
1314
api(project(":tls"))
1415
api(project(":mls"))
1516
api(project(":mail"))

‎build.gradle‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ test.dependsOn([':core:test', ':prov:test', ':prov:test11', ':prov:test15', ':pr
343343
// same packages), so it ships alongside the others here but is deliberately absent from the BOM:
344344
// resolving both onto one class path would be a duplicate-class mess, and the choice between them
345345
// is one a consumer has to make deliberately. See tls-klog/build.gradle.
346-
def distModules = ['core', 'util', 'prov', 'pkix', 'pg', 'tls', 'tls-klog', 'mls', 'mail', 'jmail']
346+
def distModules = ['core', 'util', 'prov', 'pkix', 'pg', 'pgsc', 'tls', 'tls-klog', 'mls', 'mail', 'jmail']
347347

348348
distModules.each { evaluationDependsOn(":$it") }
349349

‎docs/claude/architecture.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ util ── ASN.1/X.500 helpers used by pkix
88
prov ── JCA/JCE provider (BouncyCastleProvider, BouncyCastlePQCProvider) — depends on core
99
pkix ── X.509 / CMS / TSP / OCSP / PKCS#12 / OpenSSL PEM — depends on prov
1010
pg ── OpenPGP — depends on prov
11+
pgsc ── OpenPGP smart card / token API — depends on pg
1112
tls ── TLS API + JSSE provider — depends on prov
1213
mail / jmail ── S/MIME on top of CMS — depends on pkix
1314
mls ── Messaging Layer Security

‎docs/claude/build-and-test.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Build & test
22

3-
The build is Gradle multi-module. **JDK 25+ is required to drive Gradle**: the `compileJava25Java` task (e.g. `prov/build.gradle`, `tls/build.gradle`) is unconditional and sets `options.release = 25`, so a Gradle daemon launched under JDK 21/17/etc. fails `:prov:compileJava25Java` with `error: release version 25 not supported`, and that failed compile can leave `core/build/classes/java/main` empty (cascading into confusing "package does not exist" errors on the next step). (Separately, JDK 21+ is the floor for the Error Prone compiler plugin, which is compiled for Java 21 / class file 65 — an older daemon fails `:core:compileJava` with `UnsupportedClassVersionError: …ErrorProneJavacPlugin … class file version 65.0 … up to <NN>.0`.) A JDK 25 is expected at `/opt/jdk-25`; drive Gradle with `JAVA_HOME=/opt/jdk-25 BC_JDK25=/opt/jdk-25 ./gradlew …`. Optional environment variables `BC_JDK8`, `BC_JDK11`, `BC_JDK17`, `BC_JDK21`, `BC_JDK25` opt in version-specific test tasks (compiled against MR-jar overlays). The default `:test` aggregates `:core:test :prov:test :prov:test11 :prov:test15 :prov:test17 :pkix:test :pg:test :tls:test :mls:test :mail:test :jmail:test`.
3+
The build is Gradle multi-module. **JDK 25+ is required to drive Gradle**: the `compileJava25Java` task (e.g. `prov/build.gradle`, `tls/build.gradle`) is unconditional and sets `options.release = 25`, so a Gradle daemon launched under JDK 21/17/etc. fails `:prov:compileJava25Java` with `error: release version 25 not supported`, and that failed compile can leave `core/build/classes/java/main` empty (cascading into confusing "package does not exist" errors on the next step). (Separately, JDK 21+ is the floor for the Error Prone compiler plugin, which is compiled for Java 21 / class file 65 — an older daemon fails `:core:compileJava` with `UnsupportedClassVersionError: …ErrorProneJavacPlugin … class file version 65.0 … up to <NN>.0`.) A JDK 25 is expected at `/opt/jdk-25`; drive Gradle with `JAVA_HOME=/opt/jdk-25 BC_JDK25=/opt/jdk-25 ./gradlew …`. Optional environment variables `BC_JDK8`, `BC_JDK11`, `BC_JDK17`, `BC_JDK21`, `BC_JDK25` opt in version-specific test tasks (compiled against MR-jar overlays). The default `:test` aggregates `:core:test :prov:test :prov:test11 :prov:test15 :prov:test17 :pkix:test :pg:test :pgsc:test :tls:test :tls-klog:test :mls:test :mail:test :jmail:test`.
44

55
Per-module test tasks (`:util:test`, `:pkix:test`, …) restrict to `AllTest*` classes, so `--tests org.foo.SomeTest` for a non-`AllTests` class reports "No tests found"; run the aggregating suite instead, by **exact** class name (a glob like `*cms.test.AllTests` fails to match under the `AllTest*` include — `--tests org.bouncycastle.cms.test.AllTests` works).
66

‎osgi_scan.xml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@
2121
<jar file="${ENV.BCHOME}/jmail/build/libs/bcjmail-jdk18on-${version}.jar"/>
2222
<jar file="${ENV.BCHOME}/mls/build/libs/bcmls-jdk18on-${version}.jar"/>
2323
<jar file="${ENV.BCHOME}/pg/build/libs/bcpg-jdk18on-${version}.jar"/>
24+
<jar file="${ENV.BCHOME}/pgsc/build/libs/bcpgsc-jdk18on-${version}.jar"/>
2425
<jar file="${ENV.BCHOME}/pkix/build/libs/bcpkix-jdk18on-${version}.jar"/>
2526
<jar file="${ENV.BCHOME}/prov/build/libs/bcprov-jdk18on-${version}.jar"/>
2627
<jar file="${ENV.BCHOME}/tls/build/libs/bctls-jdk18on-${version}.jar"/>
28+
<jar file="${ENV.BCHOME}/tls-klog/build/libs/bctls-klog-jdk18on-${version}.jar"/>
2729
<jar file="${ENV.BCHOME}/util/build/libs/bcutil-jdk18on-${version}.jar"/>
2830

2931
<bundle matches="^bcprov" version="${bundle_ver}">

0 commit comments

Comments
 (0)