RFR: 8302819: Remove JAR Index [v2]

Eirik Bjorsnos duke at openjdk.org
Wed Mar 29 19:55:37 UTC 2023


> This PR removes the JAR index feature from the runtime:
> 
> - `URLClassPath` is  updated to remove the `enableJarIndex` system property and any code which would be called when this property was `true`
> - The `JarIndex` implementation class is moved into `jdk.jartool` module.
> - The `InvalidJarIndexError` exception class is removed because it falls out of use
> - The test `test/jdk/sun/misc/JarIndex/metaInfFileNames/Basic.java` is removed because it depends on the JarIndex feature being present
> - The test `test/jdk/sun/misc/JarIndex/JarIndexMergeForClassLoaderTest.java` is removed because it depends on the JarIndex feature being present
> - The test `test/jdk/sun/misc/JarIndex/JarIndexMergeTest.java` is removed because it end up being the only caller of the  JarIndex.merge feature
> - All `JarIndex` methods/constructors which are not used by the `jar -i` implementation are removed. 
> - `JarIndex` is given package-private access.
> 
> Outstanding code work:
> 
> - Create tests for `JarFile` and `JarInputStream` accepting dusty INDEX jars.
> 
> Outstanding work:
> 
> - CSR for the removal
> - Release notes for the removal
> - Coordination of the update of the Jar File Specification

Eirik Bjorsnos has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 11 additional commits since the last revision:

 - Remove blank line 93 as per suggestion by Mandy
 - Merge branch 'master' into remove-jar-index
 - Remove JarIndex default constructor
 - Make JarIndex.INDEX_NAME package private
 - Remove outdated reference to URLClassLoader using JarIndex
 - Make JarIndex package private
 - The JarIndex.merge method ended up being used only by the JarIndexMergeTest test. Removing this test, the JarIndex.merge methods and a number of other JarIndex methods not used by the 'jar' tool
 - Revert the export of sun.security.action to jdk.jartool. JarIndex can use System.property instead since the 'jar' tool does not run with a SecurityManager
 - Revert noisy whitespace changes
 - Revert noisy whitespace changes
 - ... and 1 more: https://git.openjdk.org/jdk/compare/599939df...2b5d8a4a

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/13158/files
  - new: https://git.openjdk.org/jdk/pull/13158/files/fee0da27..2b5d8a4a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13158&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13158&range=00-01

  Stats: 12002 lines in 289 files changed: 4769 ins; 5962 del; 1271 mod
  Patch: https://git.openjdk.org/jdk/pull/13158.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13158/head:pull/13158

PR: https://git.openjdk.org/jdk/pull/13158



More information about the security-dev mailing list