Skip to content

Commit 9eee64a

Browse files
committed
OSGi patches - added versioning, verified private packages
1 parent 82b0695 commit 9eee64a

File tree

8 files changed

+37
-25
lines changed

8 files changed

+37
-25
lines changed

jmail/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,11 @@ jar {
8080
from sourceSets.java9.output
8181
}
8282
manifest.attributes('Multi-Release': 'true')
83+
manifest.attributes('Bundle-Name': 'bcjmail')
84+
manifest.attributes('Bundle-SymbolicName': 'bcjmail')
8385
manifest.attributes('Bundle-RequiredExecutionEnvironment': 'JavaSE-1.8')
8486
manifest.attributes('Export-Package': 'org.bouncycastle.mail.*')
85-
manifest.attributes('Import-Package': 'java.*;resolution:=optional;javax.*;resolution:=optional;org.bouncycastle.*;version="[2.73,4)"')
87+
manifest.attributes('Import-Package': "java.*;resolution:=optional,javax.*;resolution:=optional,!org.bouncycastle.mail.*,org.bouncycastle.*;version=\"${version}\"")
8688
}
8789

8890
task sourcesJar(type: Jar) {

mail/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,11 @@ jar {
6060
from sourceSets.java9.output
6161
}
6262
manifest.attributes('Multi-Release': 'true')
63+
manifest.attributes('Bundle-Name': 'bcmail')
64+
manifest.attributes('Bundle-SymbolicName': 'bcmail')
6365
manifest.attributes('Bundle-RequiredExecutionEnvironment': 'JavaSE-1.8')
6466
manifest.attributes('Export-Package': 'org.bouncycastle.mail.*')
65-
manifest.attributes('Import-Package': 'java.*;resolution:=optional;javax.*;resolution:=optional;org.bouncycastle.*;version="[2.73,4)"')
67+
manifest.attributes('Import-Package': "java.*;resolution:=optional,javax.*;resolution:=optional,!org.bouncycastle.mail.*,org.bouncycastle.*;version=\"${version}\"")
6668
}
6769

6870
task sourcesJar(type: Jar) {

mls/build.gradle

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,10 +153,15 @@ jar {
153153
into('META-INF/versions/9') {
154154
from sourceSets.java9.output
155155
}
156+
157+
String packages = 'org.bouncycastle.mls.*'
158+
156159
manifest.attributes('Multi-Release': 'true')
160+
manifest.attributes('Bundle-Name': 'bcmls')
161+
manifest.attributes('Bundle-SymbolicName': 'bcmls')
157162
manifest.attributes('Bundle-RequiredExecutionEnvironment': 'JavaSE-1.8')
158-
manifest.attributes('Export-Package': 'org.bouncycastle.mls.*')
159-
manifest.attributes('Import-Package': 'java.*;resolution:=optional;javax.*;resolution:=optional')
163+
manifest.attributes('Export-Package': "${packages}")
164+
manifest.attributes('Import-Package': "java.*;resolution:=optional,javax.*;resolution:=optional,!${packages},org.bouncycastle.*;version=\"${version}\"")
160165
}
161166

162167
task sourcesJar(type: Jar) {

pg/build.gradle

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@ dependencies {
1616
implementation project(':core')
1717
implementation project(':prov')
1818
implementation project(':util')
19-
implementation files("$bc_prov")
20-
implementation project(path: ':core')
2119

2220
java9Implementation project(':prov')
2321
java9Implementation project(':util')
2422
java9Implementation files(sourceSets.main.output.classesDirs) {
2523
builtBy compileJava
2624
}
2725

26+
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
2827
}
2928

3029
compileJava {
@@ -43,7 +42,7 @@ compileJava9Java {
4342
sourceCompatibility = 9
4443
targetCompatibility = 9
4544
options.compilerArgs += [
46-
'--module-path', "${bc_prov}"
45+
'--module-path', "${bc_prov}${File.pathSeparator}${bc_util}"
4746
]
4847

4948
options.sourcepath = files(['src/main/java', 'src/main/jdk1.9'])
@@ -70,8 +69,10 @@ jar {
7069
}
7170
manifest.attributes('Multi-Release': 'true')
7271
manifest.attributes('Bundle-RequiredExecutionEnvironment': 'JavaSE-1.8')
72+
manifest.attributes('Bundle-Name': 'bcpg')
73+
manifest.attributes('Bundle-SymbolicName': 'bcpg')
7374
manifest.attributes('Export-Package': 'org.bouncycastle.{apache|bcpg|gpg|openpgp}.*')
74-
manifest.attributes('Import-Package': 'java.*;resolution:=optional;javax.*;resolution:=optional')
75+
manifest.attributes('Import-Package': "java.*;resolution:=optional,javax.*;resolution:=optional,!org.bouncycastle.{apache|bcpg|gpg|openpgp|}.*,org.bouncycastle.*;version=\"${version}\"")
7576
}
7677

7778

pkix/build.gradle

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,15 @@ jar {
6666
into('META-INF/versions/9') {
6767
from sourceSets.java9.output
6868
}
69+
70+
String packages = 'org.bouncycastle.{cert|cmc|cms|dvcs|eac|est|its|mime|mozilla|voms|operator|pkix|openssl|pkcs|tsp}.*'
71+
6972
manifest.attributes('Multi-Release': 'true')
73+
manifest.attributes('Bundle-Name': 'bcpkix')
74+
manifest.attributes('Bundle-SymbolicName': 'bcpkix')
7075
manifest.attributes('Bundle-RequiredExecutionEnvironment': 'JavaSE-1.8')
71-
manifest.attributes('Export-Package': 'org.bouncycastle.{cert|cms|operator|pkix|cmc|openssl|pkcs|tsp}.*')
72-
manifest.attributes('Import-Package': 'java.*;resolution:=optional;javax.*;resolution:=optional')
76+
manifest.attributes('Export-Package': "${packages}")
77+
manifest.attributes('Import-Package': "java.*;resolution:=optional,javax.*;resolution:=optional,!${packages},org.bouncycastle.*;version=\"${version}\"")
7378
}
7479

7580

prov/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,11 @@ jar {
145145
from sourceSets.java21.output
146146
}
147147
manifest.attributes('Multi-Release': 'true')
148+
manifest.attributes('Bundle-Name': 'bcprov')
149+
manifest.attributes('Bundle-SymbolicName': 'bcprov')
148150
manifest.attributes('Bundle-RequiredExecutionEnvironment': 'JavaSE-1.8')
149-
manifest.attributes('Export-Package': 'org.bouncycastle.*')
150-
manifest.attributes('Import-Package': 'java.*;resolution:=optional;javax.*;resolution:=optional')
151+
manifest.attributes('Export-Package': '!org.bouncycastle.internal.*,org.bouncycastle.*')
152+
manifest.attributes('Import-Package': 'java.*;resolution:=optional,javax.*;resolution:=optional')
151153
}
152154

153155

tls/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,11 @@ jar {
146146
from sourceSets.java9.output
147147
}
148148
manifest.attributes('Multi-Release': 'true')
149+
manifest.attributes('Bundle-Name': 'bctls')
150+
manifest.attributes('Bundle-SymbolicName': 'bctls')
149151
manifest.attributes('Bundle-RequiredExecutionEnvironment': 'JavaSE-1.8')
150152
manifest.attributes('Export-Package': 'org.bouncycastle.{jsse|tls}.*')
151-
manifest.attributes('Import-Package': 'java.*;resolution:=optional;javax.*;resolution:=optional')
153+
manifest.attributes('Import-Package': "java.*;resolution:=optional,javax.*;resolution:=optional,!org.bouncycastle.{jsse|tls}.*,org.bouncycastle.*;version=\"${version}\"")
152154
}
153155

154156

util/build.gradle

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,24 +63,17 @@ jar {
6363
into('META-INF/versions/9') {
6464
from sourceSets.java9.output
6565
}
66-
67-
// //
68-
// // This exists because the above 'sourceSets.java9.output' is randomly
69-
// // empty even though the classes have been built and are where
70-
// // they should be.
71-
// into('META-INF/versions/9') {
72-
// from "${projectDir}/build/classes/java/java9"
73-
// duplicatesStrategy DuplicatesStrategy.INCLUDE
74-
// }
66+
String packages = 'org.bouncycastle.asn1.{bsi|cmc|cmp|cms|crmf|cryptlib|dvcs|eac|edec|esf|ess|est|gnu|iana|icao|isara|isismtt|iso|kisa|microsoft|misc|mozilla|nsri|ntt|oiw|rosstandart|smime|tsp}.*'
7567

7668
manifest.attributes('Multi-Release': 'true')
69+
manifest.attributes('Bundle-Name': 'bcutil')
70+
manifest.attributes('Bundle-SymbolicName': 'bcutil')
7771
manifest.attributes('Bundle-RequiredExecutionEnvironment': 'JavaSE-1.8')
78-
manifest.attributes('Export-Package': 'org.bouncycastle.asn1.{bsi|cmc|cmp|cms|crmf|dvcs|eac|esf|ess|est|icao|isismtt|smime|tsp}.*;org.bouncycastle.oer.*')
79-
manifest.attributes('Import-Package': 'java.*;resolution:=optional;javax.*;resolution:=optional')
72+
manifest.attributes('Export-Package': "${packages},org.bouncycastle.oer.*")
73+
manifest.attributes('Import-Package': "java.*;resolution:=optional,javax.*;resolution:=optional,!${packages},!org.bouncycastle.oer.*,org.bouncycastle.*;version=\"${version}\"")
8074
}
8175

8276

83-
8477
task sourcesJar(type: Jar) {
8578
archiveBaseName = jar.archiveBaseName
8679
archiveClassifier = 'sources'

0 commit comments

Comments
 (0)