Gentoo Archives: gentoo-dev

From: "Volkmar W. Pogatzki" <gentoo@××××××××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] [PATCH] java-pkg-simple.eclass: allow JAVA_MAIN_CLASS _and_ MANIFEST.MF
Date: Tue, 27 Sep 2022 11:49:20
Message-Id: 20220927114847.32660-1-gentoo@pogatzki.net
1 The eclass did not handle JAVA_MAIN_CLASS if there was also a given
2 META-INF/MANIFEST.MF.
3 This change allows adding JAVA_AUTOMATIC_MODULE_NAME and/or
4 JAVA_MAIN_CLASS to the MANIFEST.MF file if it exists or creates one if
5 not.
6
7 Signed-off-by: Volkmar W. Pogatzki <gentoo@××××××××.net>
8 ---
9 eclass/java-pkg-simple.eclass | 17 +++++++++--------
10 1 file changed, 9 insertions(+), 8 deletions(-)
11
12 diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
13 index 6f7324240e3..6e38a07f66e 100644
14 --- a/eclass/java-pkg-simple.eclass
15 +++ b/eclass/java-pkg-simple.eclass
16 @@ -415,21 +415,22 @@ java-pkg-simple_src_compile() {
17 fi
18
19 # package
20 + [[ ! -d ${classes}/META-INF ]] && mkdir ${classes}/META-INF
21 + if [[ -v JAVA_AUTOMATIC_MODULE_NAME ]]; then
22 + echo "Automatic-Module-Name: ${JAVA_AUTOMATIC_MODULE_NAME}" \
23 + >> ${classes}/META-INF/MANIFEST.MF || die "adding module name failed"
24 + fi
25 + if [[ -v JAVA_MAIN_CLASS ]]; then
26 + echo "Main-Class: ${JAVA_MAIN_CLASS}" \
27 + >> ${classes}/META-INF/MANIFEST.MF || die "adding main class failed"
28 + fi
29 local jar_args
30 if [[ -e ${classes}/META-INF/MANIFEST.MF ]]; then
31 jar_args="cfm ${JAVA_JAR_FILENAME} ${classes}/META-INF/MANIFEST.MF"
32 - elif [[ ${JAVA_MAIN_CLASS} ]]; then
33 - jar_args="cfe ${JAVA_JAR_FILENAME} ${JAVA_MAIN_CLASS}"
34 else
35 jar_args="cf ${JAVA_JAR_FILENAME}"
36 fi
37 jar ${jar_args} -C ${classes} . || die "jar failed"
38 - if [[ -v JAVA_AUTOMATIC_MODULE_NAME ]]; then
39 - cat > "${T}/add-to-MANIFEST.MF" <<< "Automatic-Module-Name: ${JAVA_AUTOMATIC_MODULE_NAME}" \
40 - || die "add-to-MANIFEST.MF failed"
41 - jar ufmv ${JAVA_JAR_FILENAME} "${T}/add-to-MANIFEST.MF" \
42 - || die "updating MANIFEST.MF failed"
43 - fi
44 }
45
46 # @FUNCTION: java-pkg-simple_src_install
47 --
48 2.35.1