quarkusio/quarkus

Check that no dependencies include native-image metadata

Open

#16.062 aperta il 26 mar 2021

Vedi su GitHub
 (2 commenti) (2 reazioni) (0 assegnatari)Java (2464 fork)batch import
area/buildarea/native-imagehelp wantedkind/enhancement

Metriche repository

Star
 (12.967 star)
Metriche merge PR
 (Merge medio 6g 4h) (325 PR mergiate in 30 g)

Descrizione

Description

Library maintainers are now encouraged to add metadata for native-image within the jar files to improve the out-of-the-box experience on GraalVM native.

This is great as it will likely, on average, reduce the friction to adopt native-image in the larger ecosystem; however we've already witnessed that in some cases such metadata might be incompatible with flags from other libraries, or just have a different impact than what the original author intended.

My proposal is to introduce some assertions in our build to verify that no 3rd party library we depend on has any such metadata; that's not to say we want to ban them, but this is meant to make sure we actually notice when some apparently innocent version upgrade of a random library pulls in new flags on the classpath, so that we get a chance to investigate them and test them, and possibly apply corrective measures.

Guida contributor