ant-tasks.eclass: cleanup and improvement

1) removed obsolete code
2) increased default jdk/jre version to the lowest available version 1.8
3) added support for patching build.xml along with the original build.xml replacement

Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
This commit is contained in:
Miroslav Šulc
2019-01-21 09:45:29 +01:00
parent 3848ac13d9
commit f14e39de0e

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 or later
# @ECLASS: ant-tasks.eclass
@@ -11,27 +11,37 @@
# This eclass provides functionality and default ebuild variables for building
# dev-java/ant-* packages easily.
case "${EAPI:-0}" in
0|1|2|3|4)
die "ant-tasks.eclass: EAPI ${EAPI} is too old."
;;
5|6|7)
;;
*)
die "ant-tasks.eclass: EAPI ${EAPI} is not supported yet."
;;
esac
# we set ant-core dep ourselves, restricted
JAVA_ANT_DISABLE_ANT_CORE_DEP=true
# rewriting build.xml for are the testcases has no reason atm
JAVA_PKG_BSFIX_ALL=no
inherit java-pkg-2 java-ant-2
[[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver
[[ ${EAPI:-0} == [56] ]] && inherit eapi7-ver
EXPORT_FUNCTIONS src_unpack src_compile src_install
# @ECLASS-VARIABLE: ANT_TASK_JDKVER
# @DESCRIPTION:
# Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.5, can
# Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.8, can
# be overridden from ebuild BEFORE inheriting this eclass.
ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.5}
ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.8}
# @ECLASS-VARIABLE: ANT_TASK_JREVER
# @DESCRIPTION:
# Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.5, can
# Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.8, can
# be overridden from ebuild BEFORE inheriting this eclass.
ANT_TASK_JREVER=${ANT_TASK_JREVER-1.5}
ANT_TASK_JREVER=${ANT_TASK_JREVER-1.8}
# @ECLASS-VARIABLE: ANT_TASK_NAME
# @DESCRIPTION:
@@ -56,31 +66,18 @@ ANT_TASK_DEPNAME=${ANT_TASK_DEPNAME-${ANT_TASK_NAME}}
# Version of ant-core this task is intended to register and thus load with.
ANT_TASK_PV="${PV}"
# special care for beta/RC releases
if [[ ${PV} == *beta2* ]]; then
MY_PV=${PV/_beta2/beta}
UPSTREAM_PREFIX="http://people.apache.org/dist/ant/v1.7.1beta2/src"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles"
ANT_TASK_PV=$(ver_cut 1-3)
elif [[ ${PV} == *_rc* ]]; then
MY_PV=${PV/_rc/RC}
UPSTREAM_PREFIX="https://dev.gentoo.org/~caster/distfiles"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles"
ANT_TASK_PV=$(ver_cut 1-3)
else
# default for final releases
MY_PV=${PV}
case ${PV} in
1.9.*)
UPSTREAM_PREFIX="https://archive.apache.org/dist/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~tomwij/files/dist"
;;
*)
UPSTREAM_PREFIX="mirror://apache/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~caster/distfiles"
;;
esac
fi
# default for final releases
MY_PV=${PV}
case ${PV} in
1.9.2)
UPSTREAM_PREFIX="https://archive.apache.org/dist/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~tomwij/files/dist"
;;
*)
UPSTREAM_PREFIX="mirror://apache/ant/source"
GENTOO_PREFIX="https://dev.gentoo.org/~fordfrog/distfiles"
;;
esac
# source/workdir name
MY_P="apache-ant-${MY_PV}"
@@ -101,11 +98,6 @@ if [[ -z "${ANT_TASK_DISABLE_VM_DEPS}" ]]; then
DEPEND+=" >=virtual/jdk-${ANT_TASK_JDKVER}"
fi
# we need direct blockers with old ant-tasks for file collisions - bug #252324
if ver_test -ge 1.7.1; then
DEPEND+=" !dev-java/ant-tasks"
fi
# Would run the full ant test suite for every ant task
RESTRICT="test"
@@ -130,7 +122,15 @@ ant-tasks_src_unpack() {
cd "${S}"
# replace build.xml with our modified for split building
mv -f "${WORKDIR}"/build.xml .
if [ -e "${WORKDIR}"/${PV}-build.patch ] ; then
if [ ${EAPI:-0} -eq 5 ]; then
die "ant-tasks.eclass: build.xml patching not supported for EAPI 5 ebuilds"
fi
eapply "${WORKDIR}"/${PV}-build.patch
else
mv -f "${WORKDIR}"/build.xml .
fi
cd lib
# remove bundled xerces
@@ -168,8 +168,6 @@ ant-tasks_src_install() {
java-pkg_register-ant-task --version "${ANT_TASK_PV}"
# create the compatibility symlink
if ver_test -ge 1.7.1_beta2; then
dodir /usr/share/ant/lib
dosym /usr/share/${PN}/lib/${PN}.jar /usr/share/ant/lib/${PN}.jar
fi
dodir /usr/share/ant/lib
dosym /usr/share/${PN}/lib/${PN}.jar /usr/share/ant/lib/${PN}.jar
}