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

SmallRye GraphQL 2.12.0 #45228

Merged
merged 2 commits into from
Jan 3, 2025
Merged

SmallRye GraphQL 2.12.0 #45228

merged 2 commits into from
Jan 3, 2025

Conversation

jmartisk
Copy link
Contributor

@jmartisk jmartisk commented Dec 20, 2024

@quarkus-bot quarkus-bot bot added area/arc Issue related to ARC (dependency injection) area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle area/graphql area/smallrye labels Dec 20, 2024

This comment has been minimized.

Copy link

github-actions bot commented Dec 20, 2024

🎊 PR Preview 93eb395 has been successfully built and deployed to https://quarkus-pr-main-45228-preview.surge.sh/version/main/guides/

  • Images of blog posts older than 3 months are not available.
  • Newsletters older than 3 months are not available.

@jmartisk
Copy link
Contributor Author

Ok it seems this needs a change in the quickstarts: quarkusio/quarkus-quickstarts#1483

@geoand
Copy link
Contributor

geoand commented Dec 20, 2024

The gradle test failure seems related:

Error:  Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 8.795 s <<< FAILURE! -- in io.quarkus.gradle.ConditionalDependenciesKotlinTest
Error:  io.quarkus.gradle.ConditionalDependenciesKotlinTest.buildProject -- Time elapsed: 8.787 s <<< FAILURE!
java.lang.AssertionError: Gradle build failed with exit code 1
	at app//io.quarkus.gradle.QuarkusGradleWrapperTestBase.runGradleWrapper(QuarkusGradleWrapperTestBase.java:140)
	at app//io.quarkus.gradle.QuarkusGradleWrapperTestBase.runGradleWrapper(QuarkusGradleWrapperTestBase.java:57)
	at app//io.quarkus.gradle.QuarkusGradleWrapperTestBase.runGradleWrapper(QuarkusGradleWrapperTestBase.java:52)
	at app//io.quarkus.gradle.ConditionalDependenciesKotlinTest.buildProject(ConditionalDependenciesKotlinTest.java:15)
	at [email protected]/java.lang.reflect.Method.invoke(Method.java:569)
	at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
	at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)

@gsmet
Copy link
Member

gsmet commented Dec 20, 2024

I pushed a small fix for the Gradle failures.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@gsmet
Copy link
Member

gsmet commented Dec 20, 2024

I'm making progress on fixing the issues. I think we might have to upgrade Gradle too.

@quarkus-bot quarkus-bot bot added area/kotlin area/platform Issues related to definition and interaction with Quarkus Platform labels Dec 20, 2024
@gsmet
Copy link
Member

gsmet commented Dec 20, 2024

Even Gradle 8.12 released today isn't compatible with Kotlin 2.1.0: https://docs.gradle.org/current/userguide/compatibility.html#kotlin .

So I suppose this will have to wait.

Failure is:

shouldNotFailOnProjectDependenciesWithoutMain(Path)

org.gradle.testkit.runner.UnexpectedBuildFailure: Unexpected build execution failure in /tmp/junit16339159363799182023 with arguments [quarkusGenerateCode, --stacktrace]

Output:

FAILURE: Build failed with an exception.

* Where:
Build file '/tmp/junit16339159363799182023/mpp/build.gradle.kts' line: 11

* What went wrong:
'org.gradle.internal.buildoption.BuildOption$Value org.gradle.api.internal.StartParameterInternal.getIsolatedProjects()'

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

* Exception is:
java.lang.NoSuchMethodError: 'org.gradle.internal.buildoption.BuildOption$Value org.gradle.api.internal.StartParameterInternal.getIsolatedProjects()'
	at org.jetbrains.kotlin.gradle.plugin.internal.ProjectIsolationStartParameterAccessorG76$isProjectIsolationEnabled$2.invoke(ProjectIsolationStartParameterAccessorG76.kt:16)
	at org.jetbrains.kotlin.gradle.plugin.internal.ProjectIsolationStartParameterAccessorG76$isProjectIsolationEnabled$2.invoke(ProjectIsolationStartParameterAccessorG76.kt:15)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
	at org.jetbrains.kotlin.gradle.plugin.internal.ProjectIsolationStartParameterAccessorG76.isProjectIsolationEnabled(ProjectIsolationStartParameterAccessorG76.kt:15)
	at org.jetbrains.kotlin.gradle.plugin.internal.ProjectIsolationStartParameterAccessorKt.isProjectIsolationEnabled(ProjectIsolationStartParameterAccessor.kt:45)
	at org.jetbrains.kotlin.gradle.plugin.statistics.BuildFusService$Companion.registerIfAbsentImpl(BuildFusService.kt:94)
	at org.jetbrains.kotlin.gradle.plugin.statistics.BuildFusService$Companion.registerIfAbsent(BuildFusService.kt:80)
	at org.jetbrains.kotlin.gradle.plugin.DefaultKotlinBasePlugin.apply(KotlinPluginWrapper.kt:75)
	at org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper.apply(KotlinPluginWrapper.kt:197)
	at org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper.apply(PluginWrappers.kt:74)
	at org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper.apply(PluginWrappers.kt:68)
	at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:54)
	at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51)
	at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:190)

@gsmet
Copy link
Member

gsmet commented Dec 20, 2024

@jmartisk is SmallRye GraphQL 2.12.0 compatible with current main? If so, I think we should probably update in main and keep this PR for the Kotlin update.

I will also create a separate PR for the Gradle update as I think we want it anyway.

Copy link

quarkus-bot bot commented Dec 20, 2024

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit cbec954.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

This comment has been minimized.

