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:40:33 UTC 2016


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