- java.lang.Object
-
- picocli.codegen.aot.graalvm.ResourceConfigGenerator
-
public class ResourceConfigGenerator extends Object
ResourceConfigGeneratorgenerates a JSON String with the resource bundles and other classpath resources that should be included in the Substrate VM native image.The GraalVM native-image builder by default will not integrate any of the classpath resources into the image it creates.
The output of
ResourceConfigGeneratoris intended to be passed to the-H:ResourceConfigurationFiles=/path/to/resource-config.jsonoption of thenative-imageGraalVM utility. This allows picocli-based native image applications to access these resources.Alternatively, the generated configuration files can be supplied to the
native-imagetool by placing them in aMETA-INF/native-image/directory on the class path, for example, in a JAR file used in the image build. This directory (or any of its subdirectories) is searched for files with the namesjni-config.json,reflect-config.json,proxy-config.jsonandresource-config.json, which are then automatically included in the build. Not all of those files must be present. When multiple files with the same name are found, all of them are included.- Since:
- 4.0
-
-
Constructor Summary
Constructors Constructor Description ResourceConfigGenerator()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringgenerateResourceConfig(CommandLine.Model.CommandSpec[] specs, String[] bundles, String[] resourceRegex)Returns a JSON String with the resources and resource bundles to include for the specifiedCommandSpecobjects.static voidmain(String... args)Runs this class as a standalone application, printing the resulting JSON String to a file or toSystem.out.
-
-
-
Method Detail
-
main
public static void main(String... args)
Runs this class as a standalone application, printing the resulting JSON String to a file or toSystem.out.- Parameters:
args- one or more fully qualified class names of@Command-annotated classes.
-
generateResourceConfig
public static String generateResourceConfig(CommandLine.Model.CommandSpec[] specs, String[] bundles, String[] resourceRegex)
Returns a JSON String with the resources and resource bundles to include for the specifiedCommandSpecobjects.- Parameters:
specs- one or moreCommandSpecobjects to inspect for resource bundlesbundles- base names of additional resource bundles to be included in the imageresourceRegex- one or more Java regular expressions that match resource(s) to be included in the image- Returns:
- a JSON String in the format
required by the
-H:ResourceConfigurationFiles=/path/to/resource-config.jsonoption of the GraalVMnative-imageutility.
-
-