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