Skip to content

Conversation

@oehme
Copy link
Contributor

@oehme oehme commented Oct 16, 2025

This aligns the behavior with the Gradle plugin and speeds up startup
because we no longer have to search for a POM file to find the workspace
location and load the app model.

It also makes Quarkus out-of-the-box compatible with Develocity test
distribution, because POMs are generally not transferred as inputs to the
distributed test workers.

@quarkus-bot quarkus-bot bot added area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle area/maven labels Oct 16, 2025
@aloubyansky
Copy link
Member

Thanks @oehme! Do you think we could keep the Jackson JSON binding in a separate module, out of the appmodel artifact? E.g. quarkus-appmodel-json or something? There are some basic API classes from which we probably don't want to link to Jackson API (such as Artifact*, PathTree, etc).

@quarkus-bot

This comment has been minimized.

@oehme
Copy link
Contributor Author

oehme commented Oct 17, 2025

Do you think we could keep the Jackson JSON binding in a separate module, out of the appmodel artifact? E.g. quarkus-appmodel-json or something?

If I can't depend on Jackson in the appmodel project, then I can't use the binding annotations. This would mean writing a bunch of manual serialization/deserialization code to handle all the different types and polymorphism. And then everyone who currently uses BootstrapUtils would have to add a dependency on this new appmodel-json project anyway, so it doesn't really improve anything as far as I can see. So in my opinion, not a realistic/worthwhile option.

@oehme oehme force-pushed the oehme/json-appmodel branch from b0ca678 to d8ed192 Compare October 17, 2025 10:45
@quarkus-bot

This comment has been minimized.

@oehme oehme force-pushed the oehme/json-appmodel branch from d8ed192 to 2270268 Compare October 21, 2025 12:38
@oehme
Copy link
Contributor Author

oehme commented Oct 21, 2025

Fixed the formatting issue above.

@quarkus-bot

This comment has been minimized.

@oehme
Copy link
Contributor Author

oehme commented Oct 22, 2025

The failures above are probably due to a merge conflict, I'll fix those up.

@oehme oehme force-pushed the oehme/json-appmodel branch from 2270268 to 823022f Compare October 22, 2025 20:57
@oehme
Copy link
Contributor Author

oehme commented Oct 27, 2025

This should be passing now.

@quarkus-bot

This comment has been minimized.

@oehme
Copy link
Contributor Author

oehme commented Oct 30, 2025

All green :) The flaky tests look like the same as on the mainline branch.

@fabricepipart1a
Copy link

Hi there !
Do you have any update on this matter. Amadeus (the company I work for) is very interested to have that feature. We contemplate huge gains to accelerate our builds that spend most of their time running QuarkusTests. Is there anything blocking the progress?

@aloubyansky
Copy link
Member

I do have some updates. I have a branch where I'm investigating an alternative serialization/deserialization. The basics seem to be working. I need to test it more properly, which is a work in progress.

@fabricepipart1a
Copy link

Lovely. Thanks for the update!

@aloubyansky
Copy link
Member

I opened #51430 for a review and further discussion.
It doesn't include a couple of project properties set in the mojo in this PR. That could be a separate PR and discussion.

@oehme
Copy link
Contributor Author

oehme commented Dec 5, 2025

I'll rework this PR to just do those changes, because they'll also be necessary for test distribution.

Thank you so much for your other PR!

@aloubyansky
Copy link
Member

@oehme the alternative PR was merged. Could you please check whether it works for you?

@oehme oehme force-pushed the oehme/json-appmodel branch from 823022f to c834a81 Compare December 9, 2025 17:23
@oehme
Copy link
Contributor Author

oehme commented Dec 9, 2025

Works great! I've adjusted this PR so it only contains two small changes that are still necessary for Maven.

@oehme oehme force-pushed the oehme/json-appmodel branch from c834a81 to a2ec3bc Compare December 15, 2025 16:19
@oehme oehme changed the title Make Quarkus Maven/Gradle plugins compatible with Develocity test distribution Pass app model location to Maven test process Dec 15, 2025
@oehme
Copy link
Contributor Author

oehme commented Dec 15, 2025

@aloubyansky I've further simplified this down to just the app model system property. I managed to solve the deploy path problem a different way on our side by searching through the JSON file for any mentioned file paths and treating those as inputs for the remote test process.

Copy link
Member

@aloubyansky aloubyansky left a comment

Choose a reason for hiding this comment

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

Thanks a lot @oehme!

@aloubyansky
Copy link
Member

We should still add a few comments about why we pass that system property. If you like to add them, feel free to do that. Otherwise, I'll add them later.

@oehme oehme force-pushed the oehme/json-appmodel branch from a2ec3bc to c9d0c07 Compare December 15, 2025 16:51
@oehme
Copy link
Contributor Author

oehme commented Dec 15, 2025

Done :)

@quarkus-bot

This comment has been minimized.

@oehme oehme force-pushed the oehme/json-appmodel branch from c9d0c07 to 9d9f3f4 Compare December 15, 2025 18:37
@oehme
Copy link
Contributor Author

oehme commented Dec 15, 2025

Rebased my branch to hopefuly get rid of those failures.

@quarkus-bot

This comment has been minimized.

@oehme
Copy link
Contributor Author

oehme commented Dec 15, 2025

Looks like these are failing on main too. Can you fix that up, so we can be sure this branch doesn't break anything?

@aloubyansky
Copy link
Member

Once #51573 has been merged, we'll rebase this one.

This aligns the behavior with the Gradle plugin and speeds up startup
because we no longer have to search for a POM file to find the workspace
location and load the app model.

It also makes Quarkus out-of-the-box compatible with Develocity test
distribution, because POMs are generally not transferred as inputs to the
distributed test workers.
@aloubyansky
Copy link
Member

I pushed a rebase to your branch @oehme

@quarkus-bot
Copy link

quarkus-bot bot commented Dec 19, 2025

Status for workflow Quarkus CI

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

✅ 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.

You can consult the Develocity build scans.

@aloubyansky aloubyansky merged commit f46a43a into quarkusio:main Dec 19, 2025
64 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.31 - main milestone Dec 19, 2025
@oehme
Copy link
Contributor Author

oehme commented Dec 19, 2025

Thanks!

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

Labels

area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle area/maven triage/flaky-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants