Skip to content

Commit d5a5114

Browse files
committed
[GR-61363] Shade CapnProto Runtime.
PullRequest: graal/20506
2 parents d8b1553 + e43cdee commit d5a5114

File tree

7 files changed

+1142
-1094
lines changed

7 files changed

+1142
-1094
lines changed

substratevm/mx.substratevm/mx_substratevm.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1231,6 +1231,7 @@ def native_image_context_run(func, func_args=None, config=None, build_if_missing
12311231
'substratevm:SVM_CONFIGURE',
12321232
'substratevm:OBJECTFILE',
12331233
'substratevm:POINTSTO',
1234+
'substratevm:SVM_CAPNPROTO_RUNTIME',
12341235
'substratevm:NATIVE_IMAGE_BASE',
12351236
] + (['substratevm:SVM_FOREIGN'] if mx_sdk_vm.base_jdk().javaCompliance >= '22' else []),
12361237
support_distributions=['substratevm:SVM_GRAALVM_SUPPORT'],
@@ -2529,5 +2530,7 @@ def capnp_compile(args):
25292530
f.write('@SuppressWarnings("all")\n')
25302531
if 'public static final class Schemas {' in line:
25312532
break
2532-
f.write(line)
2533+
# Replace org.capnproto with com.oracle.svm.shaded.org.capnproto in generated code
2534+
shaded = line.replace("org.capnproto", "com.oracle.svm.shaded.org.capnproto")
2535+
f.write(shaded)
25332536
f.write('}\n')

substratevm/mx.substratevm/suite.py

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@
205205

206206
"CAPNPROTO_RUNTIME": {
207207
"digest" : "sha512:94a7776511c344da60a1acdc346c133522a43c239d067d0d5d86c21291e0252a19bd4fa74e4b1d3a93e75dadd41af6557a5d118a1584e39d34c092485ce065b2",
208+
"sourceDigest" : "sha512:a458654e16c4a723508130dfd33d2d410a1d346949fc2f8203b3188f78c01c1850b334394f654536652f9ea6d73b8ce0d308d46f877a944208c3a248249fba77",
208209
"maven" : {
209210
"groupId" : "org.capnproto",
210211
"artifactId" : "runtime",
@@ -254,6 +255,32 @@
254255
"jacoco" : "include",
255256
},
256257

258+
# Shade Cap'n Proto Runtime
259+
"com.oracle.svm.shaded.org.capnproto": {
260+
"subDir" : "src",
261+
"sourceDirs" : ["src"],
262+
"javaCompliance" : "17+",
263+
"spotbugsIgnoresGenerated" : True,
264+
"shadedDependencies" : [
265+
"CAPNPROTO_RUNTIME",
266+
],
267+
"class" : "ShadedLibraryProject",
268+
"shade" : {
269+
"packages" : {
270+
"org.capnproto" : "com.oracle.svm.shaded.org.capnproto",
271+
},
272+
"exclude" : [
273+
"META-INF/MANIFEST.MF",
274+
"**/package.html",
275+
],
276+
},
277+
"description" : "Capn Proto Runtime library shaded for Native Image.",
278+
"forceJavac" : "true",
279+
"javac.lint.overrides" : "none",
280+
"jacoco" : "exclude",
281+
"graalCompilerSourceEdition": "ignore",
282+
},
283+
257284
# This shaded ASM project is just a quickfix.
258285
# Eventually, we should migrate to the Classfile API [JDK-8294982] (GR-61102).
259286
"com.oracle.svm.shaded.org.objectweb.asm": {
@@ -579,7 +606,6 @@
579606
"sourceDirs": ["src"],
580607
"dependencies": [
581608
"com.oracle.svm.common",
582-
"CAPNPROTO_RUNTIME"
583609
],
584610
"requires" : [
585611
"jdk.internal.vm.ci"
@@ -685,6 +711,7 @@
685711
"com.oracle.objectfile",
686712
"com.oracle.graal.reachability",
687713
"com.oracle.svm.core.graal.amd64",
714+
"com.oracle.svm.shaded.org.capnproto",
688715
"SVM_CONFIGURE",
689716
],
690717
"requires" : [
@@ -1681,6 +1708,7 @@
16811708
"sdk:NATIVEIMAGE",
16821709
"OBJECTFILE",
16831710
"POINTSTO",
1711+
"SVM_CAPNPROTO_RUNTIME",
16841712
"compiler:GRAAL",
16851713
"NATIVE_IMAGE_BASE",
16861714
"SVM_CONFIGURE",
@@ -1778,9 +1806,6 @@
17781806
"java.management": [
17791807
"sun.management",
17801808
],
1781-
"org.graalvm.nativeimage.pointsto": [
1782-
"org.capnproto"
1783-
]
17841809
},
17851810
},
17861811
"noMavenJavadoc": True,
@@ -1789,6 +1814,27 @@
17891814
},
17901815
},
17911816

1817+
"SVM_CAPNPROTO_RUNTIME" : {
1818+
"subDir" : "src",
1819+
"description" : "Capn Proto Runtime shaded module.",
1820+
"sourceDirs" : ["src"],
1821+
"javaCompliance" : "17+",
1822+
"dependencies" : [
1823+
"com.oracle.svm.shaded.org.capnproto",
1824+
],
1825+
"moduleInfo" : {
1826+
"name" : "org.graalvm.nativeimage.shaded.capnproto",
1827+
"exports" : [
1828+
"com.oracle.svm.shaded.org.capnproto",
1829+
]
1830+
},
1831+
"allowsJavadocWarnings" : True,
1832+
"noMavenJavadoc": True,
1833+
"maven": {
1834+
"tag": ["default", "public"],
1835+
},
1836+
},
1837+
17921838
"JVMTI_AGENT_BASE": {
17931839
"subDir": "src",
17941840
"description": "Base framework for creating a JVMTI agent.",
@@ -2235,7 +2281,6 @@
22352281
"NATIVE_IMAGE_BASE",
22362282
],
22372283
"exclude": [
2238-
# "CAPNPROTO_RUNTIME",
22392284
],
22402285
"moduleInfo" : {
22412286
"name" : "org.graalvm.nativeimage.pointsto",

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/imagelayer/HostedImageLayerBuildingSupport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
import java.util.ArrayList;
3333
import java.util.List;
3434

35-
import org.capnproto.ReaderOptions;
36-
import org.capnproto.Serialize;
35+
import com.oracle.svm.shaded.org.capnproto.ReaderOptions;
36+
import com.oracle.svm.shaded.org.capnproto.Serialize;
3737
import org.graalvm.collections.EconomicMap;
3838
import org.graalvm.nativeimage.ImageSingletons;
3939

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/imagelayer/SVMImageLayerLoader.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@
5454
import java.util.stream.Stream;
5555
import java.util.stream.StreamSupport;
5656

57-
import org.capnproto.ListReader;
58-
import org.capnproto.PrimitiveList;
59-
import org.capnproto.StructList;
60-
import org.capnproto.StructReader;
61-
import org.capnproto.Text;
62-
import org.capnproto.TextList;
57+
import com.oracle.svm.shaded.org.capnproto.ListReader;
58+
import com.oracle.svm.shaded.org.capnproto.PrimitiveList;
59+
import com.oracle.svm.shaded.org.capnproto.StructList;
60+
import com.oracle.svm.shaded.org.capnproto.StructReader;
61+
import com.oracle.svm.shaded.org.capnproto.Text;
62+
import com.oracle.svm.shaded.org.capnproto.TextList;
6363
import org.graalvm.nativeimage.ImageSingletons;
6464
import org.graalvm.nativeimage.c.function.CEntryPoint;
6565
import org.graalvm.nativeimage.impl.CEntryPointLiteralCodePointer;

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/imagelayer/SVMImageLayerSingletonLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import java.util.stream.Stream;
3737
import java.util.stream.StreamSupport;
3838

39-
import org.capnproto.Text;
39+
import com.oracle.svm.shaded.org.capnproto.Text;
4040
import org.graalvm.collections.EconomicMap;
4141
import org.graalvm.collections.UnmodifiableEconomicMap;
4242

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/imagelayer/SVMImageLayerWriter.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,15 @@
6767
import java.util.stream.IntStream;
6868
import java.util.stream.Stream;
6969

70-
import org.capnproto.ListBuilder;
71-
import org.capnproto.MessageBuilder;
72-
import org.capnproto.PrimitiveList;
73-
import org.capnproto.Serialize;
74-
import org.capnproto.StructBuilder;
75-
import org.capnproto.StructList;
76-
import org.capnproto.Text;
77-
import org.capnproto.TextList;
78-
import org.capnproto.Void;
70+
import com.oracle.svm.shaded.org.capnproto.ListBuilder;
71+
import com.oracle.svm.shaded.org.capnproto.MessageBuilder;
72+
import com.oracle.svm.shaded.org.capnproto.PrimitiveList;
73+
import com.oracle.svm.shaded.org.capnproto.Serialize;
74+
import com.oracle.svm.shaded.org.capnproto.StructBuilder;
75+
import com.oracle.svm.shaded.org.capnproto.StructList;
76+
import com.oracle.svm.shaded.org.capnproto.Text;
77+
import com.oracle.svm.shaded.org.capnproto.TextList;
78+
import com.oracle.svm.shaded.org.capnproto.Void;
7979
import org.graalvm.collections.EconomicMap;
8080
import org.graalvm.collections.MapCursor;
8181
import org.graalvm.nativeimage.AnnotationAccess;

0 commit comments

Comments
 (0)