Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8167384

jimage list --include=<pattern-list> has confusing behavior

    Details

    • Subcomponent:
    • CPU:
      generic
    • OS:
      generic

      Description

      Accordingly to jimage's help:

        list - Prints the names of all the entries in the jimage. When used with
                   --verbose, list will also print entry size and offset attributes.

      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

      1) glob patterns seem to be completely broken:

      jimage list --include='*' path_to_image
      jimage list --include='glob:*' path_to_image

      produce output:

      jimage: path_to_image

      while I'd expect to see the same output as one produced with `jimage list`. Moreover I cannot find a pattern to see something useful in the output.

      2) regex patterns require catch-all-expression at the beginning of an expression:

      jimage list --include='regex:java/io.*' path_to_image

      produces

      jimage: path_to_image

      while

      jimage list --include='regex:.*java/io.*' path_to_image

      results in a list of java.io classes, java.base module and path to the image.

      3) if patterns file is empty no output is produced:

      jimage list --include='@empty.txt' path_to_image

      produces

      jimage: path_to_image

      I'd expect if no patterns are specified then the output should be the same as `jimage list` does.

      4) --include option works with '=' only:

      It's expected that --long-options supported syntax includes both form:
      --include='patterns'
      --include 'patterns'
      but currently only the first one is supported. The second form produces error message depending on other arguments:

      jimage list --include '@patterns.txt' -- path_to_image
      Error: no value given for --include

      jimage list --include '@patterns.txt' path_to_image
      Error: no jimage provided

      Everything was tested with JDK 9 b138 on linux-x64.

        Attachments

          Activity

            People

            • Assignee:
              jlaskey Jim Laskey
              Reporter:
              dkononenko Denis Kononenko
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: