Gentoo Archives: gentoo-commits

From: Florian Schmaus <flow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/java:master commit in: eclass/
Date: Thu, 16 Mar 2023 10:45:45
Message-Id: 1678963509.8cee4d41c1eae351bd98dea5afb310e12b9b20f0.flow@gentoo
1 commit: 8cee4d41c1eae351bd98dea5afb310e12b9b20f0
2 Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
3 AuthorDate: Thu Mar 16 10:45:09 2023 +0000
4 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
5 CommitDate: Thu Mar 16 10:45:09 2023 +0000
6 URL: https://gitweb.gentoo.org/proj/java.git/commit/?id=8cee4d41
7
8 gradle.eclass: add EGRADLE_BUNDLED_VER
9
10 Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
11
12 eclass/gradle.eclass | 44 ++++++++++++++++++++++++++++++++++++++++++++
13 1 file changed, 44 insertions(+)
14
15 diff --git a/eclass/gradle.eclass b/eclass/gradle.eclass
16 index 488c265d..e4087f7a 100644
17 --- a/eclass/gradle.eclass
18 +++ b/eclass/gradle.eclass
19 @@ -9,6 +9,30 @@
20 # @BLURB: utility functions for the gradle build system.
21 # @DESCRIPTION:
22 # Utility functions for the gradle build system.
23 +# There are currently two approaches to using gradle in ebuilds. You can either
24 +# depend on a gradle system-wide installation from a gradle ebuild, typically
25 +# dev-java/gradle-bin, or, bundle gradle with the ebuild.
26 +#
27 +# To use a system-wide gradle installation, set EGRADLE_MIN and
28 +# EGRADLE_MAX_EXCLUSIVE and declare a BDEPEND on the gradle package.
29 +# @CODE
30 +# inherit gradle
31 +# EGRADLE_MIN=7.3
32 +# EGRADLE_MAX_EXCLUSIVE=8
33 +#
34 +# BDEPEND="|| (dev-java/gradle-bin:7.3 dev-java/gradle-bin:7.4)
35 +# @CODE
36 +#
37 +# To use a bundled gradle version, set EGRADLE_BUNDLED_VER and add
38 +# $(gradle_src_uri) to SRC_URI.
39 +# @CODE
40 +# inherit gradle
41 +# EGRADLE_BUNDLED_VER=7.6
42 +# SRC_URI="
43 +# ...
44 +# $(gradle_src_uri)
45 +# "
46 +# @CODE
47
48 case ${EAPI} in
49 7|8) ;;
50 @@ -35,6 +59,11 @@ inherit edo
51 # @DESCRIPTION:
52 # The exact required gradle version.
53
54 +# @ECLASS_VARIABLE: EGRADLE_BUNDLED_VER
55 +# @DEFAULT_UNSET
56 +# @DESCRIPTION:
57 +# The gradle version that will be bundled with this package.
58 +
59 # @ECLASS_VARIABLE: EGRADLE_PARALLEL
60 # @DESCRIPTION:
61 # Set to the 'true', the default, to invoke gradle with --parallel. Set
62 @@ -64,6 +93,11 @@ gradle-set_EGRADLE() {
63 return
64 fi
65
66 + if [[ -n ${EGRADLE_BUNDLED_VER} ]]; then
67 + export EGRADLE="${WORKDIR}/gradle-${EGRADLE_BUNDLED_VER}/bin/gradle"
68 + return
69 + fi
70 +
71 local candidates candidate selected selected_ver
72
73 candidates=$(compgen -c gradle-)
74 @@ -115,6 +149,16 @@ gradle-set_EGRADLE() {
75 export EGRADLE="${selected}"
76 }
77
78 +# @FUNCTION: gradle-src_uri
79 +# @DESCRIPTION:
80 +# Generate SRC_URI data from EGRADLE_BUNDLED_VER.
81 +gradle-src_uri() {
82 + if [[ -z ${EGRADLE_BUNDLED_VER} ]]; then
83 + die "Must set EGRADLE_BUNDLED_VER when calling gradle-src_uri"
84 + fi
85 + echo "https://services.gradle.org/distributions/gradle-${EGRADLE_BUNDLED_VER}-bin.zip"
86 +}
87 +
88 # @FUNCTION: egradle
89 # @USAGE: [gradle-args]
90 # @DESCRIPTION: