RFR: JDK-8159172 - Update usage of jlink/jimage/jmod to show option patterns
Jim Laskey (Oracle)
james.laskey at oracle.com
Thu Jun 23 18:48:42 UTC 2016
Bug number?
> On Jun 23, 2016, at 3:46 PM, Chris Bensen <chris.bensen at oracle.com> wrote:
>
> --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