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

Add metadata for graphql-java-extended-validation #152

Merged
merged 1 commit into from Feb 27, 2023

Conversation

bclozel
Copy link
Collaborator

@bclozel bclozel commented Dec 16, 2022

What does this PR do?

This PR builds on the existing graphql-java metadata and adds the relevant content for the graphql-java-extended-validation artifact.

Checklist before merging

  • I have properly formatted metadata files (see CONTRIBUTING
    document)
  • I have added thorough tests. (see this)

@bclozel
Copy link
Collaborator Author

bclozel commented Dec 16, 2022

This PR is currently in draft, as I'm hitting a strange issue.
The module declares its dependency to the "com.graphql-java:graphql-java", "org.hibernate.validator:hibernate-validator" and "org.jboss.logging:jboss-logging" modules, but the native test fails as if it's missing from the test image. This fails with a Hibernate Validator + JBoss Logging issue.

Manually adding the metadata to the test application solves the problem.

I've also checked the metadata against a real application successfully.
Is there a problem with the TCK engine? How can I check that the "requires" metadata folders are added to the test image?

@bclozel
Copy link
Collaborator Author

bclozel commented Dec 20, 2022

As discussed with the team, here's the output of the following command:

$ ./gradlew test -Pcoordinates=com.graphql-java:graphql-java-extended-validation:19.1 -debug

