summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/java-utils-2.eclass25
1 files changed, 25 insertions, 0 deletions
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 9e0d2d561a30..61b338a30f64 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2886,3 +2886,28 @@ java-pkg_clean() {
find "${@}" '(' -name '*.class' -o -name '*.jar' ')' -type f -delete -print || die
fi
}
+
+# @FUNCTION: java-pkg_gen-cp
+# @INTERNAL
+# @DESCRIPTION:
+# Java package generate classpath will create a classpath based on
+# special variable CP_DEPEND in the ebuild.
+#
+# @CODE
+# Parameters:
+# $1 - classpath variable either EANT_GENTOO_CLASSPATH or JAVA_GENTOO_CLASSPATH
+# @CODE
+java-pkg_gen-cp() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ if [[ ${CP_DEPEND} ]]; then
+ local cp="${!1}"
+ local p
+ for p in ${CP_DEPEND}; do
+ p="${p/-[0-9]*:/-}"
+ cp="${cp} ${p#*/}"
+ done
+ cp="${cp//:/-}"
+ [[ ${cp} ]] && export ${1}="${cp//-0/}"
+ fi
+}