RFR: 8263412: ClassFileInstaller can't be used by classes outside of default package

Igor Ignatyev iignatyev at openjdk.java.net
Thu Mar 11 20:22:28 UTC 2021


Hi all,

could you please review the patch which moves `ClassFileInstaller` class to `jdk.test.lib.helpers` package? 
to reduce changes in the tests, `ClassFileInstaller` in the default package is kept w/ just `main` method that calls  `jdk.test.lib.helpers. ClassFileInstaller::main`. 

from JBS:
> ClassFileInstaller is in the default package hence it's impossible to use it directly by classes in any other package. although ClassFileInstaller is mainly used directly from jtreg test description, there are cases when one needs to use it in another "driver" class (e.g. to reduce boilerplate), yet to do. that these driver classes have to either be in a default package or use reflection, both approaches have drawbacks. 
> 
> to solve that, we can move ClassFileInstaller implementation to a package, and to avoid unneeded churn, keep package-less ClassFileInstaller class which will call package-full impl.
>
> the need for this patch has raised as part of [JDK-8254129](https://bugs.openjdk.java.net/browse/JDK-8263412).

testing:
- [x] `:jdk_core` against `{macos,windows,linux}-x64`
- [x] `:jdk_svc` against `{macos,windows,linux}-x64`
- [x] `test/hotspot/jtreg` w/o `applications` and `vmTestbase` directories against `{macos,windows,linux}-x64`

Thanks,
-- Igor

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

Commit messages:
 - make ClassFileInstaller.Manifest::from* public
 - updated copyright years
 - import j.t.l.helpers.ClassFileInstaller
 - added jdk/test/lib/helpers/ClassFileInstaller

Changes: https://git.openjdk.java.net/jdk/pull/2932/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2932&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263412
  Stats: 473 lines in 114 files changed: 145 ins; 229 del; 99 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2932.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2932/head:pull/2932

PR: https://git.openjdk.java.net/jdk/pull/2932


More information about the core-libs-dev mailing list