summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2023-10-18 08:01:53 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2023-10-18 08:01:53 +0000
commita5829277e1064e9750d2b80820e6b6032f7b694d (patch)
treed129960a9f38d9b1258480150a511b7f82db18a7
parent2023-10-18 07:46:59 UTC (diff)
parentdev-java/asm: add 9.6 (diff)
downloadgentoo-a5829277e1064e9750d2b80820e6b6032f7b694d.tar.gz
gentoo-a5829277e1064e9750d2b80820e6b6032f7b694d.tar.bz2
gentoo-a5829277e1064e9750d2b80820e6b6032f7b694d.zip
Merge updates from master
-rw-r--r--dev-java/asm/Manifest1
-rw-r--r--dev-java/asm/asm-9.6.ebuild94
-rw-r--r--dev-java/jcommander/Manifest1
-rw-r--r--dev-java/jcommander/jcommander-1.64.ebuild23
-rw-r--r--dev-java/testng/Manifest5
-rw-r--r--dev-java/testng/testng-6.11.ebuild101
-rw-r--r--eclass/java-pkg-simple.eclass8
-rw-r--r--eclass/java-utils-2.eclass15
8 files changed, 244 insertions, 4 deletions
diff --git a/dev-java/asm/Manifest b/dev-java/asm/Manifest
index ec6cf25000d4..53e6953311c2 100644
--- a/dev-java/asm/Manifest
+++ b/dev-java/asm/Manifest
@@ -1 +1,2 @@
DIST asm-ASM_9_5.tar.bz2 1372645 BLAKE2B 3eac319c9322dfd9fff1324b032a2248127592107c0256adec6f0c592cf55298b9f060603e1697e7560db9b337585f59bfebea684dcefaf0b4a149061ebb915c SHA512 6c1b4624789435b347b43db50e6605cf60008c73125245e1495e11eef03770e49308963ee152654fa45ac9b05150e8ff4d646d69b69aef27296069f4a7343301
+DIST asm-ASM_9_6.tar.bz2 1374579 BLAKE2B 621b19f1818ffdd451037af210ec7c3286e3dabdb1d6192157c2e6e8c101f599691cd4de57adf500f5413b4aaf4f808d6ac791e84626223a7be5672a17137670 SHA512 86b2db3e81c29c465d4128736f88ae3b73af8f312915921549d0acdb50a8d2c2c2beed5162af164b6e75278702af0c6f0a8d84b4133516eb4ac419520b7c764d
diff --git a/dev-java/asm/asm-9.6.ebuild b/dev-java/asm/asm-9.6.ebuild
new file mode 100644
index 000000000000..f121718f5735
--- /dev/null
+++ b/dev-java/asm/asm-9.6.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# tests not enabled because of missing eclass support of junit-jupiter
+JAVA_PKG_IUSE="doc source"
+MAVEN_PROVIDES="
+ org.ow2.asm:asm-bom:${PV}
+ org.ow2.asm:asm:${PV}
+ org.ow2.asm:asm-analysis:${PV}
+ org.ow2.asm:asm-commons:${PV}
+ org.ow2.asm:asm-tree:${PV}
+ org.ow2.asm:asm-util:${PV}
+"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Bytecode manipulation framework for Java"
+HOMEPAGE="https://asm.ow2.io"
+MY_P="ASM_${PV//./_}"
+SRC_URI="https://gitlab.ow2.org/asm/asm/-/archive/${MY_P}/asm-${MY_P}.tar.bz2"
+S="${WORKDIR}/asm-${MY_P}"
+
+LICENSE="BSD"
+SLOT="9"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~x64-macos"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+ASM_MODULES=( "asm" "asm-tree" "asm-analysis" "asm-commons" "asm-util" )
+
+src_prepare() {
+ default
+ local module
+ touch "${T}/asm.module" || die
+ for module in "${ASM_MODULES[@]}"; do
+ module=${module/-/.}
+ cat > ${module/./-}/src/main/java/module-info.java <<-EOF || die
+ open module org.objectweb.${module/analysis/tree.analysis} {
+ $(cat ${T}/asm.module)
+ requires java.base;
+ exports org.objectweb.${module/analysis/tree.analysis};
+ }
+ EOF
+ echo "requires transitive org.objectweb.${module/analysis/tree.analysis};" \
+ >> "${T}/asm.module" || die
+ done
+ sed -e '/^$/d' \
+ -e '/asm;/p;s:\(asm\)\(;\):\1.signature\2:' \
+ -i asm/src/main/java/module-info.java || die
+ sed -e '/analysis/d' \
+ -i asm-commons/src/main/java/module-info.java || die
+ sed -e '/commons/d' \
+ -i asm-util/src/main/java/module-info.java || die
+}
+
+src_compile() {
+ local module
+ for module in "${ASM_MODULES[@]}"; do
+ einfo "Compiling ${module}"
+ JAVA_JAR_FILENAME="${module}.jar"
+ JAVA_SRC_DIR="${module}/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${module}.jar"
+ rm -r target || die
+ done
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ JAVA_SRC_DIR=()
+ for module in "${ASM_MODULES[@]}"; do
+ rm "${module}/src/main/java/module-info.java" || die
+ JAVA_SRC_DIR+=("${module}/src/main/java")
+ done
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_install() {
+ local module
+ for module in "${ASM_MODULES[@]}"; do
+ java-pkg_dojar ${module}.jar
+ if use source; then
+ java-pkg_dosrc "${module}/src/main/java/*"
+ fi
+ done
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+ default
+}
diff --git a/dev-java/jcommander/Manifest b/dev-java/jcommander/Manifest
index dea22c35f059..72fb13e70a45 100644
--- a/dev-java/jcommander/Manifest
+++ b/dev-java/jcommander/Manifest
@@ -1 +1,2 @@
+DIST jcommander-1.64.tar.gz 4404316 BLAKE2B 17ade214604de2ed8e85fd8b8043483f5b3c6d26b7a59afe2cc83dfa804fa298a2a1a4251ac65f66ad3a89002f532c29ee031b0a26293cbbd4f3df72e9a3a6ac SHA512 aaf7c323d9a829635847774b927d63cc35fbe479271029b8f3fdb94c6839dc26ac55f5c28fefbee6a0219e11c73f2c487c3660bf2f3a7f4033c0e2092d6f2fa4
DIST jcommander-1.82.tar.gz 4433079 BLAKE2B 08111ae7a85202dc3a082db58f42ef5183b05cae827bc304ba426a3d02bf7a4123f84500e6ec5694578a7aa29c631cca692fe71d67e12a1107c57e1858be4dcf SHA512 1abcb54cec21e95a3e5fc952320a7fca1d480f9900992e686f66df49749b6eee79e18dc670f10cc05b0d2a4f0a72fae302568a51ff193788897878aefc3ff67b
diff --git a/dev-java/jcommander/jcommander-1.64.ebuild b/dev-java/jcommander/jcommander-1.64.ebuild
new file mode 100644
index 000000000000..cb9a9a664486
--- /dev/null
+++ b/dev-java/jcommander/jcommander-1.64.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.beust:jcommander:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Command line parsing framework for Java"
+HOMEPAGE="https://jcommander.org/"
+SRC_URI="https://github.com/cbeust/jcommander/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="1.64"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/testng/Manifest b/dev-java/testng/Manifest
index 310f28a1c68c..aaf68f18ad4d 100644
--- a/dev-java/testng/Manifest
+++ b/dev-java/testng/Manifest
@@ -1 +1,6 @@
+DIST apache-groovy-binary-2.4.21.zip 37467992 BLAKE2B e0f925bad53f0f8a7012f0bea420ec3e5986118cc23cd677a11f619284754eacc15c3012cf780063fef574053781bba924a86e5fa2ac284d86f349ad18173704 SHA512 e2f73405d7521b99e3ce5622cffcc505bbc039ccb1c35696fc895d648a9325937a136cf97a229f7ac1b90b63ad8603881350c4d41e514ad45233fb333d76d510
+DIST groovy-all-2.4.7.jar 7015434 BLAKE2B 23d22ddd78229c485ed9384169acee154258644249b856661e17d1d0efb5518e32473a26962b5d657a09b41d490813ed76254820ffdf39e83869209617b66c2d SHA512 4c26ff9f7137c0506c95f7ba1d4228ce57e16d87b77dd1d114390224207d71d3958460c7b5a239d5f41596ab87e7f4aa7aaea1dfce19a50badf8f9b818329c54
+DIST jquery-3.5.1.jar 313070 BLAKE2B 76abfbd21d83f72a3cfcb666f3a2fcfcf5975e723a462996bac9701caf6b59cb9998746af713ebb1f6bfe49cce91544216cc65dc6819e95e8a15930744685415 SHA512 9f560415b36875958ff1d3c6d37fa79d6d134c5f5fc7719dd21db36d1f24dec39787834b2a9ffb104ec6b56e725ccc524a8ff9b189ced3d68e24296b2daae720
+DIST spock-core-1.0-groovy-2.4.jar 588030 BLAKE2B 68d8fad8b6ffb45a18778797ea23d4f3b09256bf4e9f207ee666d07572399cd13522e6f1590219a80e23f6906a2e9eaf1f22c6a3c01717e8c1e99b5d37b89210 SHA512 078c0b16688eaa3134043e58ed4273981797ea92f08723b5508c7d7e4f635278dd5ca731fb294da2a1f35674623d969ee423d4344c2c822e1d4cb8d4f3383790
+DIST testng-6.11.tar.gz 677522 BLAKE2B 2e7bf30fcf805cce5a7ec42f22c39e9f4678642fcde9752c51d118e655189805661edeeff1a3db0e960c79e7542fe25ab8fa6995f142da12b3adc8753fd8a361 SHA512 996d7a18399e16626756b7a790182c7b6bf3453280209d0a09d4a509d698fcad1a80e58ec36702de95bd59c90c237463719ad44934c14390620fc9655d871252
DIST testng-6.9.10.tar.gz 6271781 BLAKE2B 5b77f4b1d9bfdca6749a1d33f465a30bcd9ab9dd9fc37abf8148301c24d6bf287224d9886c0f681deac54e12f9460139ce2a2058b3d160c05cf8fcb9f7808373 SHA512 ed9ad1ced20904ab261d2a233f3fa43ee1ea31778e992cdd27459811b256a6998d8385dd01ff72821133208a1fbd72aa3599a4b8bc0eb4d7b696d34593f9567e
diff --git a/dev-java/testng/testng-6.11.ebuild b/dev-java/testng/testng-6.11.ebuild
new file mode 100644
index 000000000000..fa7a919959da
--- /dev/null
+++ b/dev-java/testng/testng-6.11.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.testng:testng:6.11"
+JAVA_TESTING_FRAMEWORKS="testng"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Testing framework inspired by JUnit and NUnit with new features"
+HOMEPAGE="https://testng.org/"
+# Presently we install the binary version of jquery since it is not packaged in ::gentoo.
+JQV="3.5.1"
+# Currently we bundle the binary versions of spock-core, groovy-all and apache-groovy-binary.
+# These are used only for tests, we don't install them.
+SCV="1.0-groovy-2.4"
+GAV="2.4.7"
+AGV="2.4.21"
+SRC_URI="https://github.com/testng-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://repo1.maven.org/maven2/org/webjars/jquery/${JQV}/jquery-${JQV}.jar
+ test? (
+ https://repo1.maven.org/maven2/org/spockframework/spock-core/${SCV}/spock-core-${SCV}.jar
+ https://repo1.maven.org/maven2/org/codehaus/groovy/groovy-all/${GAV}/groovy-all-${GAV}.jar
+ https://downloads.apache.org/groovy/${AGV}/distribution/apache-groovy-binary-${AGV}.zip
+ )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+SLOT="0"
+
+CP_DEPEND="
+ dev-java/ant-core:0
+ dev-java/bsh:0
+ dev-java/guice:4
+ dev-java/jcommander:1.64
+ dev-java/junit:4
+ dev-java/snakeyaml:0
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/assertj-core:3
+ dev-java/guava:0
+ )"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+DOCS=( README {ANNOUNCEMENT,CHANGES}.txt )
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="assertj-core-3"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_RUN_ONLY="src/test/resources/testng.xml"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./src/*"
+
+ rm src/main/resources/META-INF/MANIFEST.MF || die
+}
+
+src_test() {
+ # This contains the compiler groovyc
+ unzip "${DISTDIR}/apache-groovy-binary-${AGV}.zip"
+
+ JAVA_GENTOO_CLASSPATH_EXTRA=":${DISTDIR}/spock-core-${SCV}.jar"
+
+ ejavac -cp "${JAVA_TEST_SRC_DIR}:${PN}.jar:$(java-pkg_getjars guava)" \
+ src/test/java/test/SimpleBaseTest.java || die
+
+ # java-pkg-simple.eclass expects generated test classes in this
+ # directory and will copy them to target/test-classes
+ mkdir generated-test || die "cannot create generated-test directory"
+ "groovy-${AGV}/bin/groovyc" \
+ -cp "${JAVA_TEST_SRC_DIR}:${DISTDIR}/spock-core-${SCV}.jar" \
+ -d generated-test \
+ src/test/groovy/test/groovy/* || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${DISTDIR}/groovy-all-${GAV}.jar"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_dolauncher ${PN} --main org.testng.TestNG
+
+ java-pkg_newjar "${DISTDIR}/jquery-${JQV}.jar" jquery.jar
+ java-pkg_regjar "${ED}/usr/share/${PN}/lib/jquery.jar"
+
+ java-pkg_register-ant-task
+}
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 02200f10cb8d..ea4833727ea1 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -46,7 +46,8 @@ if has test ${JAVA_PKG_IUSE}; then
test_deps+=" amd64? ( dev-util/pkgdiff
dev-util/japi-compliance-checker )";;
testng)
- test_deps+=" dev-java/testng:0";;
+ [[ ${PN} != testng ]] && \
+ test_deps+=" dev-java/testng:0";;
esac
done
[[ ${test_deps} ]] && DEPEND="test? ( ${test_deps} )"
@@ -506,6 +507,11 @@ java-pkg-simple_src_test() {
# create the target directory
mkdir -p ${classes} || die "Could not create target directory for testing"
+ # generated test classes should get generated into "generated-test" directory
+ if [[ -d generated-test ]]; then
+ cp -r generated-test/* "${classes}" || die "cannot copy generated test classes"
+ fi
+
# get classpath
classpath="${classes}:${JAVA_JAR_FILENAME}"
java-pkg-simple_getclasspath
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 92e02e3085b1..fd1f708b86b4 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1886,13 +1886,17 @@ ejunit4() {
# @CODE
# $1 - -cp or -classpath
# $2 - the classpath passed to it
-# $@ - test classes for testng to run.
+# $@ - test classes or testng.xml for testng to run.
# @CODE
etestng() {
debug-print-function ${FUNCNAME} $*
local runner=org.testng.TestNG
- local cp=$(java-pkg_getjars --with-dependencies testng)
+ if [[ ${PN} != testng ]]; then
+ local cp=$(java-pkg_getjars --with-dependencies testng)
+ else
+ local cp=testng.jar
+ fi
local tests
if [[ ${1} = -cp || ${1} = -classpath ]]; then
@@ -1910,6 +1914,7 @@ etestng() {
-cp ${cp}
-Djava.io.tmpdir="${T}"
-Djava.awt.headless=true
+ -Dtest.resources.dir="${JAVA_TEST_RESOURCE_DIRS}"
${JAVA_TEST_EXTRA_ARGS[@]}
${runner}
${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}
@@ -1922,7 +1927,11 @@ etestng() {
)
fi
- args+=( -testclass ${tests} )
+ if [[ "${test%.xml}" == "${test}" ]]; then
+ args+=( -testclass ${tests} )
+ else
+ args+=( ${tests%,} )
+ fi
debug-print "java ${args[@]}"
java ${args[@]} || die "Running TestNG failed."