mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-14 00:16:59 +02:00
eclass/java-utils-2: Sync with Gentoo
It's from Gentoo commit 0a249fb08e3a498b459e827dd9359509510cf139.
This commit is contained in:
parent
d9b8787c8e
commit
a2bafdca65
@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2022 Gentoo Authors
|
||||
# Copyright 2004-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: java-utils-2.eclass
|
||||
@ -6,7 +6,7 @@
|
||||
# java@gentoo.org
|
||||
# @AUTHOR:
|
||||
# Thomas Matthijs <axxo@gentoo.org>, Karl Trygve Kalleberg <karltk@gentoo.org>
|
||||
# @SUPPORTED_EAPIS: 5 6 7 8
|
||||
# @SUPPORTED_EAPIS: 6 7 8
|
||||
# @BLURB: Base eclass for Java packages
|
||||
# @DESCRIPTION:
|
||||
# This eclass provides functionality which is used by java-pkg-2.eclass,
|
||||
@ -18,7 +18,7 @@
|
||||
# Ant-based packages.
|
||||
|
||||
case ${EAPI:-0} in
|
||||
[5678]) ;;
|
||||
[678]) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||
esac
|
||||
|
||||
@ -27,7 +27,7 @@ _JAVA_UTILS_2_ECLASS=1
|
||||
|
||||
# EAPI 7 has version functions built-in. Use eapi7-ver for all earlier eclasses.
|
||||
# Keep versionator inheritance in case consumers are using it implicitly.
|
||||
[[ ${EAPI} == [56] ]] && inherit eapi7-ver eutils multilib versionator
|
||||
[[ ${EAPI} == 6 ]] && inherit eapi7-ver eutils multilib versionator
|
||||
|
||||
# Make sure we use java-config-2
|
||||
export WANT_JAVA_CONFIG="2"
|
||||
@ -66,6 +66,21 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
|
||||
# JAVA_PKG_FORCE_VM=openjdk-11 emerge foo
|
||||
# @CODE
|
||||
|
||||
# @ECLASS_VARIABLE: JAVA_PKG_NO_CLEAN
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# An array of expressions to match *.class or *.jar files in order to protect
|
||||
# them against deletion by java-pkg_clean.
|
||||
#
|
||||
# @CODE
|
||||
# JAVA_PKG_NO_CLEAN=(
|
||||
# "*/standard.jar"
|
||||
# "*/launch4j.jar"
|
||||
# "*/apps/jetty/apache-tomcat*"
|
||||
# "*/lib/jetty*"
|
||||
# )
|
||||
# @CODE
|
||||
|
||||
# @ECLASS_VARIABLE: JAVA_PKG_WANT_BUILD_VM
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
@ -1919,12 +1934,8 @@ etestng() {
|
||||
# Don't call directly, but via java-pkg-2_src_prepare!
|
||||
java-utils-2_src_prepare() {
|
||||
case ${EAPI:-0} in
|
||||
5)
|
||||
java-pkg_func-exists java_prepare && java_prepare ;;
|
||||
*)
|
||||
java-pkg_func-exists java_prepare &&
|
||||
eqawarn "java_prepare is no longer called, define src_prepare instead."
|
||||
eapply_user ;;
|
||||
[678]) eapply_user ;;
|
||||
*) default_src_prepare ;;
|
||||
esac
|
||||
|
||||
# Check for files in JAVA_RM_FILES array.
|
||||
@ -1940,6 +1951,12 @@ java-utils-2_src_prepare() {
|
||||
find "${WORKDIR}" -name "*.class"
|
||||
echo "Search done."
|
||||
fi
|
||||
|
||||
# Delete bundled .class and .jar files.
|
||||
case ${EAPI:-0} in
|
||||
[678]) ;;
|
||||
*) java-pkg_clean ;;
|
||||
esac
|
||||
}
|
||||
|
||||
# @FUNCTION: java-utils-2_pkg_preinst
|
||||
@ -2926,11 +2943,13 @@ is-java-strict() {
|
||||
# @FUNCTION: java-pkg_clean
|
||||
# @DESCRIPTION:
|
||||
# Java package cleaner function. This will remove all *.class and *.jar
|
||||
# files, removing any bundled dependencies.
|
||||
# files, except those specified by expressions in JAVA_PKG_NO_CLEAN.
|
||||
java-pkg_clean() {
|
||||
if [[ -z "${JAVA_PKG_NO_CLEAN}" ]]; then
|
||||
find "${@}" '(' -name '*.class' -o -name '*.jar' ')' -type f -delete -print || die
|
||||
fi
|
||||
NO_DELETE=()
|
||||
for keep in ${JAVA_PKG_NO_CLEAN[@]}; do
|
||||
NO_DELETE+=( '!' '-path' ${keep} )
|
||||
done
|
||||
find "${@}" '(' -name '*.class' -o -name '*.jar' ${NO_DELETE[@]} ')' -type f -delete -print || die
|
||||
}
|
||||
|
||||
# @FUNCTION: java-pkg_gen-cp
|
||||
|
Loading…
Reference in New Issue
Block a user