[javac] Option --release and compiled version of Requires (original) (raw)
Christian Stein sormuras at gmail.com
Mon Oct 28 17:38:51 UTC 2019
- Previous message: JPackage tool for desktop applications
- Next message: JDK-8029528
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi,
why and how does the --release n
option of javac
control the compiled
version of ModuleDescriptor.Requires directive?
Take this simple module-info.java from a sample project at [*0]:
module foo {}
My current observation is that if you omit the --release option [*1] or if you pass n = N [*2], the current version N (its full version) is recorded in the resulting module descriptor. [*3,*4]
module { name: foo, [mandated java.base (@11.0.5)] }
If you pass a value of n, with n < N and N being the feature release number
of the current javac tool, the compiled version of the mandated "java.base"
module is dropped/lost in ... compilation. See [*5, *6] for release 9[10]
usages that produce the following ModuleDescriptor String-representation:
module { name: foo, [mandated java.base] }
Is this behaviour expected?
Cheers, Christian
[*0] https://github.com/sormuras/sandbox/tree/master/java-compiled-versions [*1] https://github.com/sormuras/sandbox/commit/60bf55a4a42e234894a9d7e6d502a685c750da9e/checks?check_suite_id=284695530#step:5:9 [*2] https://github.com/sormuras/sandbox/commit/60bf55a4a42e234894a9d7e6d502a685c750da9e/checks?check_suite_id=284695530#step:6:9 [*3] https://github.com/sormuras/sandbox/commit/60bf55a4a42e234894a9d7e6d502a685c750da9e/checks?check_suite_id=284695530#step:5:13 [*4] https://github.com/sormuras/sandbox/commit/60bf55a4a42e234894a9d7e6d502a685c750da9e/checks?check_suite_id=284695530#step:6:13 [*5] https://github.com/sormuras/sandbox/runs/277876326#step:7:9 [*6] https://github.com/sormuras/sandbox/runs/277876326#step:8:9
- Previous message: JPackage tool for desktop applications
- Next message: JDK-8029528
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]