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

enable gradle for extension development #3322

Open
ppalaga opened this issue Jul 24, 2019 · 22 comments
Open

enable gradle for extension development #3322

ppalaga opened this issue Jul 24, 2019 · 22 comments
Labels
area/gradle Gradle kind/enhancement New feature or request

Comments

@ppalaga
Copy link
Contributor

ppalaga commented Jul 24, 2019

A followup of #2113 . A Maven mojo was added via #3191 (see also #3321 )

@ppalaga ppalaga added the kind/enhancement New feature or request label Jul 24, 2019
@Dufgui
Copy link
Contributor

Dufgui commented Jul 28, 2019

If nobody start to work on it, i will try.

@maxandersen maxandersen added the area/gradle Gradle label Oct 4, 2019
@maxandersen maxandersen added this to the 1+ milestone Oct 29, 2019
@maxandersen
Copy link
Member

request makes sense but this would be post v1. I would actually prefer we had a native qctl or qli cli to do the bootstrapping. Its really backwards we have to tell users to install gradle or mvn ( + java) when we could just generate the initial project for them .... or even just give them a bit.ly url to curl to get a zip from code.quarkus.io.

No need to strictly use either mvn or gradle for this step is my point ;)

@broxgit
Copy link

broxgit commented Feb 2, 2021

This would be largely beneficial for the expansion and adoption of Quarkus. We are incredibly interested in using Quarkus because it's a great framework and the extensions really open up possibilities for my team. However, our CI/CD architecture relies on Gradle (and many can argue that Gradle is superior) so being able to develop extensions with Gradle would be great!

@Dufgui
Copy link
Contributor

Dufgui commented Feb 2, 2021

@glefloch
Copy link
Member

I think this one can be close as the cli will handle this right @maxandersen ?

@maxandersen
Copy link
Member

The cli Would be the place to have the command yes. Not sure if all is in place to develop a quarkus extension with gradle - @aloubyansky ?

@aloubyansky
Copy link
Member

It's definitely possible to develop extensions with gradle. As to the tooling support, the maven extension-descriptor goal is pretty advanced now. But we have to start with the equivalent gradle support at some point. So, let's.

@glefloch
Copy link
Member

I misunderstood the issue. I will start working on this next week then :)

@aloubyansky
Copy link
Member

I didn't mean to add createExtension as a gradle task though. We would have a cli command for that but then we'd want some support from the gradle plugin in terms generating the proper extension metadata and descriptor.

@glefloch
Copy link
Member

Yes, when I mention that the issue could be close as the cli is here I was thinking about the project generation part. But as you mentioned in your previous comment, the gradle plug-in don't do anything regarding the extension property file. That could be handled some how in the plug-in.

@maxandersen maxandersen changed the title create-extension Gradle task enable gradle for extension development Jun 18, 2021
@maxandersen
Copy link
Member

+1 I've updated issue title to reflect this. Have create extension cli command support gradle but for that have the remaining things done we still only have in maven ext plugin

@rdehuyss
Copy link
Contributor

Would love to be able to add a real Quarkus extension in JobRunr. JobRunr uses Gradle as build tool and I prefer not to mix this with maven.

@aloubyansky
Copy link
Member

@rdehuyss do you mean you want to develop a Quarkus extension for the JobRunr? I can help you set it up in Gradle.

@rdehuyss
Copy link
Contributor

rdehuyss commented Jul 14, 2021

@aloubyansky , that would be great! Is there perhaps an example somewhere I missed?

@aloubyansky
Copy link
Member

Are you on Zulip? That'll be easier to communicate.

@glefloch
Copy link
Member

I can help too if needed.

@rdehuyss
Copy link
Contributor

Are you on Zulip? That'll be easier to communicate.

Not yet, I'll join in about an hour.

@aloubyansky
Copy link
Member

Ping @aloubyansky and @glefloch when you're there.

@fooock
Copy link

fooock commented Nov 6, 2021

which is the state of this? I saw in the devtool directory that there is a gradle-extension-plugin but I don't see any guide on how to use it.

I'm trying to use the gradle io.quarkus.extension plugin in a multi-module setup, one of my subprojects has the dependency set in the build.gradle and I have the project structure created (deployment and runtime directories) but I see this in the log when gradle is configuring the project:

> Configure project :myproject-quarkus-extension
Unable to find deployment project with name: deployment. You can configure the deployment project name by setting the 'deploymentProject' property in the plugin extension.

Note that there is no deploymentProject property in the plugin configuration maybe this should be updated

Do you know of any extension using Gradle?

@aloubyansky
Copy link
Member

@glefloch
Copy link
Member

glefloch commented Nov 7, 2021

Right there is a minimal quarkus extension gradle plugin. It has some limitation such as unit test support that need to be adresse before it can be fully used.
Also, if you want examples, there are some gradle test samples that are using the plugin : https://github.com/quarkusio/quarkus/tree/main/integration-tests/gradle/src/main/resources/conditional-dependencies/ext-a

and also, this project have a gradle based quarkus extension but without using the plugin: https://github.com/jobrunr/jobrunr/tree/master/framework-support/jobrunr-quarkus-extension

Regarding your error, I will update at least the error message, thanks for reporting it.

@fooock
Copy link

fooock commented Nov 7, 2021

thank you for pointing me in the right direction! 😀

@gsmet gsmet removed this from the 1+ milestone Dec 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/gradle Gradle kind/enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

9 participants