@jmartisk
Copy link
Contributor Author

jmartisk commented Dec 22, 2024

Do you know what version of Kotlin we can upgrade to?
SmallRye GraphQL bundles org.jetbrains.kotlin:kotlin-metadata-jvm 2.1.0. It also depends on kotlin compiler 2.1.0 but that is only used in tests, so I think that if Quarkus upgrades to a lower version of Kotlin, it should still work, but we probably do need kotlin-metadata-jvm 2.0+ (1.x definitely won't work because they've changed Java package names)

@mschorsch
Copy link
Contributor

Even Gradle 8.12 released today isn't compatible with Kotlin 2.1.0: https://docs.gradle.org/current/userguide/compatibility.html#kotlin .

So I suppose this will have to wait.

Failure is:

shouldNotFailOnProjectDependenciesWithoutMain(Path)

org.gradle.testkit.runner.UnexpectedBuildFailure: Unexpected build execution failure in /tmp/junit16339159363799182023 with arguments [quarkusGenerateCode, --stacktrace]

Output:

FAILURE: Build failed with an exception.

* Where:
Build file '/tmp/junit16339159363799182023/mpp/build.gradle.kts' line: 11

* What went wrong:
'org.gradle.internal.buildoption.BuildOption$Value org.gradle.api.internal.StartParameterInternal.getIsolatedProjects()'

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

* Exception is:
java.lang.NoSuchMethodError: 'org.gradle.internal.buildoption.BuildOption$Value org.gradle.api.internal.StartParameterInternal.getIsolatedProjects()'
	at org.jetbrains.kotlin.gradle.plugin.internal.ProjectIsolationStartParameterAccessorG76$isProjectIsolationEnabled$2.invoke(ProjectIsolationStartParameterAccessorG76.kt:16)
	at org.jetbrains.kotlin.gradle.plugin.internal.ProjectIsolationStartParameterAccessorG76$isProjectIsolationEnabled$2.invoke(ProjectIsolationStartParameterAccessorG76.kt:15)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
	at org.jetbrains.kotlin.gradle.plugin.internal.ProjectIsolationStartParameterAccessorG76.isProjectIsolationEnabled(ProjectIsolationStartParameterAccessorG76.kt:15)
	at org.jetbrains.kotlin.gradle.plugin.internal.ProjectIsolationStartParameterAccessorKt.isProjectIsolationEnabled(ProjectIsolationStartParameterAccessor.kt:45)
	at org.jetbrains.kotlin.gradle.plugin.statistics.BuildFusService$Companion.registerIfAbsentImpl(BuildFusService.kt:94)
	at org.jetbrains.kotlin.gradle.plugin.statistics.BuildFusService$Companion.registerIfAbsent(BuildFusService.kt:80)
	at org.jetbrains.kotlin.gradle.plugin.DefaultKotlinBasePlugin.apply(KotlinPluginWrapper.kt:75)
	at org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper.apply(KotlinPluginWrapper.kt:197)
	at org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper.apply(PluginWrappers.kt:74)
	at org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper.apply(PluginWrappers.kt:68)
	at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:54)
	at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51)
	at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:190)

https://kotlinlang.org/docs/whatsnew21.html#gradle-improvements

Kotlin 2.1.0 is fully compatible with Gradle 7.6.3 through 8.6. Gradle versions 8.7 to 8.10 are also supported
...
You can also use Gradle versions up to the latest Gradle release, but if you do, keep in mind that you might encounter deprecation warnings or some new Gradle features might not work.

@gsmet
Copy link
Member

gsmet commented Dec 29, 2024

Well, we have to figure our why we are getting this error then.

@mschorsch
Copy link
Contributor

mschorsch commented Dec 31, 2024

I've found https://stackoverflow.com/questions/75284382/upgrade-gradle-7-4-to-8-0-rc-1 and
https://issuetracker.google.com/issues/254049155.
Maybe this is a problem with the AGP Version? I don't know :)

Doesnt make sense

@jmartisk
Copy link
Contributor Author

jmartisk commented Jan 2, 2025

I'm removing the Kotlin upgrade from this PR then, let's see if it works

@jmartisk jmartisk changed the title SmallRye GraphQL 2.12.0 and Kotlin 2.1 SmallRye GraphQL 2.12.0 Jan 2, 2025
@jmartisk
Copy link
Contributor Author

jmartisk commented Jan 2, 2025

Ok so I'm assuming we will keep this just for the SmallRye GraphQL update after all, as that should work without the Kotlin upgrade, and take care of the Kotlin+Gradle upgrade separately once we figure it out

Copy link

quarkus-bot bot commented Jan 2, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit d8576e6.

Failing Jobs

Status Name Step Failures Logs Raw logs Build scan
✔️ JVM Tests - JDK 17 Logs Raw logs 🔍
✔️ JVM Tests - JDK 21 Logs Raw logs 🔍
JVM Tests - JDK 17 Windows Build ⚠️ Check → Logs Raw logs 🚧

You can consult the Develocity build scans.

Copy link
Contributor

@geoand geoand left a comment

Choose a reason for hiding this comment

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

Thanks!

@jmartisk jmartisk merged commit 45ae423 into quarkusio:main Jan 3, 2025
51 of 52 checks passed
@jmartisk jmartisk deleted the srgql-2.12.0 branch January 3, 2025 07:28
@quarkus-bot quarkus-bot bot added this to the 3.18 - main milestone Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/arc Issue related to ARC (dependency injection) area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle area/graphql area/kotlin area/platform Issues related to definition and interaction with Quarkus Platform area/smallrye triage/flaky-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants