summaryrefslogtreecommitdiff
path: root/dev-java/ant
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-10-21 04:04:33 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-10-21 04:04:33 +0100
commit3dc4de6331223493015f198dc61854af604da86c (patch)
tree626add8c88d96adf9429cdb19226d9de60e6dafd /dev-java/ant
parentd895362f98ae63a6ed12cd16d3b3df95d6967f25 (diff)
gentoo auto-resync : 21:10:2024 - 04:04:33
Diffstat (limited to 'dev-java/ant')
-rw-r--r--dev-java/ant/Manifest3
-rw-r--r--dev-java/ant/ant-1.10.15.ebuild392
2 files changed, 395 insertions, 0 deletions
diff --git a/dev-java/ant/Manifest b/dev-java/ant/Manifest
index c9da780f64d4..9fa83a9c9eeb 100644
--- a/dev-java/ant/Manifest
+++ b/dev-java/ant/Manifest
@@ -6,5 +6,8 @@ AUX ant-1.10.14-LinkTest.patch 4329 BLAKE2B d4165d378dd63cab2a9d813c9d26c1ef7404
AUX ant-1.10.14-PathTest.patch 1114 BLAKE2B 870f35f250b4cd31317972c09f4a90eb26b71a8f198d1e96a085f99e0d6e41fd06c0598bcdae35c400aa8ba9b65e52b7dc0d7119308c60c8573a185907f2b7ba SHA512 9847fb3f6f3c2a37ac1e483ca7ac5685cc3d296b92ae35816fc4c58bb4de57d89196c50fabfa546efbec2303ea360066658507be0b4bdaeae3d5ff00e023f498
DIST apache-ant-1.10.14-src.tar.xz 3779488 BLAKE2B 40091c208c795d03b8f34656594cbf6c414f345cdacf637ece89a19a3ab0373cd8d65c342e0c4603569f9120f8f99a0b2eae8df874e6183649b39d7b88c614b8 SHA512 52936dfceb808a11dc842d2dc957a031508689270b59a2a6e3589f40465f6fa1aae87b189737cdd83eadfaf41b0c3f1ba2579bbd07591153107a5a27422521bd
DIST apache-ant-1.10.14-src.tar.xz.asc 833 BLAKE2B 4f8b1bb8bbd6d77b6e9eedf86818d42bb448e1b394e00590163e96967e36fe8e8e73e3f4fbf3b5bd1dab51cf69a39b99409bd8604cb7695cd6ae875ff13344a9 SHA512 2b91eda436210247ba39b82ba8aa1859051cf9baaf8ac8b551052e7986aeaa03c8b594347b8a734e08d12d8e270e29bf89b814562550a418abd0d2393ad4ac66
+DIST apache-ant-1.10.15-src.tar.xz 3780456 BLAKE2B c157b488ac5f207daf5afcec3368395cacd44d82e0b8e19cbdf637e8ea43bafd340fcb13aede1292f7a0b31ae82a968831c51dabebfccf2fafb6479aa79f7dc4 SHA512 7513c0909abcc2ebcbb552ec97eaa35f476e57fec54022755d2e83d9d6df5295e0d75274e687208a4689a30592c19a0df041dff511dd3690627b1734ee2171c5
+DIST apache-ant-1.10.15-src.tar.xz.asc 833 BLAKE2B e8741004b141955c729778cb987034f133af174dfc07c75976c8eda13272703b9b6158c68594f54dfef47c0f546c43cc97176b2a9193263076251a75b2f12129 SHA512 3585f32ef230e502db6a376d6343c74eae390931ae6a5c842b668eda6fbce1557e5d400001bbb244544c186e9e51cae4c2c05ccd6ff38cdbb16899aff5d48659
EBUILD ant-1.10.14-r3.ebuild 13076 BLAKE2B 2168f00aeb12dd66b46d063c3d593c985c9123ae3ef940d5f7a52e40d22240075040b78437a4a23e2f951901380e3022ec99009a87a93a9327edd2a546f1576a SHA512 df08ce210a32da087e045590d63c3ee0337e307f964174c79ed1c2f2f2a4d07441ed506c1ef2c6ef4e6181a7992ba82fdfafe808f911f4efc2d2fce0e69aaa3d
+EBUILD ant-1.10.15.ebuild 12964 BLAKE2B e07dcecda289e3d97a612b7b78b2639fb80db994f11c342ce4ef2aabc1b2594d831d2cfdbe87dd4c697f340054a6e3ecaee82e4e007603ee0955f9f07e4a0902 SHA512 efb98501074856dce0cc95a25b0c249ae647b1f9db796baa9772dbd944640cc21dc325389d0fb170240e3aa599e006e62503279456715b62d1f3fdaab56978cd
MISC metadata.xml 1928 BLAKE2B b48dbca1bf2ab76b0107466c68489722f4ceed5fa53f2a26d983dfd36c74efad96fce9f58d0e6bb5ba1e02d8e44135bcf96bd77b2db7491fd260da907c02fbab SHA512 9313f5e0914d9c64482c4897e659313480630316ca29b57190e976248a63a17b3c293198f82d4143bd25be0766cd4ce9556d2489d76adf74b0203a9dc4998726
diff --git a/dev-java/ant/ant-1.10.15.ebuild b/dev-java/ant/ant-1.10.15.ebuild
new file mode 100644
index 000000000000..9738f6ec6e14
--- /dev/null
+++ b/dev-java/ant/ant-1.10.15.ebuild
@@ -0,0 +1,392 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ org.apache.ant:ant:${PV}
+ org.apache.ant:ant-launcher:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig prefix
+
+DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files"
+HOMEPAGE="https://ant.apache.org/"
+SRC_URI="mirror://apache/ant/source/apache-${P}-src.tar.xz
+ verify-sig? ( https://downloads.apache.org/ant/source/apache-${P}-src.tar.xz.asc )"
+S="${WORKDIR}/apache-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="antlr bcel bsf commonslogging commonsnet imageio jai jakartamail javamail jdepend
+ jmf jsch junit junit4 junitlauncher log4j oro regexp resolver swing testutil xalan xz"
+
+# At least 10 test cases would fail without network
+PROPERTIES="test_network"
+RESTRICT="test"
+
+REQUIRED_USE="
+ junit4? ( junit )
+ test? ( bsf )
+ testutil? ( junit )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/ant.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-ant )"
+# jdk-11:* because it needs java/util/spi/ToolProvider, available since Java 9.
+DEPEND="
+ >=virtual/jdk-11:*
+ bcel? ( dev-java/bcel:0 )
+ bsf? ( dev-java/bsf:2.3 )
+ commonslogging? ( dev-java/commons-logging:0 )
+ commonsnet? ( dev-java/commons-net:0 )
+ jai? ( dev-java/sun-jai-bin:0 )
+ jakartamail? ( dev-java/jakarta-mail:0 )
+ javamail? (
+ dev-java/jakarta-activation-api:1
+ dev-java/javax-mail:0
+ )
+ jdepend? ( >=dev-java/jdepend-2.10-r1:0 )
+ jsch? ( dev-java/jsch:0 )
+ junit4? ( dev-java/junit:4 )
+ junit? ( dev-java/junit:4 )
+ junitlauncher? ( dev-java/junit:5[vintage] )
+ log4j? ( dev-java/log4j-12-api:2 )
+ oro? ( dev-java/jakarta-oro:2.0 )
+ regexp? ( dev-java/jakarta-regexp:1.4 )
+ resolver? ( dev-java/xml-commons-resolver:0 )
+ test? (
+ dev-java/antunit:0
+ dev-java/bsf:2.3[javascript]
+ dev-java/bsh:0
+ dev-java/hamcrest-library:1.3
+ dev-java/xerces:2
+ )
+ xalan? (
+ dev-java/xalan:0
+ dev-java/xalan-serializer:0
+ )
+ xz? ( dev-java/xz-java:0 )
+"
+RDEPEND="
+ !dev-java/ant-apache-regexp
+ !dev-java/ant-apache-log4j
+ !dev-java/ant-apache-xalan2
+ !dev-java/ant-commons-logging
+ !<dev-java/ant-core-1.10.14
+ !dev-java/ant-swing
+ !dev-java/ant-junit4
+ !dev-java/ant-testutil
+ !dev-java/ant-junitlauncher
+ !dev-java/ant-jai
+ !dev-java/ant-commons-net
+ !dev-java/ant-apache-bsf
+ !dev-java/ant-jmf
+ !dev-java/ant-apache-oro
+ !dev-java/ant-javamail
+ !dev-java/ant-junit
+ !dev-java/ant-jdepend
+ !dev-java/ant-antlr
+ !dev-java/ant-apache-bcel
+ !dev-java/ant-apache-resolver
+ !dev-java/ant-jsch
+ !dev-java/ant-xz
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( CONTRIBUTORS INSTALL NOTICE README WHATSNEW )
+PATCHES=(
+ "${FILESDIR}/1.10.9-launch.patch" # reusing this patch since the script has not changed
+ "${FILESDIR}/ant-1.10.14-AntlibTest.patch" # skips 1 of 6 tests
+ "${FILESDIR}/ant-1.10.14-AntTest.patch" # skips 1 of 32 tests
+ "${FILESDIR}/ant-1.10.14-JavaTest.patch" # skips 12 of 38 tests
+ "${FILESDIR}/ant-1.10.14-LinkTest.patch" # skips 4 of 67 tests
+ "${FILESDIR}/ant-1.10.14-PathTest.patch" # skips 1 of 33 tests
+)
+
+JAVADOC_SRC_DIRS=(
+ ant
+ ant-launcher/src/main
+)
+JAVA_TEST_GENTOO_CLASSPATH="
+ bsh
+ hamcrest-library-1.3
+ junit-4
+ xerces-2
+"
+JAVA_TEST_RESOURCE_DIRS=(
+ "src/etc/testcases"
+ "src/main"
+)
+JAVA_TEST_SRC_DIR="src/tests/junit"
+
+# $1 ant-apache-bsf (source directory)
+# $2 bsf-2.3 (classpath of external dependency)
+taskdeps() {
+ if [[ ${task} == $1 ]]; then
+ JAVA_CLASSPATH_EXTRA="${2}"
+ JAVADOC_CLASSPATH+=" ${2}"
+ JAVADOC_SRC_DIRS+=( "${task}/src/main" )
+ JAVA_RESOURCE_DIRS="${3}"
+ fi
+}
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./src/etc/*" # keep test resources
+
+ eprefixify "src/script/ant"
+
+ ANT_TASKS=(
+ $(use antlr && echo ant-antlr) # no dependencies
+ $(use bcel && echo ant-apache-bcel)
+ $(use bsf && echo ant-apache-bsf) # REQUIRED_USE for tests
+ $(use log4j && echo ant-apache-log4j)
+ $(use oro && echo ant-apache-oro) # ORO is retired - replace with java.util.regex?
+ $(use regexp && echo ant-apache-regexp)
+ $(use resolver && echo ant-apache-resolver)
+ $(use xalan && echo ant-apache-xalan2)
+ $(use commonslogging && echo ant-commons-logging)
+ $(use commonsnet && echo ant-commons-net)
+ $(use imageio && echo ant-imageio) # no dependencies
+ $(use jai && echo ant-jai)
+ $(use jakartamail && echo ant-jakartamail)
+ $(use javamail && echo ant-javamail)
+ $(use jdepend && echo ant-jdepend)
+ $(use jmf && echo ant-jmf) # no dependencies
+ $(use jsch && echo ant-jsch)
+ $(use junit && echo ant-junit) # REQUIRED_USE for junit4 and for testutil
+ $(use junit4 && echo ant-junit4)
+ $(use junitlauncher && echo ant-junitlauncher)
+ # depends on "com.ibm.netrexx:netrexx:2.0.5" which is
+ # available on https://www.netrexx.org/downloads.nsp and states:
+ # "IBM's last NetRexx release, suitable for JVM versions 1.5 and below [...]"
+ # $(use netrexx && echo ant-netrexx) # src/etc/poms/ant-netrexx/pom.xml
+ $(use swing && echo ant-swing) # no dependencies
+ $(use testutil && echo ant-testutil)
+ $(use xz && echo ant-xz)
+ )
+
+ # defaultManifest.mf
+ sed -e "s:\${project.version}:${PV}:" \
+ -i src/main/org/apache/tools/ant/defaultManifest.mf || die
+
+ # version.txt
+ local mydate="$(date '+%B %d %Y')"
+ echo "VERSION=${PV}" > src/main/org/apache/tools/ant/version.txt || die
+ echo "DATE=${mydate}" >> src/main/org/apache/tools/ant/version.txt || die
+
+ # src directory for ant.jar
+ mkdir ant || die "cannot create src directory for ant"
+ cp -r {src/main/,ant}/org || die "cannot copy ant sources"
+
+ # resources directory for ant.jar according to lines 317-325 src/etc/poms/ant/pom.xml
+ local INCLUDES=( $(
+ sed -n '/<resources>/,/<\/resources>/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | sed -e 's:.*<include>\(.*\)</include>:\1:' || die
+ ))
+ cp -r {src/,ant}/resources || die "cannot copy ant resources"
+ pushd src/main > /dev/null || die "pushd src/main"
+ cp --parents -v "${INCLUDES[@]}" ../../ant/resources || die "CANNOT"
+ popd > /dev/null || die "popd"
+
+ # Remove sources according to lines 158-187 src/etc/poms/ant/pom.xml
+ # We don't remove anything from src/main/org
+ local EXCLUDES=$(
+ sed -n '/<excludes>/,/<\/excludes/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | sed -e 's:<exclude>\(.*\)</exclude>:ant/\1:' || die
+ )
+ rm -r ${EXCLUDES} || die
+ # Remove one more file directly, could not get it with sed.
+ rm ant/org/apache/tools/ant/taskdefs/optional/ANTLR.java || die
+
+ # Same handling for everything between <testExcludes> </testExcludes>
+ # Removing non-existing files is not possible: We ignore them ( grep -v ).
+ local TEST_EXCLUDES=$(
+ sed -n '/<testExcludes>/,/<\/testExcludes/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | grep -v CommonsLoggingListener \
+ | grep -v Log4jListener \
+ | sed -e 's:<exclude>\(.*\)</exclude>:src/tests/junit/\1:' || die
+ )
+ rm -r ${TEST_EXCLUDES} || die
+
+ # Prepare a separate JAVA_SRC_DIR directory for each jar file to be created.
+ einfo "Copy source files of ant-tasks"
+ local task
+ for task in ant-launcher "${ANT_TASKS[@]}"; do
+ # "${task}/src/main" will be JAVA_SRC_DIR
+ mkdir -p "${task}/src/main" || die "mkdir ${task}"
+ # Read from pom.xml the file names which can still contain wildcards
+ local INCLUDES=( $(
+ sed -n '/<includes>/,/<\/includes>/p' "src/etc/poms/${task}/pom.xml" \
+ | grep org \
+ | sed -e 's:.*<include>\(.*\)</include>:\1:' || die
+ ))
+ local sourcefile
+ # Resolve wildcards in file names using find and copy the files to the corresponding
+ # "${task}"/src/main directory
+ # echo "${INCLUDES[@]}"
+ for sourcefile in "${INCLUDES[@]}"; do
+ # einfo "${task}: ${sourcefile}"
+ # Parameter substitution % to remove trailing slash from ${sourcefile}.
+ # Applies to ant-jdepend and ant-junitlauncher where find would otherwise fail.
+ find \
+ -path "./src/*/${sourcefile%/}" \
+ -exec cp -r --parents "{}" \
+ "${task}/src/main" \;
+ done
+ # tree "${task}"
+ done
+
+ # JAVA_RESOURCE_DIRS for ant-junit
+ mkdir -p ant-junit/src/resources/org/apache/tools/ant/taskdefs/optional/junit/xsl \
+ || die "junit resource dir"
+ cp src/etc/{junit-frames,junit-noframes,junit-frames-saxon,junit-noframes-saxon}.xsl \
+ ant-junit/src/resources/org/apache/tools/ant/taskdefs/optional/junit/xsl \
+ || die "junit resources"
+}
+
+src_compile() {
+ einfo "Compiling ant-launcher.jar"
+ JAVA_JAR_FILENAME="ant-launcher.jar"
+ JAVA_MAIN_CLASS="org.apache.tools.ant.launch.Launcher"
+ JAVA_SRC_DIR="ant-launcher/src/main"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":ant-launcher.jar"
+ rm -r target || die
+
+ einfo "Compiling ant.jar"
+ JAVA_JAR_FILENAME="ant.jar"
+ JAVA_LAUNCHER_FILENAME="ant"
+ JAVA_MAIN_CLASS="org.apache.tools.ant.Main"
+ JAVA_RESOURCE_DIRS="ant/resources"
+ JAVA_SRC_DIR="ant"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":ant.jar"
+ rm -r target || die
+
+ local task
+ for task in "${ANT_TASKS[@]}"; do
+ einfo "Compiling ${task}"
+ JAVA_JAR_FILENAME="${task}.jar"
+ JAVA_MAIN_CLASS=""
+ JAVA_RESOURCE_DIRS=""
+ JAVA_SRC_DIR=""
+
+ JAVA_SRC_DIR="${task}/src/main"
+ taskdeps ant-apache-bcel bcel
+ taskdeps ant-apache-bsf bsf-2.3
+ taskdeps ant-apache-log4j log4j-12-api-2
+ taskdeps ant-apache-oro jakarta-oro-2.0
+ taskdeps ant-apache-regexp jakarta-regexp-1.4
+ taskdeps ant-apache-resolver xml-commons-resolver
+ taskdeps ant-apache-xalan2 xalan
+ taskdeps ant-commons-logging commons-logging
+ taskdeps ant-commons-net commons-net
+ taskdeps ant-jai sun-jai-bin
+ taskdeps ant-jakartamail jakarta-mail
+ taskdeps ant-javamail 'javax-mail jakarta-activation-api-1'
+ taskdeps ant-jdepend jdepend
+ taskdeps ant-jsch jsch
+ taskdeps ant-junit junit-4 ant-junit/src/resources
+ taskdeps ant-junit4 junit-4
+ taskdeps ant-junitlauncher junit-5
+ # $(use netrexx && echo ant-netrexx)
+ taskdeps ant-xz xz-java
+
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${task}.jar"
+ rm -fr target || die
+ done
+ use doc && ejavadoc
+}
+
+src_test() {
+ # Avoid "--with-dependencies" as used by JAVA_TEST_GENTOO_CLASSPATH.
+ # dev-java/antunit has a circular dependency with dev-java/ant[test]
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only antunit)"
+ # according to line 115 src/etc/poms/ant/pom.xml
+ jar -cvf src/etc/testcases/org/apache/tools/ant/taskdefs/test2-antlib.jar \
+ -C src/etc/testcases taskdefs/test.antlib.xml || die "cannot test2-antlib.jar"
+
+ JAVA_TEST_EXCLUDES=(
+ # according to lines 1956-1964 build.xml (abstract classes, not testcases)
+ org.apache.tools.ant.taskdefs.TaskdefsTest
+ org.apache.tools.ant.BuildFileTest
+ org.apache.tools.ant.util.regexp.RegexpMatcherTest
+ org.apache.tools.ant.util.regexp.RegexpTest
+ org.apache.tools.ant.types.selectors.BaseSelectorTest
+ # according to line 1970 build.xml (helper classes, not testcases)
+ org.apache.tools.ant.TestHelper
+ # lines 2097-2102 build.xml (interactive tests)
+ org.apache.tools.ant.taskdefs.TestProcess # 1. No runnable methods
+ # 1) testAll(org.apache.tools.ant.taskdefs.InitializeClassTest)
+ # /var/tmp/portage/dev-java/ant-1.10.14/work/apache-ant-1.10.14/
+ # src/etc/testcases/taskdefs/initializeclass.xml:24: Java returned: 1
+ # <pathelement path="${build.tests.value}"/>
+ # <pathelement location="${java.home}/lib/classes.zip"/>
+ org.apache.tools.ant.taskdefs.InitializeClassTest # Tests run: 1, Failures: 1
+ )
+
+# tests with patches to be revisited
+# JAVA_TEST_RUN_ONLY=(
+# org.apache.tools.ant.taskdefs.AntlibTest # Tests run: 6, Failures: 1 test2-antlib.jar?
+# org.apache.tools.ant.taskdefs.AntTest # Tests run: 32, Failures: 1
+# org.apache.tools.ant.taskdefs.JavaTest # Tests run: 38, Failures: 12
+# org.apache.tools.ant.taskdefs.modules.LinkTest # Tests run: 67, Failures: 4
+# org.apache.tools.ant.types.PathTest # Tests run: 33, Failures: 1
+# )
+
+ # according to lines 276-297 src/etc/poms/ant/pom.xml
+ JAVA_TEST_EXTRA_ARGS=(
+ -Dant.home="${ANT_HOME}"
+ -Dbuild.classes.value=../../../target/test-classes # needed for org.apache.tools.ant.taskdefs.SignJarTest
+ -Dbuild.tests.value=target/test-classes
+ -Doffline=true
+ -Dant.test.basedir.ignore=true
+ )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar ant.jar ant-launcher.jar
+
+ for task in "${ANT_TASKS[@]}"; do
+ java-pkg_dojar "${task}.jar"
+ java-pkg_register-ant-task --version "${PV}" "${task}"
+ done
+
+ dobin src/script/ant
+
+ dodir /usr/share/ant/bin
+ for each in antRun antRun.pl runant.pl runant.py ; do
+ dobin "${S}/src/script/${each}"
+ done
+
+ insinto /usr/share/ant/etc
+ doins -r src/etc/*.xsl
+ insinto /usr/share/ant/etc/checkstyle
+ doins -r src/etc/checkstyle/*.xsl
+
+ echo "ANT_HOME=\"${EPREFIX}/usr/share/ant\"" > "${T}/20ant"
+ doenvd "${T}/20ant"
+
+ einstalldocs
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ docinto html
+ dodoc -r manual
+ fi
+
+ use source && java-pkg_dosrc src/main/*
+}