2022-12-20T16:00:20.680+0100 [QUIET] [system.out]
2022-12-20T16:00:20.681+0100 [QUIET] [system.out] > Task :nativeTestCompile
2022-12-20T16:00:20.683+0100 [QUIET] [system.out] [native-image-plugin] Args are: [-cp, /Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/libs/graphql-java-extended-validation-tests.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.graphql-java/graphql-java-extended-validation/19.1/55cbd635626457b2e6f9763ba1b1c0889305effc/graphql-java-extended-validation-19.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.hibernate.validator/hibernate-validator/7.0.4.Final/36c91ad2987af9c5dd19eb4f011d9d294ac1721e/hibernate-validator-7.0.4.Final.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.5.0.Final/c19307cc11f28f5e2679347e633a3294d865334d/jboss-logging-3.5.0.Final.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.graalvm.buildtools/junit-platform-native/0.9.16/6f5549c55a5792e12793f13a354118ac41fcd749/junit-platform-native-0.9.16.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter/5.8.1/73a218cf02d36d4e87bb9697fdbe0780e92b6bd3/junit-jupiter-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.vintage/junit-vintage-engine/5.8.1/dc5044ea04aaf53fa3e35509f255720eec426637/junit-vintage-engine-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-console/1.8.1/3499405657205c4d6307c1886155edd3c51b6ee1/junit-platform-console-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-reporting/1.8.1/20dde69627366422eb49055414a57e226a3650be/junit-platform-reporting-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-launcher/1.8.1/c77eab66c4c4ef92ce6bd2175a5184771ff1d0dd/junit-platform-launcher-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-params/5.8.1/13afdb5d414cbe991fce3ef6b864de77c9644dae/junit-jupiter-params-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-engine/5.8.1/21b86e08aae2720bbf017703669948be96d1388c/junit-jupiter-engine-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.8.1/6538b88eb8bf8811bc7b6efb5246f835c15e0bfe/junit-jupiter-api-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-engine/1.8.1/e6c63bf990dc88a6527b4ed617b23e47048f07e0/junit-platform-engine-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.8.1/1e362cbe6d0f225b066757865e233972557484/junit-platform-commons-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.assertj/assertj-core/3.22.0/c300c0c6a24559f35fa0bd3a5472dc1edcd0111e/assertj-core-3.22.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.graphql-java/graphql-java-extended-scalars/19.0/c88b5c4fa44368a6b8eff2ac5fd4325482dea980/graphql-java-extended-scalars-19.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.graphql-java/graphql-java/19.2/7b3ab4a5c85cafabd0848cb3e41a7e547585420e/graphql-java-19.2.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.glassfish/jakarta.el/4.0.2/d67e18e7b3500dc91fe941ed3a1807074eaac750/jakarta.el-4.0.2.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/jakarta.validation/jakarta.validation-api/3.0.0/8c8eecc40da64037d7731356511c568d466f8480/jakarta.validation-api-3.0.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.5.1/3fe0bed568c62df5e89f4f174c101eab25345b6c/classmate-1.5.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.graphql-java/java-dataloader/3.2.0/f45c53595cab4c23e35526cc122e2bd159a50516/java-dataloader-3.2.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.reactivestreams/reactive-streams/1.0.3/d9fb7a7926ffa635b3dcaa5049fb2bfa25b3e7d0/reactive-streams-1.0.3.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.35/517f3a0687490b72d0e56d815e05608a541af802/slf4j-api-1.7.35.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/jakarta.el/jakarta.el-api/4.0.0/ba9834bd2dba5014072bacbafecffaec1673b0f9/jakarta.el-api-4.0.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/junit/junit/4.13.2/8ac9e16d933b6fb43bc7f576336b8f4d7eb5ba12/junit-4.13.2.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.opentest4j/opentest4j/1.2.0/28c11eb91f9b6d8e200631d46e20a7f407f2a046/opentest4j-1.2.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar:/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/classes/java/test:/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/resources/test:/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/test-results/test/testlist, --no-fallback, --verbose, -H:+BuildOutputColorful, -H:Path=/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/native/nativeTestCompile, -H:Name=graphql-java-extended-validation-tests-tests, -H:ConfigurationFileDirectories=/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/native/generated/generateTestResourcesConfigFile,/Users/bclozel/workspace/graalvm-reachability-metadata/metadata/com.graphql-java/graphql-java-extended-validation/19.1, -H:Class=org.graalvm.junit.platform.NativeImageJUnitLauncher, --features=org.graalvm.junit.platform.JUnitPlatformFeature, -H:+StrictConfiguration, --no-fallback]
2022-12-20T16:00:20.684+0100 [QUIET] [system.out] [native-image-plugin] GraalVM Toolchain detection is enabled
2022-12-20T16:00:20.684+0100 [QUIET] [system.out] [native-image-plugin] GraalVM uses toolchain detection. Selected:
2022-12-20T16:00:20.684+0100 [QUIET] [system.out] [native-image-plugin]    - language version: 17
2022-12-20T16:00:20.684+0100 [QUIET] [system.out] [native-image-plugin]    - vendor: GraalVM Community
2022-12-20T16:00:20.685+0100 [QUIET] [system.out] [native-image-plugin]    - runtime version: 17.0.5+8-jvmci-22.3-b08
2022-12-20T16:00:20.685+0100 [QUIET] [system.out] [native-image-plugin] Native Image executable path: /Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/bin/native-image
2022-12-20T16:00:20.686+0100 [QUIET] [system.out] Apply file:///Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/resources/test/META-INF/native-image/graphql-validation-test-metadata/resource-config.json
2022-12-20T16:00:20.686+0100 [QUIET] [system.out] Apply jar:file:///Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/thirdparty/native-image.properties
2022-12-20T16:00:20.686+0100 [QUIET] [system.out] Apply jar:file:///Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/polyglot/native-image.properties
2022-12-20T16:00:20.686+0100 [QUIET] [system.out] Executing [
2022-12-20T16:00:20.686+0100 [QUIET] [system.out] /Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/bin/java \
2022-12-20T16:00:20.686+0100 [QUIET] [system.out] -XX:+UseParallelGC \
2022-12-20T16:00:20.687+0100 [QUIET] [system.out] -XX:+UnlockExperimentalVMOptions \
2022-12-20T16:00:20.687+0100 [QUIET] [system.out] -XX:+EnableJVMCI \
2022-12-20T16:00:20.695+0100 [QUIET] [system.out] -Dtruffle.TrustAllTruffleRuntimeProviders=true \
2022-12-20T16:00:20.695+0100 [QUIET] [system.out] -Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
2022-12-20T16:00:20.695+0100 [QUIET] [system.out] -Dgraalvm.ForcePolyglotInvalid=true \
2022-12-20T16:00:20.695+0100 [QUIET] [system.out] -Dgraalvm.locatorDisabled=true \
2022-12-20T16:00:20.695+0100 [QUIET] [system.out] -Dsubstratevm.IgnoreGraalVersionCheck=true \
2022-12-20T16:00:20.695+0100 [QUIET] [system.out] --add-exports=java.base/com.sun.crypto.provider=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.695+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.access.foreign=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.696+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.event=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.696+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.loader=org.graalvm.nativeimage.builder,org.graalvm.truffle \
2022-12-20T16:00:20.696+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.logger=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.696+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.misc=org.graalvm.nativeimage.builder,org.graalvm.nativeimage.objectfile,org.graalvm.nativeimage.pointsto \
2022-12-20T16:00:20.696+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.module=jdk.internal.vm.compiler,org.graalvm.nativeimage.base,org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.696+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.org.objectweb.asm=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.696+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.perf=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.696+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.platform=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.697+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.ref=org.graalvm.nativeimage.builder,org.graalvm.nativeimage.objectfile \
2022-12-20T16:00:20.697+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.reflect=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.697+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.util=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.697+0100 [QUIET] [system.out] --add-exports=java.base/jdk.internal.vm.annotation=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.697+0100 [QUIET] [system.out] --add-exports=java.base/sun.invoke.util=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.697+0100 [QUIET] [system.out] --add-exports=java.base/sun.net=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.698+0100 [QUIET] [system.out] --add-exports=java.base/sun.nio.ch=org.graalvm.nativeimage.builder,org.graalvm.nativeimage.objectfile \
2022-12-20T16:00:20.698+0100 [QUIET] [system.out] --add-exports=java.base/sun.reflect.annotation=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.698+0100 [QUIET] [system.out] --add-exports=java.base/sun.reflect.generics.factory=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.698+0100 [QUIET] [system.out] --add-exports=java.base/sun.reflect.generics.reflectiveObjects=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.698+0100 [QUIET] [system.out] --add-exports=java.base/sun.reflect.generics.repository=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.698+0100 [QUIET] [system.out] --add-exports=java.base/sun.reflect.generics.scope=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.699+0100 [QUIET] [system.out] --add-exports=java.base/sun.reflect.generics.tree=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.699+0100 [QUIET] [system.out] --add-exports=java.base/sun.security.jca=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.699+0100 [QUIET] [system.out] --add-exports=java.base/sun.security.provider=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.699+0100 [QUIET] [system.out] --add-exports=java.base/sun.security.ssl=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.699+0100 [QUIET] [system.out] --add-exports=java.base/sun.security.util=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.700+0100 [QUIET] [system.out] --add-exports=java.base/sun.security.x509=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.700+0100 [QUIET] [system.out] --add-exports=java.base/sun.text.spi=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.700+0100 [QUIET] [system.out] --add-exports=java.base/sun.util.calendar=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.700+0100 [QUIET] [system.out] --add-exports=java.base/sun.util.cldr=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.700+0100 [QUIET] [system.out] --add-exports=java.base/sun.util.locale.provider=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.700+0100 [QUIET] [system.out] --add-exports=java.base/sun.util.locale=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.700+0100 [QUIET] [system.out] --add-exports=java.base/sun.util.resources=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.701+0100 [QUIET] [system.out] --add-exports=java.base/sun.util=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.701+0100 [QUIET] [system.out] --add-exports=java.desktop/sun.java2d.pipe=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.701+0100 [QUIET] [system.out] --add-exports=java.desktop/sun.java2d=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.701+0100 [QUIET] [system.out] --add-exports=java.management/com.sun.jmx.mbeanserver=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.701+0100 [QUIET] [system.out] --add-exports=java.management/sun.management=org.graalvm.nativeimage.builder,org.graalvm.nativeimage.pointsto \
2022-12-20T16:00:20.701+0100 [QUIET] [system.out] --add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.702+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.objectfile \
2022-12-20T16:00:20.702+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.objectfile \
2022-12-20T16:00:20.702+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.702+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.702+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.objectfile,org.graalvm.nativeimage.pointsto \
2022-12-20T16:00:20.703+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.pointsto \
2022-12-20T16:00:20.703+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler \
2022-12-20T16:00:20.703+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler \
2022-12-20T16:00:20.703+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.riscv64=jdk.internal.vm.compiler \
2022-12-20T16:00:20.703+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.703+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.objectfile,org.graalvm.nativeimage.pointsto \
2022-12-20T16:00:20.704+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.riscv64=jdk.internal.vm.compiler \
2022-12-20T16:00:20.704+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.pointsto \
2022-12-20T16:00:20.704+0100 [QUIET] [system.out] --add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=jdk.internal.vm.compiler,org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.704+0100 [QUIET] [system.out] --add-exports=jdk.jfr/jdk.jfr.events=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.704+0100 [QUIET] [system.out] --add-exports=jdk.jfr/jdk.jfr.internal.handlers=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.704+0100 [QUIET] [system.out] --add-exports=jdk.jfr/jdk.jfr.internal.jfc=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.704+0100 [QUIET] [system.out] --add-exports=jdk.jfr/jdk.jfr.internal=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.704+0100 [QUIET] [system.out] --add-exports=jdk.management/com.sun.management.internal=org.graalvm.nativeimage.builder \
2022-12-20T16:00:20.705+0100 [QUIET] [system.out] -XX:+UseJVMCINativeLibrary \
2022-12-20T16:00:20.705+0100 [QUIET] [system.out] -Xss10m \
2022-12-20T16:00:20.705+0100 [QUIET] [system.out] -Xms1g \
2022-12-20T16:00:20.705+0100 [QUIET] [system.out] -Xmx13743895344 \
2022-12-20T16:00:20.705+0100 [QUIET] [system.out] -Djava.awt.headless=true \
2022-12-20T16:00:20.705+0100 [QUIET] [system.out] -Dorg.graalvm.version=22.3.0 \
2022-12-20T16:00:20.705+0100 [QUIET] [system.out] -Dcom.oracle.graalvm.isaot=true \
2022-12-20T16:00:20.706+0100 [QUIET] [system.out] -Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
2022-12-20T16:00:20.706+0100 [QUIET] [system.out] -Xshare:off \
2022-12-20T16:00:20.706+0100 [QUIET] [system.out] -Djdk.internal.lambda.disableEagerInitialization=true \
2022-12-20T16:00:20.706+0100 [QUIET] [system.out] -Djdk.internal.lambda.eagerlyInitialize=false \
2022-12-20T16:00:20.706+0100 [QUIET] [system.out] -Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
2022-12-20T16:00:20.706+0100 [QUIET] [system.out] -Djunit.platform.listeners.uid.tracking.output.dir=/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/test-results/test/testlist \
2022-12-20T16:00:20.707+0100 [QUIET] [system.out] --add-modules=ALL-DEFAULT \
2022-12-20T16:00:20.707+0100 [QUIET] [system.out] --module-path \
2022-12-20T16:00:20.707+0100 [QUIET] [system.out] /Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/truffle/truffle-api.jar:/Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/builder/svm.jar:/Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/builder/native-image-base.jar:/Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/builder/objectfile.jar:/Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/builder/pointsto.jar \
2022-12-20T16:00:20.707+0100 [QUIET] [system.out] --module \
2022-12-20T16:00:20.707+0100 [QUIET] [system.out] org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner \
2022-12-20T16:00:20.707+0100 [QUIET] [system.out] -imagecp \
2022-12-20T16:00:20.708+0100 [QUIET] [system.out] /Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/libs/graphql-java-extended-validation-tests.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.graphql-java/graphql-java-extended-validation/19.1/55cbd635626457b2e6f9763ba1b1c0889305effc/graphql-java-extended-validation-19.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.hibernate.validator/hibernate-validator/7.0.4.Final/36c91ad2987af9c5dd19eb4f011d9d294ac1721e/hibernate-validator-7.0.4.Final.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.5.0.Final/c19307cc11f28f5e2679347e633a3294d865334d/jboss-logging-3.5.0.Final.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.graalvm.buildtools/junit-platform-native/0.9.16/6f5549c55a5792e12793f13a354118ac41fcd749/junit-platform-native-0.9.16.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter/5.8.1/73a218cf02d36d4e87bb9697fdbe0780e92b6bd3/junit-jupiter-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.vintage/junit-vintage-engine/5.8.1/dc5044ea04aaf53fa3e35509f255720eec426637/junit-vintage-engine-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-console/1.8.1/3499405657205c4d6307c1886155edd3c51b6ee1/junit-platform-console-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-reporting/1.8.1/20dde69627366422eb49055414a57e226a3650be/junit-platform-reporting-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-launcher/1.8.1/c77eab66c4c4ef92ce6bd2175a5184771ff1d0dd/junit-platform-launcher-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-params/5.8.1/13afdb5d414cbe991fce3ef6b864de77c9644dae/junit-jupiter-params-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-engine/5.8.1/21b86e08aae2720bbf017703669948be96d1388c/junit-jupiter-engine-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.8.1/6538b88eb8bf8811bc7b6efb5246f835c15e0bfe/junit-jupiter-api-5.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-engine/1.8.1/e6c63bf990dc88a6527b4ed617b23e47048f07e0/junit-platform-engine-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.8.1/1e362cbe6d0f225b066757865e233972557484/junit-platform-commons-1.8.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.assertj/assertj-core/3.22.0/c300c0c6a24559f35fa0bd3a5472dc1edcd0111e/assertj-core-3.22.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.graphql-java/graphql-java-extended-scalars/19.0/c88b5c4fa44368a6b8eff2ac5fd4325482dea980/graphql-java-extended-scalars-19.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.graphql-java/graphql-java/19.2/7b3ab4a5c85cafabd0848cb3e41a7e547585420e/graphql-java-19.2.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.glassfish/jakarta.el/4.0.2/d67e18e7b3500dc91fe941ed3a1807074eaac750/jakarta.el-4.0.2.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/jakarta.validation/jakarta.validation-api/3.0.0/8c8eecc40da64037d7731356511c568d466f8480/jakarta.validation-api-3.0.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.5.1/3fe0bed568c62df5e89f4f174c101eab25345b6c/classmate-1.5.1.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/com.graphql-java/java-dataloader/3.2.0/f45c53595cab4c23e35526cc122e2bd159a50516/java-dataloader-3.2.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.reactivestreams/reactive-streams/1.0.3/d9fb7a7926ffa635b3dcaa5049fb2bfa25b3e7d0/reactive-streams-1.0.3.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.35/517f3a0687490b72d0e56d815e05608a541af802/slf4j-api-1.7.35.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/jakarta.el/jakarta.el-api/4.0.0/ba9834bd2dba5014072bacbafecffaec1673b0f9/jakarta.el-api-4.0.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/junit/junit/4.13.2/8ac9e16d933b6fb43bc7f576336b8f4d7eb5ba12/junit-4.13.2.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.opentest4j/opentest4j/1.2.0/28c11eb91f9b6d8e200631d46e20a7f407f2a046/opentest4j-1.2.0.jar:/Users/bclozel/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar:/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/classes/java/test:/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/resources/test:/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/test-results/test/testlist \
2022-12-20T16:00:20.708+0100 [QUIET] [system.out] -imagemp \
2022-12-20T16:00:20.708+0100 [QUIET] [system.out] /Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/library-support.jar \
2022-12-20T16:00:20.709+0100 [QUIET] [system.out] -H:CLibraryPath=/Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/clibraries/darwin-amd64 \
2022-12-20T16:00:20.709+0100 [QUIET] [system.out] -H:Path=/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/native/nativeTestCompile \
2022-12-20T16:00:20.709+0100 [QUIET] [system.out] -H:ResourceConfigurationResources@file:///Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/resources/test/META-INF/native-image/graphql-validation-test-metadata/resource-config.json=META-INF/native-image/graphql-validation-test-metadata/resource-config.json \
2022-12-20T16:00:20.709+0100 [QUIET] [system.out] -H:FallbackThreshold=0 \
2022-12-20T16:00:20.709+0100 [QUIET] [system.out] -H:+BuildOutputColorful \
2022-12-20T16:00:20.709+0100 [QUIET] [system.out] -H:Path=/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/native/nativeTestCompile \
2022-12-20T16:00:20.709+0100 [QUIET] [system.out] -H:Name=graphql-java-extended-validation-tests-tests \
2022-12-20T16:00:20.710+0100 [QUIET] [system.out] -H:ConfigurationFileDirectories=/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/native/generated/generateTestResourcesConfigFile,/Users/bclozel/workspace/graalvm-reachability-metadata/metadata/com.graphql-java/graphql-java-extended-validation/19.1 \
2022-12-20T16:00:20.710+0100 [QUIET] [system.out] -H:Class=org.graalvm.junit.platform.NativeImageJUnitLauncher \
2022-12-20T16:00:20.710+0100 [QUIET] [system.out] -H:Features=org.graalvm.junit.platform.JUnitPlatformFeature \
2022-12-20T16:00:20.710+0100 [QUIET] [system.out] -H:+StrictConfiguration \
2022-12-20T16:00:20.710+0100 [QUIET] [system.out] -H:FallbackThreshold=0 \
2022-12-20T16:00:20.710+0100 [QUIET] [system.out] '-H:Features@jar:file:///Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/thirdparty/native-image.properties=com.oracle.svm.thirdparty.gson.GsonFeature' \
2022-12-20T16:00:20.711+0100 [QUIET] [system.out] '-H:Features@jar:file:///Users/bclozel/.sdkman/candidates/java/22.3.r17-grl/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/polyglot/native-image.properties=com.oracle.svm.polyglot.groovy.GroovyIndyInterfaceFeature,com.oracle.svm.polyglot.scala.ScalaFeature'
2022-12-20T16:00:20.711+0100 [QUIET] [system.out] ]
2022-12-20T16:00:23.480+0100 [QUIET] [system.out] ========================================================================================================================
2022-12-20T16:00:23.480+0100 [QUIET] [system.out] GraalVM Native Image: Generating 'graphql-java-extended-validation-tests-tests' (executable)...
2022-12-20T16:00:23.481+0100 [QUIET] [system.out] ========================================================================================================================
2022-12-20T16:00:23.468+0100 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger]
2022-12-20T16:00:23.468+0100 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :test-com.graphql-java-graphql-java-extended-validation-19.1
2022-12-20T16:00:53.081+0100 [QUIET] [system.out] [1/7] Initializing...                                                                                   (32.7s @ 0.11GB)
2022-12-20T16:00:53.081+0100 [QUIET] [system.out]  Version info: 'GraalVM 22.3.0 Java 17 CE'
2022-12-20T16:00:53.081+0100 [QUIET] [system.out]  Java version info: '17.0.5+8-jvmci-22.3-b08'
2022-12-20T16:00:53.081+0100 [QUIET] [system.out]  C compiler: cc (apple, x86_64, 14.0.0)
2022-12-20T16:00:53.081+0100 [QUIET] [system.out]  Garbage collector: Serial GC
2022-12-20T16:00:53.081+0100 [QUIET] [system.out]  1 user-specific feature(s)
2022-12-20T16:00:53.081+0100 [QUIET] [system.out]  - org.graalvm.junit.platform.JUnitPlatformFeature
2022-12-20T16:00:53.281+0100 [QUIET] [system.out] [junit-platform-native] Running in 'test listener' mode using files matching pattern [junit-platform-unique-ids*] found in folder [/Users/bclozel/workspace/graalvm-reachability-metadata/tests/src/com.graphql-java/graphql-java-extended-validation/19.1/build/test-results/test/testlist] and its subfolders.
2022-12-20T16:00:53.269+0100 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger]
2022-12-20T16:00:53.269+0100 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :test-com.graphql-java-graphql-java-extended-validation-19.1
2022-12-20T16:01:30.987+0100 [QUIET] [system.out] [2/7] Performing analysis...  [******]                                                                  (37.6s @ 2.01GB)
2022-12-20T16:01:30.987+0100 [QUIET] [system.out]    8,804 (86.14%) of 10,220 classes reachable
2022-12-20T16:01:30.987+0100 [QUIET] [system.out]   10,620 (61.08%) of 17,386 fields reachable
2022-12-20T16:01:30.988+0100 [QUIET] [system.out]   35,372 (52.37%) of 67,538 methods reachable
2022-12-20T16:01:30.988+0100 [QUIET] [system.out]      167 classes,    94 fields, and   984 methods registered for reflection
2022-12-20T16:01:30.988+0100 [QUIET] [system.out]       58 classes,    59 fields, and    52 methods registered for JNI access
2022-12-20T16:01:30.988+0100 [QUIET] [system.out]        4 native libraries: -framework Foundation, dl, pthread, z
2022-12-20T16:01:36.882+0100 [QUIET] [system.out] [3/7] Building universe...                                                                               (5.9s @ 0.94GB)-graphql-java-extended-validation-19.1
2022-12-20T16:01:36.870+0100 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger]
2022-12-20T16:01:36.870+0100 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :test-com.graphql-java-graphql-java-extended-validation-19.1
2022-12-20T16:01:40.283+0100 [QUIET] [system.out] [4/7] Parsing methods...      [**]                                                                       (3.3s @ 2.85GB)
2022-12-20T16:01:42.382+0100 [QUIET] [system.out] [5/7] Inlining methods...     [***]                                                                      (2.0s @ 3.79GB)-graphql-java-extended-validation-19.1
2022-12-20T16:03:27.286+0100 [QUIET] [system.out] > Task :nativeTest FAILED
2022-12-20T16:03:27.286+0100 [QUIET] [system.out] JUnit Platform on Native Image - report
2022-12-20T16:03:27.286+0100 [QUIET] [system.out] ----------------------------------------
2022-12-20T16:03:27.286+0100 [QUIET] [system.out]
2022-12-20T16:03:27.286+0100 [QUIET] [system.out] graphql.GraphQlValidationTests > validationErrorQuery() FAILED
2022-12-20T16:03:27.286+0100 [QUIET] [system.out]
2022-12-20T16:03:27.286+0100 [QUIET] [system.out]
2022-12-20T16:03:27.286+0100 [QUIET] [system.out] Failures (1):
2022-12-20T16:03:27.286+0100 [QUIET] [system.out]   JUnit Jupiter:GraphQlValidationTests:validationErrorQuery()
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]     MethodSource [className = 'graphql.GraphQlValidationTests', methodName = 'validationErrorQuery', methodParameterTypes = '']
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]     => java.lang.ExceptionInInitializerError
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        graphql.validation.interpolation.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:59)
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        graphql.validation.rules.ValidationRules$Builder.<init>(ValidationRules.java:125)
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        graphql.validation.rules.ValidationRules.newValidationRules(ValidationRules.java:118)
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        graphql.GraphQlValidationTests.parseSchema(GraphQlValidationTests.java:46)
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        graphql.GraphQlValidationTests.validationErrorQuery(GraphQlValidationTests.java:34)
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        [...]
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]      Caused by: java.lang.IllegalArgumentException: Invalid logger interface org.hibernate.validator.internal.util.logging.Log (implementation not found in jdk.internal.loader.ClassLoaders$AppClassLoader@64c64813)
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        org.jboss.logging.Logger.doGetMessageLogger(Logger.java:2564)
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        org.jboss.logging.Logger.getMessageLogger(Logger.java:2530)
2022-12-20T16:03:27.287+0100 [QUIET] [system.out]        org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)
2022-12-20T16:03:27.288+0100 [QUIET] [system.out]        org.hibernate.validator.internal.util.logging.LoggerFactory.make(LoggerFactory.java:22)
2022-12-20T16:03:27.288+0100 [QUIET] [system.out]        org.hibernate.validator.resourceloading.PlatformResourceBundleLocator.<clinit>(PlatformResourceBundleLocator.java:53)
2022-12-20T16:03:27.288+0100 [QUIET] [system.out]        [...]
2022-12-20T16:03:27.288+0100 [QUIET] [system.out]
2022-12-20T16:03:27.288+0100 [QUIET] [system.out] Test run finished after 27 ms
2022-12-20T16:03:27.288+0100 [QUIET] [system.out] [         3 containers found      ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         0 containers skipped    ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         3 containers started    ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         0 containers aborted    ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         3 containers successful ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         0 containers failed     ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         1 tests found           ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         0 tests skipped         ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         1 tests started         ]
2022-12-20T16:03:27.289+0100 [QUIET] [system.out] [         0 tests aborted         ]
2022-12-20T16:03:27.290+0100 [QUIET] [system.out] [         0 tests successful      ]
2022-12-20T16:03:27.290+0100 [QUIET] [system.out] [         1 tests failed          ]

