On 07/01/2023 05.29, Sam James wrote:


On 6 Jan 2023, at 17:20, Florian Schmaus <[email protected]> wrote:

Signed-off-by: Florian Schmaus <[email protected]>
---
eclass/gradle.eclass   | 149 +++++++++++++++++++++++++++++++++++++++++
eclass/tests/gradle.sh |  62 +++++++++++++++++
2 files changed, 211 insertions(+)
create mode 100644 eclass/gradle.eclass
create mode 100755 eclass/tests/gradle.sh

diff --git a/eclass/gradle.eclass b/eclass/gradle.eclass
[...]

+
+# @ECLASS_VARIABLE: EGRADLE_MIN
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Minimum required gradle version.
+
+# @ECLASS_VARIABLE: EGRADLE_MAX_EXCLUSIVE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# First gradle version that is not supported.
+
+# @ECLASS_VARIABLE: EGRADLE_EXACT_VER
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# The exact required gradle version.
+

It feels a pity to not use the now-somewhat standard
PYTHON_COMPAT/LUA_COMPAT-style API.

Is there a reason not to?

If it doesn't fit how Gradle versioning works / the
number of targets is likely to be far too high,
It's fine as-is.

The _COMPAT-style API would work for Java LTS versions, but not for fast moving targets like Gradle versions.

Gradle has overall a good compatibility story, breaking changes are typically just introduced in new major versions. But sometimes you need a particular Gradle version range, like [6.2,6.8) due the mixins of Gradle plugins.

I expect that the number of Java projects that use Gradle will continue to grow. Because of that we probably need to provide a diverse range of Gradle versions.

- Flow

Reply via email to