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

Create a quarkus wrapper script for the Quarkus CLI and add it to the codestarts #37147

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

iocanel
Copy link
Contributor

@iocanel iocanel commented Nov 16, 2023

It's really handy to have a quarkus-cli wrapper script that can be used OOTB in environments like:

  • tekton tasks
  • dev spaces
  • workshops

without requiring additional installation tasks, custom container images etc.

Copy link

quarkus-bot bot commented Nov 16, 2023

Thanks for your pull request!

The title of your pull request does not follow our editorial rules. Could you have a look?

  • title should not end up with dot

This message is automatically generated by a bot.

@quarkus-bot quarkus-bot bot added area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/platform Issues related to definition and interaction with Quarkus Platform labels Nov 16, 2023

This comment has been minimized.

@iocanel iocanel force-pushed the quarkus-wrapper branch 2 times, most recently from 1dc7afa to 396b031 Compare November 20, 2023 09:43
@iocanel iocanel changed the title Create a quarkus wrapper script for the Quarkus CLI and add it to the codestarts. Create a quarkus wrapper script for the Quarkus CLI and add it to the codestarts Nov 20, 2023

This comment has been minimized.

Copy link

quarkus-bot bot commented Nov 23, 2023

Failing Jobs - Building 7719612

Status Name Step Failures Logs Raw logs Build scan
✔️ JVM Tests - JDK 11 🔍
JVM Tests - JDK 17 Build Failures Logs Raw logs 🔍
✔️ JVM Tests - JDK 21 🔍

You can also consult the Develocity build scans.

Failures

⚙️ JVM Tests - JDK 17 #

- Failing: integration-tests/container-image/maven-invoker-way 

📦 integration-tests/container-image/maven-invoker-way

Failed to execute goal org.apache.maven.plugins:maven-invoker-plugin:3.6.0:run (integration-tests) on project quarkus-integration-test-container-image-invoker: 1 build failed. See console output above for details.

@iocanel iocanel requested a review from ia3andy November 28, 2023 11:16
@iocanel
Copy link
Contributor Author

iocanel commented Nov 28, 2023

Test failures seem unrelated.

@gsmet
Copy link
Member

gsmet commented Nov 28, 2023

Interesting idea. I will test it and report back.

@ia3andy
Copy link
Contributor

ia3andy commented Nov 29, 2023

For the Quarkus CLI version, the default is ok, but in usage, I think we should use the Quarkus version from the selected platform when possible?

@iocanel
Copy link
Contributor Author

iocanel commented Nov 29, 2023

For the Quarkus CLI version, the default is ok, but in usage, I think we should use the Quarkus version from the selected platform when possible?

I don't fully understand your comment. Can you please elaborate?

@ia3andy
Copy link
Contributor

ia3andy commented Nov 29, 2023

Currently in the PR, the version of quarkus-cli will be set to the quarkus-cli (over maven plugin) used to create the project. Maybe we want to use the latest-cli version? or the version chosen for the created project?

IMO, we should go for the latest cli version.

cc @maxandersen

@iocanel
Copy link
Contributor Author

iocanel commented Nov 29, 2023

Currently in the PR, the version of quarkus-cli will be set to the quarkus-cli (over maven plugin) used to create the project.

The intention here was to use the chosen version for the project, but you are right the creating tool version is used instead. It's not clear to me why this happens as the templates do use ${project.version} so I would expect it to match the project version.

Maybe we want to use the latest-cli version? or the version chosen for the created project?

Let's go with the later which was the original intention. I don't want to pull in a 3rd version into the equation (having creating tool version and project version are enough).

IMO, we should go for the latest cli version.

cc @maxandersen

@ia3andy
Copy link
Contributor

ia3andy commented Nov 29, 2023

${project.version} is resolved to the quarkus version used during the build of the base codestart artifact (you can keep this as default), but we need to pass the platform version resolved by the tooling when creating the project and pass it as data to the codestart .

Copy link
Member

@maxandersen maxandersen left a comment

Choose a reason for hiding this comment

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

Im torn on this idea.

I like it because it makes the cli more directly easily available but dont like it because it adds noise to the default generated app and that its "stuck" at a version used when geberating the app.

Shouldnt we start with adding a quarkus wrapper command that generated and User Can set this up if need be?

Ps. Jbang has a wrapper command if You want be inspired :)

import java.nio.file.StandardCopyOption;

// An adapted version of the Maven MavenWrapperDownloader for the Quarkus CLI
public final class MavenWrapperDownloader
Copy link
Member

Choose a reason for hiding this comment

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

So This should be named QuarkusWrapperDowbloader?

@gsmet gsmet added the triage/on-ice Frozen until external concerns are resolved label Jun 7, 2024
@cescoffier
Copy link
Member

@iocanel @maxandersen What should we do here?

@iocanel
Copy link
Contributor Author

iocanel commented Nov 11, 2024

@iocanel @maxandersen What should we do here?

The missing piece is making the CLI upgradable.

@maxandersen
Copy link
Member

My suggestion was that instead of us adding this by default started by making a Quarkus wrapper command that sets this up.

That can be done without requring update feature and enables to do this without changing the defuslt app.

@cescoffier
Copy link
Member

I agree with @maxandersen. Is there an issue with your suggestion?

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/platform Issues related to definition and interaction with Quarkus Platform triage/on-ice Frozen until external concerns are resolved
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants