RFR: JDK-8159172 - Update usage of jlink/jimage/jmod to show option patterns
Chris Bensen
chris.bensen at oracle.com
Thu Jun 23 18:46:28 UTC 2016
--mp should be -p, at least according to Mark’s email about options unification:
>> Existing spellings New spellings
>> -------------------------------- -------------------------------
>> -modulepath | -mp | --modulepath --module-path | -p
Chris
> On Jun 23, 2016, at 11:40 AM, Jim Laskey (Oracle) <james.laskey at oracle.com> wrote:
>
>
> http://cr.openjdk.java.net/~jlaskey/8159172/webrev/index.html <http://cr.openjdk.java.net/~jlaskey/8159172/webrev/index.html>
> https://bugs.openjdk.java.net/browse/JDK-8159172 <https://bugs.openjdk.java.net/browse/JDK-8159172>
>
> This is an initial clean up of help for jlink/jimage/jmod. More work is required (like unifying the options tooling), but comments welcome. — Jim
>
> /Projects/jdk9-dev% jmod --help
> Usage: jmod (create|list|describe|hash) <OPTIONS> <jmod-file>
>
> Main operation modes:
> create - Creates a new jmod archive
> list - Prints the names of all the entries
> describe - Prints the module details
> hash - Records hashes of tied modules.
>
> Option Description
> ------ -----------
> --class-path <path> Application jar files|dir containing
> classes
> --cmds <path> Location of native commands
> --config <path> Location of user-editable config files
> --dry-run Dry run of hash mode
> --exclude <pattern-list> Exclude files matching the supplied
> comma separated pattern list, each
> element using one the following
> forms: <glob-pattern>, glob:<glob-
> pattern> or regex:<regex-pattern>
> --hash-modules <regex-pattern> Compute and record hashes to tie a
> packaged module with modules
> matching the given <regex-pattern>
> and depending upon it directly or
> indirectly. The hashes are recorded
> in the JMOD file being created, or a
> JMOD file or modular JAR on the
> module path specified the jmod hash
> command.
> --help Print this usage message
> --libs <path> Location of native libraries
> --main-class <class-name> Main class
> --module-version <module-version> Module version
> --modulepath, --mp <path> Module path
> --os-arch <os-arch> Operating system architecture
> --os-name <os-name> Operating system name
> --os-version <os-version> Operating system version
> --version Version information
> @<filename> Read options from the specified file
>
> /Projects/jdk9-dev% jimage --help
> Usage: jimage <extract | info | list | verify> <options> jimage...
>
> extract - Extract all jimage entries and place in a directory specified
> by the --dir=<directory> (default=.) option.
>
> info - Prints detailed information contained in the jimage header.
>
> list - Prints the names of all the entries in the jimage. When used with
> --verbose, list will also print entry size and offset attributes.
>
> verify - Reports on any .class entries that dont verify as classes.
>
> Possible options include:
> --dir Target directory for extract directive
> --include <pattern-list> Pattern list for filtering list or extract entries.w
> --fullversion Print full version information
> --help Print usage message
> --verbose Listing prints entry size and offset attributes
> --version Print version information
>
> For options requiring a <pattern-list>, the value will be a comma separated list of elements each using one the following forms:
> <glob-pattern>
> glob:<glob-pattern>
> regex:<regex-pattern>
>
> @<filename> where filename is the name of a file containing patterns to be used, one pattern per line
>
> /Projects/jdk9-dev% jlink --list-plugins
>
> List of available plugins:
>
> Plugin Name: class-optim
> Option: --class-optim=<all|forName-folding>[:log=<log file>]
> Description: Class optimization. Warning: This plugin is experimental.
> An optional <log file> can be specified to log applied optimizations.
>
> Plugin Name: compress
> Option: --compress=<0|1|2>[:filter=<pattern-list>]
> Description: Compress all resources in the output image.
> Level 0: constant string sharing
> Level 1: ZIP
> Level 2: both.
> An optional <pattern-list> filter can be specified to list the pattern of
> files to be included.
>
> Plugin Name: copy-files
> Option: --copy-files=<List of <file path>=<image target> to copy to the image>.
> Description: If files to copy are not absolute path, JDK home dir is used.
> e.g.: jrt-fs.jar,LICENSE,/home/me/myfile.txt=somewehere/conf.txt
>
> Plugin Name: exclude-files
> Option: --exclude-files=<pattern-list> of files to exclude
> Description: Specify files to exclude. e.g.: **.java,glob:/java.base/native/client/**
>
> Plugin Name: exclude-resources
> Option: --exclude-resources=<pattern-list> resources to exclude
> Description: Specify resources to exclude. e.g.: **.jcov,glob:**/META-INF/**
>
> Plugin Name: generate-jli-classes
> Option: --generate-jli-classes=<bmh[:bmh-species=LL,L3,...]>
> Description: Concrete java.lang.invoke classes to generate
>
> Plugin Name: include-locales
> Option: --include-locales=<langtag>[,<langtag>]*
> Description: BCP 47 language tags separated by a comma, allowing locale matching
> defined in RFC 4647. e.g.: en,ja,*-IN
>
> Plugin Name: installed-modules
> Option: --installed-modules
> Description: Fast loading of module descriptors (always enabled)
>
> Plugin Name: order-resources
> Option: --order-resources=<pattern-list> of paths in priority order. If a @file
> is specified, then each line should be an exact match for the path to be ordered
> Description: Order resources. e.g.: **/module-info.class, at classlist,/java.base/java/lang/**
>
> Plugin Name: release-info
> Option: --release-info=<file>|add:<key1>=<value1>:<key2>=<value2>:...|del:<key list>
> Description: <file> option is to load release properties from the supplied file.
> add: is to add properties to the release file.
> Any number of <key>=<value> pairs can be passed.
> del: is to delete the list of keys in release file.
>
> Plugin Name: strip-debug
> Option: --strip-debug
> Description: Strip debug information from the output image
>
> Plugin Name: strip-native-commands
> Option: --strip-native-commands
> Description: Exclude native commands (such as java/java.exe) from the image
>
> Plugin Name: vm
> Option: --vm=<client|server|minimal|all>
> Description: Select the HotSpot VM in the output image. Default is all
>
> For options requiring a <pattern-list>, the value will be a comma separated list of elements each using one the following forms:
> <glob-pattern>
> glob:<glob-pattern>
> regex:<regex-pattern>
> @<filename> where filename is the name of a file containing patterns to be used, one pattern per line
>
More information about the jdk9-dev
mailing list