commit:     6630c8b0d4c1beb5dee68d4481487e8acd0340e4
Author:     zongyu <zzy2529420793 <AT> gmail <DOT> com>
AuthorDate: Wed Aug  5 04:04:34 2020 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Aug  5 04:05:29 2020 +0000
URL:        https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6630c8b0

update java-pkg-maven: recogize files by suffixes

Signed-off-by: zongyu <zzy2529420793 <AT> gmail.com>

 maven/eclass/java-pkg-maven.eclass | 45 ++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 17 deletions(-)

diff --git a/maven/eclass/java-pkg-maven.eclass 
b/maven/eclass/java-pkg-maven.eclass
index d926cc3..fb41bb2 100644
--- a/maven/eclass/java-pkg-maven.eclass
+++ b/maven/eclass/java-pkg-maven.eclass
@@ -13,23 +13,30 @@
 
 EXPORT_FUNCTIONS src_unpack
 
-# @ECLASS-VARIABLE: JAVA_SOURCE_FILENAME
+# @ECLASS-VARIABLE: JAVA_SRC_DIR
 # @DESCRIPTION:
-# The filename of the source code.
-: ${JAVA_SOURCE_FILENAME:=${P}-sources.jar}
-
-# @ECLASS-VARIABLE: JAVA_TEST_SOURCE_FILENAME
-# @DESCRIPTION:
-# The filename of the source code for launch testing.
-: ${JAVA_TEST_SOURCE_FILENAME:=${P}-test-sources.jar}
+# A directory relative to ${S} which contains the source code.
+# source code distributed by Maven Central are exactly the root of
+# the source code, we need to assign them a separate directory to
+# avoid the situation that the source code, the resources and the
+# source code for testing are mixed in ${S}.
+#
+: ${JAVA_SRC_DIR:=src/main/java}
 
 # @ECLASS-VARIABLE: JAVA_RESOURCE_DIRS
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# A directory relative to ${S} which contain the resources of the
+# A directory relative to ${S} which contains the resources of the
 # application. Give it a default value to handle src_unpack.
 : ${JAVA_RESOURCE_DIRS:=src/main/resources}
 
+# @ECLASS-VARIABLE: JAVA_RESOURCE_DIRS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# A directory relative to ${S} which contains the source code for testing
+# the application. Give it a default value to handle src_unpack.
+: ${JAVA_TEST_SRC_DIR:=src/test/java}
+
 # @FUNCTION: java-pkg-binjar_src_unpack
 # @DESCRIPTION:
 # Copy the binary jar into the expected place of java-pkg-simple.  Do
@@ -37,23 +44,27 @@ EXPORT_FUNCTIONS src_unpack
 java-pkg-maven_src_unpack() {
        for file in ${A}; do
                case ${file} in
-                       ${JAVA_BINJAR_FILENAME}) ;;
-                       ${JAVA_SOURCE_FILENAME})
-                               mkdir -p "${S}"/${JAVA_SRC_DIR}\
-                                       || die "Could not create 
${JAVA_SRC_DIR}"
-                               unzip -q -o "${DISTDIR}"/${file} -d 
"${S}"/${JAVA_SRC_DIR}\
-                                       || die "Could not unzip source code" ;;
-                       ${JAVA_TEST_SOURCE_FILENAME})
+                       *-test-sources.jar)
                                mkdir -p "${S}"/${JAVA_TEST_SRC_DIR}\
                                        || die "Could not create 
${JAVA_TEST_SRC_DIR}"
                                unzip -q -o "${DISTDIR}"/${file} -d 
"${S}"/${JAVA_TEST_SRC_DIR}\
                                        || die "Could not unzip source code for 
testing" ;;
+                       *-sources.jar)
+                               mkdir -p "${S}"/${JAVA_SRC_DIR}\
+                                       || die "Could not create 
${JAVA_SRC_DIR}"
+                               unzip -q -o "${DISTDIR}"/${file} -d 
"${S}"/${JAVA_SRC_DIR}\
+                                       || die "Could not unzip source code"
+                               if [[ -d "${S}"/${JAVA_SRC_DIR}/META-INF ]] ; 
then
+                                       rm "${S}"/${JAVA_SRC_DIR}/META-INF -r 
|| die
+                               fi ;;
+                       *)
+                               unpack ${file};;
                esac
        done
 
        # the resources (maven resources are bundled inside source file)
+       mkdir -p $(dirname "${S}"/${JAVA_RESOURCE_DIRS}) || die
        cp "${S}"/${JAVA_SRC_DIR} "${S}"/${JAVA_RESOURCE_DIRS} -r || die
-       rm "${S}"/${JAVA_RESOURCE_DIRS}/META-INF -r || die
        find "${S}"/${JAVA_RESOURCE_DIRS} -type f ! -name \*.properties \
                -exec rm {} \; || die
 }

Reply via email to