Skip to content

Conversation

graalvmbot
Copy link
Collaborator

This PR is best reviewed commit-by-commit (though builds between commits likely do not work; this was a large change and my goal was to make it reviewable).

In order to do tracing from a native image, core needs access to ConfigurationSet and related classes. On master, configure depends on core, which prevents us from adding a dependency in the other direction. This change refactors the projects to break the dependency and adds a dependency from core to configure.

Essentially:

  • If a class is needed by both core and configure, we move it from com.oracle.svm.core.* to com.oracle.svm.configure (e.g., com.oracle.svm.core.configure.ConfigurationFile -> com.oracle.svm.configure.ConfigurationFile).
  • If a class is needed by additional classes, we move it to com.oracle.svm.util (e.g., TypeResult).

I had to also extract some logic out of core if a class could not be wholesale moved (e.g., NativeImageResourcePathRepresentation, GlobUtils).

There were also some places that configure was depending on hosted options like TreatAllTypeReachableConditionsAsTypeReached; I have removed those accesses and instead require the flag to be supplied as a parameter.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Mar 21, 2025
@graalvmbot graalvmbot closed this Mar 22, 2025
@graalvmbot graalvmbot deleted the mdsouza/GR-62126-move-config-package branch March 22, 2025 15:53
@graalvmbot graalvmbot merged commit 6713c56 into master Mar 22, 2025
13 checks passed
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