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

Document the ZIP FS properties compressionMethod and releaseVersion

    XMLWordPrintable

Details

    • CSR
    • Resolution: Approved
    • P4
    • 14
    • core-libs
    • None
    • behavioral
    • minimal
    • Hide
      This change is primarily a documentation update.

      The previously undocumented "multi-release" property is being renamed to "releaseVersion" and the "noCompression" property is being renamed to "compressionMethod".

       - The "multi-release" property will be checked if the releaseVersion property is not set and a multi-release JAR is being used.

      - The "noCompression property will be checked if the "compressionMethod" property is not set.

      Therefore there is no impact on the use of the previously undocumented properties.
      Show
      This change is primarily a documentation update. The previously undocumented "multi-release" property is being renamed to "releaseVersion" and the "noCompression" property is being renamed to "compressionMethod".  - The "multi-release" property will be checked if the releaseVersion property is not set and a multi-release JAR is being used. - The "noCompression property will be checked if the "compressionMethod" property is not set. Therefore there is no impact on the use of the previously undocumented properties.
    • Other

    Description

      Summary

      Document the ZIP FS properties "compressionMethod" and "releaseVersion".

      Problem

      The ZIP File System supports several undocumented properties such as "noCompression" and "multi-release".

      At this time, we will document and support the properties "compressionMethod"(formerly "noCompression") and "releaseVersion" (formerly "multi-release").

      Solution

      Document the "compressionMethod"(formerly "noCompression") and "releaseVersion" (formerly "multi-release") properties while still supporting "noCompression" and "multi-release" for backwards compatibility.

      We will consider supporting and documenting the remaining un-documented properties once there is adequate testing and a belief that supporting the properties brings value to the developer community.

      Specification

      The following properties are added (please refer to the attached diff module-info.java.diff-Sept_23_2019.txt):

      compressionMethod - "DEFLATED"(default) - The value representing the compression method to use when writing entries to the Zip file system.

      • If the value is "STORED", the Zip file system provider will not compress entries when writing to the Zip file system.
      • If the value is "DEFLATED" or the property is not set, the Zip file system provider will use data compression when writing entries to the Zip file system.
      • If the value is not "STORED" or "DEFLATED", an IllegalArgumentException will be thrown when creating the Zip filesystem.

      releaseVersion - null/not set(default) - A value representing the version entry to use when accessing a multi-release JAR. If the JAR is not a multi-release JAR, the value will be ignored and the JAR will considered un-versioned.

      The value must be either the string "runtime" or represent a valid Java SE Platform version number, such as 9 or 14, in order to determine the version entry.

      • If the value is null or the property is not set, then the JAR will be treated as an un-versioned JAR.
      • If the value is "runtime" , the version entry will be determined by invoking Runtime.Version.feature().
      • If the value does not represent a valid Java SE Platform version number, an IllegalArgumentException will be thrown.

      Attachments

        Issue Links

          Activity

            People

              lancea Lance Andersen
              lancea Lance Andersen
              Alan Bateman, Christoph Langer, Martin Buchholz
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: