On Wed, 20 Nov 2024 14:26:27 GMT, Severin Gehwolf <sgehw...@openjdk.org> wrote:

> Please review this simple patch which adds a new external system property 
> `jdk.patched` when the runtime has been patched with the `--patch-module` 
> switch. This is useful for two reasons: 1) it allows one to determine at 
> run-time whether or not `--patch-module` has been used (by querying the said 
> property) 2) allows tools, such as `jlink` doing the same without needing to 
> expose internal properties the JVM sets on initialization.
> 
> Testing:
> 
> - [x] GHA (includes new test)
> - [x] New jtreg test 
> 
> Thoughts?

> Having now looked at #22037 which is what motivated this change, I now have a 
> more basic question.
> 
> The `--patch-module` option is an option for the `java` command. The code 
> changes in this current PR is proposing to set a system property if `java` 
> was launched with `--patch-module=...`. The other PR is about image creation 
> using `jlink` command. Looking at the other PR, it proposes to look for the 
> presence of this system property to do some decisions during image creation. 
> However, when that `jlink` command is invoked, it's a completely different 
> process/runtime, so how would `--patch-module` for `java` setting a system 
> property propagate to that image creation `jlink` process?
> 
> I am feeling that I have misunderstood what's being proposed here.

This is the corner case of jlink being run with -J--patch-module or 
"in-process" with ToolProvider. I see Severin recently added to the link of 
restrictions in JEP 493 but I'm not sure that it rises to the level that it 
should be mentioned in the JEP.

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

PR Comment: https://git.openjdk.org/jdk/pull/22277#issuecomment-2490292591

Reply via email to