Skip to content

Conversation

graalvmbot
Copy link
Collaborator

Improve verification of options: the list of options in help text is guaranteed to contain all options.

Mentions that it should be used with --future-defaults=all in the first sentence.

Removed enumeration from the list as it is not relevant and options are easier to read and copy/paste.

Option misuse now prints the whole option help text:

Error: The '--future-defaults=asdf' option from command line contains invalid value 'asdf'. It can only contain: 'all', 'run-time-initialize-jdk', 'none', 'run-time-initialize-file-system-providers', 'run-time-initialize-security-providers', 'complete-reflection-types'.

Usage:

Enables options that are planned to become defaults in future releases. Comma-separated list can contain 'all', 'run-time-initialize-jdk', 'none', 'run-time-initialize-file-system-providers', 'run-time-initialize-security-providers', 'complete-reflection-types'. The preferred usage is '--future-defaults=all'.

The meaning of each possible option is as follows:
  'all' - is the preferred option, and it enables all other behaviors.

  'run-time-initialize-jdk' - enables all behaviors related to run-time initialization of the JDK: ['run-time-initialize-security-providers', 'run-time-initialize-file-system-providers'].

  'none' - forcefully disables all enabled options. This can be used only on the command line to override choices taken by inaccessible parts of the build process.

  'complete-reflection-types' - reflective registration of a type, via metadata files or the Feature API, always includes all type metadata. Now, all registered types behave the same as types defined in 'reachability-metadata.json'.

  'run-time-initialize-security-providers' - shifts away from build-time initialization for 'java.security.Provider'. Unless you store 'java.security.Provider'-related classes in the image heap, this option should not affect you. In case this option breaks your build, follow the suggestions in the error messages.

  'run-time-initialize-file-system-providers' - shifts away from build-time initialization for 'java.nio.file.spi.FileSystemProvider'. Unless you store 'FileSystemProvider'-related classes in the image heap, this option should not affect you. In case this option breaks your build, follow the suggestions in the error messages.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Aug 20, 2025
@graalvmbot graalvmbot force-pushed the vj/GR-68619-future-defaults-desc branch 3 times, most recently from abaa0c7 to a34bd09 Compare August 27, 2025 12:07
Improve verification of options: the list of options in help text is guaranteed to contain all options.

Mentions that it should be used with `--future-defaults=all` in the first sentence.

Removed enumeration from the list as it is not relevant and options are easier to read and copy/paste.

Option misuse now prints the whole option help text.
@graalvmbot graalvmbot force-pushed the vj/GR-68619-future-defaults-desc branch from a34bd09 to 83b525e Compare August 27, 2025 12:17
@graalvmbot graalvmbot merged commit 24c43e0 into master Sep 1, 2025
13 checks passed
@graalvmbot graalvmbot deleted the vj/GR-68619-future-defaults-desc branch September 1, 2025 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants