diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/java-utils-2.eclass | 25 |
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 +} |