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