refreshVersions icon indicating copy to clipboard operation
refreshVersions copied to clipboard

Support unspecified yet version of Gradle plugins

Open LouisCAD opened this issue 4 years ago • 1 comments

⚠️ Is your feature request related to a problem? Please describe

The version placeholder is not supported for the plugins DSL, which requires the users to know the version and put it manually in the version.properties file, respecting the expected plugin.id.of.the.plugin=x.x.x syntax.

This is not very intuitive, and we know a lot of folks with skip reading the relevant part in the documentation.

💡 Describe the solution you'd like

I believe there are 3 things we can do to help:

  1. Detect when an underscore is set as the version of the Gradle plugin, and fail the build with a helpful error message.
  2. Before failing the build when an underscore is detected as a version of a Gradle plugin, fill the versions.properties file as done for non plugin dependencies, so the only action remaining is to remove the version placeholder (and maybe use a non stable release), which can also be done automatically if the version placeholder is inline (i.e. in a gradle script, precompiled or not, as opposed to being in a version catalog or in a custom plugin)
  3. Support non specifying the version when adding the version key, allowing filling something like: plugin.id.of.the.plugin=?, where refreshVersions would straightaway fill the latest most stable version and available less stable versions, and use it immediately, avoiding a failing Gradle sync and the price of the "configuration" time.

🤚 Do you want to develop this feature yourself?

  • [ ] Yes
  • [x] Maybe (probably)
  • [ ] No

LouisCAD avatar Dec 22 '21 09:12 LouisCAD

Working on this.

imashnake0 avatar Dec 23 '21 00:12 imashnake0