Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

--exclude-config not working when provided after -jar #3742

Closed
galderz opened this issue Aug 31, 2021 · 1 comment
Closed

--exclude-config not working when provided after -jar #3742

galderz opened this issue Aug 31, 2021 · 1 comment
Assignees

Comments

@galderz
Copy link
Contributor

galderz commented Aug 31, 2021

exclude-config is not working when the metadata to be excluded is within classpath jar files referenced by the runnable jar (e.g. via the manifest). In this case, the exclusions are queried before exclude-config parameter has been parsed.

Update: the real issue is that the order of of --exclude-config and -jar can cause exclude-config not to be applied. Checks for exclusion happen while processing -jar, so if --exclude-config is provided after that, it will be ignored. A temporary workaround is to provide --exclude-config before -jar, but a better solution is needed that is not relying on the order in which parameters are given.

Issue is present in the latest GraalVM CE release, 21.2.0.

Please assign this to me.

@galderz galderz changed the title exclude-config not working in classpath jars --exclude-config not working when provided after -jar Aug 31, 2021
galderz added a commit to galderz/mandrel that referenced this issue Sep 1, 2021
* Custom image classpath processing can be impacted by exclude-config.
* Moved the code out of -jar parsing,
to avoid the need for specific parameter order.
* Without this change,
--exclude-config needs to be passed before -jar
for it to have an effect.
galderz added a commit to galderz/mandrel that referenced this issue Sep 1, 2021
* Custom image classpath processing can be impacted by exclude-config.
* Moved the code out of -jar parsing,
to avoid the need for specific parameter order.
* Without this change,
--exclude-config needs to be passed before -jar
for it to have an effect.
* Added verbose messages for easier debugging of native-image binary.
galderz added a commit to galderz/mandrel that referenced this issue Sep 2, 2021
* Custom image classpath processing can be impacted by exclude-config.
* Moved the code out of -jar parsing,
to avoid the need for specific parameter order.
* Without this change,
--exclude-config needs to be passed before -jar
for it to have an effect.
* Added verbose messages for easier debugging of native-image binary.
galderz added a commit to galderz/mandrel that referenced this issue Sep 2, 2021
* Custom image classpath processing can be impacted by exclude-config.
* Moved the code out of -jar parsing,
to avoid the need for specific parameter order.
* Without this change,
--exclude-config needs to be passed before -jar
for it to have an effect.
* Added verbose messages for easier debugging of native-image binary.
galderz added a commit to galderz/mandrel that referenced this issue Sep 2, 2021
* Custom image classpath processing can be impacted by exclude-config.
* Moved the code out of -jar parsing,
to avoid the need for specific parameter order.
* Without this change,
--exclude-config needs to be passed before -jar
for it to have an effect.
* Added verbose messages for easier debugging of native-image binary.
@olpaw
Copy link
Member

olpaw commented Sep 6, 2021

See #3749 (comment)

I.e. the workaround is not actually a workaround but the proper solution that is in line with the specified left-to-right option processing behaviour of native-image. Modifying the evaluation order would break compatibility.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants