jponge / vertx-gradle-plugin

An opinionated Gradle plugin for Vert.x projects
Apache License 2.0
113 stars 16 forks source link

Failing to find gradlew script in subprojects? #15

Closed DrewEaster closed 6 years ago

DrewEaster commented 6 years ago

I encountered an issue with live reloading in this project:

https://github.com/jponge/demo-vertx-kotlin-rxjava2-kubernetes

When I run one of the subprojects, e.g. ./gradlew :temperature-service:vertxRun

After reloading the restarted application does not show any live code changes if the gradle command is not installed globally - the live reloading calls gradle to perform recompilation before restarting the application. On my system, I do not have gradle installed globally, hence the problem.

My expectation would have been that the plugin would use the gradle wrapper script in the root of the project, meaning I wouldn't need to have gradle installed globally.

Having had a quick scan at the plugin code, it looks like, potentially, the issue is that it's searching for gradlew in the subproject directory, rather than the root project directory. This is a bit of a guess because I've not actually run the code to prove this (and I'm not really that experienced with gradle).

jponge commented 6 years ago

It is very likely that the submodules setting is the culprit, thanks for reporting it!

arthurfernandes commented 6 years ago

I encountered the same issue and couldn't find a way to make the plugin reference the root directory gradlew. I tried tweaking with the onRedeploy parameter but couldn't make it work.

What I did as a workaround was to create a Wrapper task for my subprojects so they can use the live reloading feature. But I'm not that experienced with gradle either.

jponge commented 6 years ago

This is clearly something to be addressed, e.g., look in parent folder(s).

jponge commented 6 years ago

Hi @DrewEaster @arthurfernandes @spodin @amdelamar I've opened #16.

Can you please test that?

arthurfernandes commented 6 years ago

Of course @jponge. The implementation seems to solve the problem, but I'm not familiar with gradle plugins. I was able to build the project and found the jar files with your bugfix, but I couldn't import this local version of the plugin to another project to test. If you can give me some guidance on how to address that import issue I'll be able to test it.

jponge commented 6 years ago

Merged #16