@@ -147,7 +147,7 @@ Integer.class.getMethod("parseInt", params2);
147147### Specifying Reflection Metadata in JSON
148148
149149Reflection metadata should be specified in a _reflect-config.json_ file and conform to the JSON schema defined in
150- [reflect-config-schema-v1.1 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/reflect-config-schema-v1.1 .0.json).
150+ [reflect-config-schema-v1.2 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/reflect-config-schema-v1.2 .0.json).
151151The schema also includes further details and explanations how this configuration works. Here is the example of the reflect-config.json:
152152```json
153153[
@@ -181,7 +181,10 @@ The schema also includes further details and explanations how this configuration
181181 "queryAllDeclaredConstructors": true,
182182 "queryAllPublicMethods": true,
183183 "queryAllPublicConstructors": true,
184- "unsafeAllocated": true
184+ "unsafeAllocated": true,
185+ "reasons": [
186+ "Created for Demo purposes"
187+ ]
185188 }
186189]
187190```
@@ -209,7 +212,7 @@ It is not possible to specify JNI metadata in code.
209212### JNI Metadata in JSON
210213
211214JNI metadata should be specified in a _jni-config.json_ file and conform to the JSON schema defined in
212- [jni-config-schema-v1.1 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/jni-config-schema-v1.1 .0.json).
215+ [jni-config-schema-v1.2 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/jni-config-schema-v1.2 .0.json).
213216The schema also includes further details and explanations how this configuration works. The example of jni-config.json is the same
214217as the example of reflect-config.json described above.
215218
@@ -240,7 +243,7 @@ class Example {
240243### Resource Metadata in JSON
241244
242245Resource metadata should be specified in a _resource-config.json_ file and conform to the JSON schema defined in
243- [resource-config-schema-v1.0 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/resource-config-schema-v1.0 .0.json).
246+ [resource-config-schema-v1.1 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/resource-config-schema-v1.1 .0.json).
244247The schema also includes further details and explanations how this configuration works. Here is the example of the resource-config.json:
245248```json
246249{
@@ -250,15 +253,21 @@ The schema also includes further details and explanations how this configuration
250253 "condition": {
251254 "typeReachable": "<condition-class>"
252255 },
253- "pattern": ".*\\ .txt"
256+ "pattern": ".*\\ .txt",
257+ "reasons": [
258+ "We want all txt files"
259+ ]
254260 }
255261 ],
256262 "excludes": [
257263 {
258264 "condition": {
259265 "typeReachable": "<condition-class>"
260266 },
261- "pattern": ".*\\ .txt"
267+ "pattern": ".*\\ .txt",
268+ "reasons": [
269+ "We want no txt files"
270+ ]
262271 }
263272 ]
264273 },
@@ -268,7 +277,11 @@ The schema also includes further details and explanations how this configuration
268277 "typeReachable": "<condition-class>"
269278 },
270279 "name": "fully.qualified.bundle.name",
271- "locales": ["en", "de", "sk"]
280+ "locales": ["en", "de", "sk"],
281+ "reasons": [
282+ "That' s a useful bundle" ,
283+ " We support English , German , and Slovak "
284+ ]
272285 },
273286 {
274287 " condition" : {
@@ -278,6 +291,9 @@ The schema also includes further details and explanations how this configuration
278291 " classNames" : [
279292 " fully. qualified. bundle. name_en" ,
280293 " fully. qualified. bundle. name_de"
294+ ],
295+ " reasons" : [
296+ " English and German have their one additional bundles"
281297 ]
282298 }
283299 ]
@@ -324,7 +340,7 @@ The following methods are evaluated at build time when called with constant argu
324340### Dynamic Proxy Metadata in JSON
325341
326342Dynamic proxy metadata should be specified in a _proxy-config.json_ file and conform to the JSON schema defined in
327- [proxy-config-schema-v1.0 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/proxy-config-schema-v1.0 .0.json).
343+ [proxy-config-schema-v1.1 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/proxy-config-schema-v1.1 .0.json).
328344The schema also includes further details and explanations how this configuration works. Here is the example of the proxy-config.json:
329345```json
330346[
@@ -335,6 +351,9 @@ The schema also includes further details and explanations how this configuration
335351 " interfaces" : [
336352 " IA " ,
337353 " IB "
354+ ],
355+ " reasons" : [
356+ " We generate dynamic proxies for IA and IB "
338357 ]
339358 }
340359]
@@ -377,7 +396,7 @@ Proxy classes can only be registered for serialization via the JSON files.
377396### Serialization Metadata in JSON
378397
379398Serialization metadata should be specified in a _serialization-config.json_ file and conform to the JSON schema defined in
380- [serialization-config-schema-v1.1 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/serialization-config-schema-v1.1 .0.json).
399+ [serialization-config-schema-v1.2 .0.json](https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/assets/serialization-config-schema-v1.2 .0.json).
381400The schema also includes further details and explanations how this configuration works. Here is the example of the serialization-config.json:
382401```json
383402{
@@ -387,23 +406,32 @@ The schema also includes further details and explanations how this configuration
387406 " typeReachable" : " < condition- class> "
388407 },
389408 " type" : " < fully- qualified- class- name> " ,
390- "customTargetConstructorClass": "<custom-target-constructor-class>"
409+ " customTargetConstructorClass" : " < custom- target- constructor- class> " ,
410+ " reasons" : [
411+ " Serialized by MyClass "
412+ ]
391413 }
392414 ],
393415 " lambdaCapturingTypes" : [
394416 {
395417 " condition" : {
396418 " typeReachable" : " < condition- class> "
397419 },
398- "name": "<fully-qualified-class-name>"
420+ " name" : " < fully- qualified- class- name> " ,
421+ " reasons" : [
422+ " Serialized by MyClass "
423+ ]
399424 }
400425 ],
401426 " proxies" : [
402427 {
403428 " condition" : {
404429 " typeReachable" : " < condition- class> "
405430 },
406- "interfaces": ["<fully-qualified-interface-name-1>", "<fully-qualified-interface-name-n>"]
431+ " interfaces" : [" < fully- qualified- interface- name- 1 > " , " < fully- qualified- interface- name- n> " ],
432+ " reasons" : [
433+ " Generated dynamic proxies for interfaces 1 and 2 "
434+ ]
407435 }
408436 ]
409437}
0 commit comments