From 12d66102ecbcb4a4eef51d1b7f06abe9080be243 Mon Sep 17 00:00:00 2001 From: Crucible Date: Thu, 15 Oct 2026 03:05:03 -0500 Subject: Publish srcux candidate 0000000656-20261015-030307 --- dev-java/ant/Manifest | 2 + dev-java/ant/ant-1.10.15-r1.ebuild | 392 --------------------- dev-java/ant/ant-1.10.15-r2.ebuild | 392 +++++++++++++++++++++ dev-java/ant/ant-1.10.18.ebuild | 386 ++++++++++++++++++++ dev-java/bsh-bsf-engine/Manifest | 1 + .../bsh-bsf-engine/bsh-bsf-engine-3.0.0_rc1.ebuild | 42 +++ dev-java/bsh-bsf-engine/metadata.xml | 12 + dev-java/bsh/Manifest | 1 + dev-java/bsh/bsh-3.0.0_rc1.ebuild | 96 +++++ 9 files changed, 932 insertions(+), 392 deletions(-) delete mode 100644 dev-java/ant/ant-1.10.15-r1.ebuild create mode 100644 dev-java/ant/ant-1.10.15-r2.ebuild create mode 100644 dev-java/ant/ant-1.10.18.ebuild create mode 100644 dev-java/bsh-bsf-engine/Manifest create mode 100644 dev-java/bsh-bsf-engine/bsh-bsf-engine-3.0.0_rc1.ebuild create mode 100644 dev-java/bsh-bsf-engine/metadata.xml create mode 100644 dev-java/bsh/bsh-3.0.0_rc1.ebuild (limited to 'dev-java') diff --git a/dev-java/ant/Manifest b/dev-java/ant/Manifest index 8202ae31468b..ea868e411f84 100644 --- a/dev-java/ant/Manifest +++ b/dev-java/ant/Manifest @@ -1,2 +1,4 @@ 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 +DIST apache-ant-1.10.18-src.tar.xz 3842048 BLAKE2B e26567ec836f6c9c964d980cb084b7fba506e5ac757ce87fe9ee8f1e6913a027b41c693f4c253a9bad89b445b7f4c769e5e0bc7c3176aa3132a68ab92cf382d8 SHA512 6749e9926996462f4c8934188f4d93a8f7accc38b6401567aef04d77ff6c253d501817c359b6e00bd89335ece0d1c992e92ba68937f2f2b4293049c0253fa57a +DIST apache-ant-1.10.18-src.tar.xz.asc 256 BLAKE2B 8495f1ce42aeef5dddcd71c218175603c4aa14fc1eae73c8ec48cd86a36cc582c832c989072729b91ec8fa03855f8c238e156960c6c8f4767d9a276c391cbb37 SHA512 60ba3e9b39e987160d2e2f1da99f962d6f0a19cf26c9ac172bac3fe9d5da4cbe2d78fa28d946e8dc4ef17abc072f73d065b690a093e30ad20c3c089cb591289e diff --git a/dev-java/ant/ant-1.10.15-r1.ebuild b/dev-java/ant/ant-1.10.15-r1.ebuild deleted file mode 100644 index d1dce6837d65..000000000000 --- a/dev-java/ant/ant-1.10.15-r1.ebuild +++ /dev/null @@ -1,392 +0,0 @@ -# Copyright 1999-2026 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 ~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-1.3.5-r1: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.25.2:0 ) - 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 - !=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>/p' \ - src/etc/poms/ant/pom.xml \ - | grep org \ - | sed -e 's:.*\(.*\):\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/p' \ - src/etc/poms/ant/pom.xml \ - | grep org \ - | sed -e 's:\(.*\):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 - # Removing non-existing files is not possible: We ignore them ( grep -v ). - local TEST_EXCLUDES=$( - sed -n '//,/<\/testExcludes/p' \ - src/etc/poms/ant/pom.xml \ - | grep org \ - | grep -v CommonsLoggingListener \ - | grep -v Log4jListener \ - | sed -e 's:\(.*\):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>/p' "src/etc/poms/${task}/pom.xml" \ - | grep org \ - | sed -e 's:.*\(.*\):\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 - 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 - # - # - 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/* -} diff --git a/dev-java/ant/ant-1.10.15-r2.ebuild b/dev-java/ant/ant-1.10.15-r2.ebuild new file mode 100644 index 000000000000..93e1eeff4140 --- /dev/null +++ b/dev-java/ant/ant-1.10.15-r2.ebuild @@ -0,0 +1,392 @@ +# Copyright 1999-2026 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 ~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-1.3.5-r1: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.25.2:0 ) + 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-2.1.1-r9999: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 + !=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>/p' \ + src/etc/poms/ant/pom.xml \ + | grep org \ + | sed -e 's:.*\(.*\):\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/p' \ + src/etc/poms/ant/pom.xml \ + | grep org \ + | sed -e 's:\(.*\):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 + # Removing non-existing files is not possible: We ignore them ( grep -v ). + local TEST_EXCLUDES=$( + sed -n '//,/<\/testExcludes/p' \ + src/etc/poms/ant/pom.xml \ + | grep org \ + | grep -v CommonsLoggingListener \ + | grep -v Log4jListener \ + | sed -e 's:\(.*\):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>/p' "src/etc/poms/${task}/pom.xml" \ + | grep org \ + | sed -e 's:.*\(.*\):\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 + 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 + # + # + 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/* +} diff --git a/dev-java/ant/ant-1.10.18.ebuild b/dev-java/ant/ant-1.10.18.ebuild new file mode 100644 index 000000000000..d61611a484ff --- /dev/null +++ b/dev-java/ant/ant-1.10.18.ebuild @@ -0,0 +1,386 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +JAVA_PKG_IUSE="doc source test" +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 ~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" + +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-20260402 )" +# 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-1.3.5-r1: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.25.2:0 ) + 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-bsf-engine-3.0.0_beta1: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 + !=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-bsf-engine + 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() { + 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>/p' \ + src/etc/poms/ant/pom.xml \ + | grep org \ + | sed -e 's:.*\(.*\):\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/p' \ + src/etc/poms/ant/pom.xml \ + | grep org \ + | sed -e 's:\(.*\):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 + # Removing non-existing files is not possible: We ignore them ( grep -v ). + local TEST_EXCLUDES=$( + sed -n '//,/<\/testExcludes/p' \ + src/etc/poms/ant/pom.xml \ + | grep org \ + | grep -v CommonsLoggingListener \ + | grep -v Log4jListener \ + | sed -e 's:\(.*\):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>/p' "src/etc/poms/${task}/pom.xml" \ + | grep org \ + | sed -e 's:.*\(.*\):\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 + 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 + # + # + org.apache.tools.ant.taskdefs.InitializeClassTest # Tests run: 1, Failures: 1 + org.apache.tools.mail.MailMessageTest # all tests in this test-class fail + org.apache.tools.ant.taskdefs.condition.HttpTest # needs network access + org.apache.tools.ant.taskdefs.GetTest # needs network access + ) + +# 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/* +} diff --git a/dev-java/bsh-bsf-engine/Manifest b/dev-java/bsh-bsf-engine/Manifest new file mode 100644 index 000000000000..f3e4e2170f32 --- /dev/null +++ b/dev-java/bsh-bsf-engine/Manifest @@ -0,0 +1 @@ +DIST bsh-3.0.0_rc1.tar.gz 798599 BLAKE2B 7c397697419a5032a18ec93ca192289dae413930cb9f708b38fb223de2e7ce1309e800b17b3c8fdaab88b41a098d3945d454fb12010cd7385f9c95f7d0de6fb4 SHA512 905b093cdeb2226202cc9bfcb8ad87129f415531d6532db4f5d9e111dc3b22474ce8704a2129e0d41448f8f147a45a409b457d78bc3e480e1555e74c75b7135d diff --git a/dev-java/bsh-bsf-engine/bsh-bsf-engine-3.0.0_rc1.ebuild b/dev-java/bsh-bsf-engine/bsh-bsf-engine-3.0.0_rc1.ebuild new file mode 100644 index 000000000000..bbd9d88275fd --- /dev/null +++ b/dev-java/bsh-bsf-engine/bsh-bsf-engine-3.0.0_rc1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +JAVA_PKG_IUSE="doc source test" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Beanshell BSF engine" +HOMEPAGE="https://github.com/beanshell/beanshell" +SRC_URI="https://github.com/beanshell/beanshell/archive/${PV/_rc/RC}.tar.gz -> bsh-${PV}.tar.gz" +S="${WORKDIR}/beanshell-${PV/_rc/RC}" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64" + +CP_DEPEND=" + ~dev-java/bsh-${PV}:0 + dev-java/bsf:2.3 +" + +DEPEND=" + ${CP_DEPEND} + >=virtual/jdk-1.8:* +" + +RDEPEND=" + ${CP_DEPEND} + >=virtual/jre-1.8:* +" + +DOCS=( {CHANGES,HISTORY,MIGRATION,README}.md NOTICE ) + +# JAVA_LAUNCHER_FILENAME="bsh-console" +# JAVA_MAIN_CLASS="bsh.Console" +# JAVA_RESOURCE_DIRS="src/main/resources" +JAVA_SRC_DIR="bsh-bsf-engine/src/main/java" +JAVA_TEST_GENTOO_CLASSPATH="junit-4" +JAVA_TEST_SRC_DIR="bsh-bsf-engine/src/test/java" diff --git a/dev-java/bsh-bsf-engine/metadata.xml b/dev-java/bsh-bsf-engine/metadata.xml new file mode 100644 index 000000000000..5e0507412430 --- /dev/null +++ b/dev-java/bsh-bsf-engine/metadata.xml @@ -0,0 +1,12 @@ + + + + + java@gentoo.org + Java + + + https://beanshell.org/manual/bsf.html + + srcux + diff --git a/dev-java/bsh/Manifest b/dev-java/bsh/Manifest index f4efff50c5dc..6c830a929dc9 100644 --- a/dev-java/bsh/Manifest +++ b/dev-java/bsh/Manifest @@ -1 +1,2 @@ DIST bsh-2.1.1.tar.gz 1922883 BLAKE2B d60ebfab96f81a17120733887468571dd991dce663d725d9bee2dc44146e320d36600be70a3b7f76516645030d40fcda17db70989d54e98ffdc69c91738bcaf1 SHA512 585fcb9fdc8c36063a7d4dfe9a909e68b61d611f023731c955b7ced3f894cb6c48b0d463735e6825cb6f0181ba97902279212d285e325267aa533490e0bbfe00 +DIST bsh-3.0.0_rc1.tar.gz 798599 BLAKE2B 7c397697419a5032a18ec93ca192289dae413930cb9f708b38fb223de2e7ce1309e800b17b3c8fdaab88b41a098d3945d454fb12010cd7385f9c95f7d0de6fb4 SHA512 905b093cdeb2226202cc9bfcb8ad87129f415531d6532db4f5d9e111dc3b22474ce8704a2129e0d41448f8f147a45a409b457d78bc3e480e1555e74c75b7135d diff --git a/dev-java/bsh/bsh-3.0.0_rc1.ebuild b/dev-java/bsh/bsh-3.0.0_rc1.ebuild new file mode 100644 index 000000000000..e1a20049d9c7 --- /dev/null +++ b/dev-java/bsh/bsh-3.0.0_rc1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +JAVA_PKG_IUSE="doc source test" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +JAVACC_SLOT="8" + +DESCRIPTION="A small embeddable Java source interpreter" +HOMEPAGE="https://github.com/beanshell/beanshell" +SRC_URI="https://github.com/beanshell/beanshell/archive/${PV/_rc/RC}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/beanshell-${PV/_rc/RC}" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +DEPEND=" + dev-java/javacc:${JAVACC_SLOT} + dev-java/javacc-java:${JAVACC_SLOT} + >=virtual/jdk-1.8:* + test? ( + dev-java/hamcrest-core:1.3 + dev-java/hamcrest-library:1.3 + >=dev-java/jmh-core-1.37:0 + ) +" + +RDEPEND=">=virtual/jre-1.8:*" + +DOCS=( {CHANGES,HISTORY,MIGRATION,README}.md NOTICE ) + +# src/main/java/bsh/Interpreter.java:1100: error: invalid use of a restricted identifier 'yield' +JAVADOC_ARGS="-source 8" +# JAVA_GENTOO_CLASSPATH="asm" +JAVA_LAUNCHER_FILENAME="bsh-console" +JAVA_MAIN_CLASS="bsh.Console" +JAVA_RESOURCE_DIRS="src/main/resources" + +# Attempts to unbundle asm would cause some test failures. +# JAVA_SRC_DIR=( src/main/java -type f ! -path '*/objectweb/*' ) # unbundle asm +JAVA_SRC_DIR="src/main/java" +JAVA_TEST_EXCLUDES=( + mypackage.ReflectTest # Invalid + bsh.TestFilter # Invalid + bsh.TestUtil # Invalid + # All 3 tests of of following test-class fail + bsh.SharedInterpreterEvalConcurrencyTest +) +JAVA_TEST_GENTOO_CLASSPATH="hamcrest-core-1.3 hamcrest-library-1.3 jmh-core junit-4" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" + +src_prepare() { + java-pkg-2_src_prepare + cat <<- VERSION > src/main/resources/bsh/version.properties || die "version.properties" + build=1234 + release=${PV/_rc/RC} + VERSION + +# sed \ +# -i -e 's:bsh.org.objectweb.asm:org.objectweb.asm:' \ +# src/main/java/bsh/BshLambda.java \ +# src/main/java/bsh/ClassGeneratorUtil.java \ +# src/test/java/bsh/BshLambdaClassLoadingTest.java \ +# src/test/java/bsh/ClassLifecycleConcurrencyTest.java \ +# src/test/java/bsh/ReflectTest.java + + local CP="$(java-pkg_getjars --build-only javacc-${JAVACC_SLOT},javacc-java-${JAVACC_SLOT})" + "$(java-config -J)" -cp "${CP}" org.javacc.jjtree.Main \ + -JJTREE_OUTPUT_DIRECTORY="jjtree-out" \ + "src/main/jjtree/bsh.jjt" || die "jjtree" + + "$(java-config -J)" -cp "${CP}" org.javacc.parser.Main \ + -OUTPUT_DIRECTORY="javacc-out" \ + jjtree-out/bsh.jj || die "javacc" + + cp --update=none -v jjtree-out/*.java src/main/java/bsh || die + cp --update=none -v javacc-out/*.java src/main/java/bsh || die + + # This test ramdomly fails or passes. + # Settings accoding to pom.xml, line 292, don't help. + # JAVA_TEST_EXTRA_ARGS="-Xmx1000M -Xms500M" # pom.xml, line 292 + rm -v src/test/resources/test-scripts/trycatch_ome.bsh || die +} + +src_install() { +# use source && JAVA_SRC_DIR=( src/main/java ) + java-pkg-simple_src_install + # The eclass installs only the main launcher. + java-pkg_dolauncher "${PN}-interpreter" --main bsh.Interpreter +} -- cgit v1.3