It looks like the ConfigurationFileDirectories argument does not contain the metadata locations for the "required" dependencies nor resolves the metadata from the repo itself.

Comment on lines +21 to +28
graalvmNative {
binaries {
test {
buildArgs.add('--no-fallback')
buildArgs.add('-H:IncludeLocales=fr')
}
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • You can change to the following block of code to verify ?
graalvmNative {
    binaries {
        test {
            // We have to manually add the metadata because the org.graalvm.internal.tck gradle plugin does not automatically import
            configurationFileDirectories.from(tck.metadataRoot.dir('com.graphql-java/graphql-java/19.2'))
            configurationFileDirectories.from(tck.metadataRoot.dir('org.hibernate.validator/hibernate-validator/7.0.4.Final'))
        }
    }
}

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to, I've manually copied those folders in the test and it worked. I guess this approach is more elegant but doesn't solve the TCK problem.

@bclozel bclozel marked this pull request as ready for review February 1, 2023 09:25
@bclozel bclozel requested a review from a team as a code owner February 1, 2023 09:25
@bclozel
Copy link
Collaborator Author

bclozel commented Feb 1, 2023

I've applied a workaround for the TCK issue and created #211 to unlock this PR.

@bclozel bclozel force-pushed the gql-validation branch 2 times, most recently from a3b6f2c to bddee8e Compare February 1, 2023 13:32
@bclozel
Copy link
Collaborator Author

bclozel commented Feb 1, 2023

I've just removed the workaround since the issue will be fixed when #214 is merged.

@dnestoro
Copy link
Member

dnestoro commented Feb 6, 2023

@bclozel the PR passes the gates with last changes implemented in #214. Is this PR ready for review?

@bclozel
Copy link
Collaborator Author

bclozel commented Feb 6, 2023

@dnestoro yes it's ready for review. I've removed the workaround on purpose.

@wirthi
Copy link
Member

wirthi commented Feb 24, 2023

@dnestoro please merge!

@dnestoro dnestoro merged commit d6a62d0 into oracle:master Feb 27, 2023
@bclozel bclozel deleted the gql-validation branch February 27, 2023 09:44
corneil pushed a commit to corneil/graalvm-reachability-metadata that referenced this pull request Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants