diff options
author | 2023-10-18 08:01:53 +0000 | |
---|---|---|
committer | 2023-10-18 08:01:53 +0000 | |
commit | a5829277e1064e9750d2b80820e6b6032f7b694d (patch) | |
tree | d129960a9f38d9b1258480150a511b7f82db18a7 | |
parent | 2023-10-18 07:46:59 UTC (diff) | |
parent | dev-java/asm: add 9.6 (diff) | |
download | gentoo-a5829277e1064e9750d2b80820e6b6032f7b694d.tar.gz gentoo-a5829277e1064e9750d2b80820e6b6032f7b694d.tar.bz2 gentoo-a5829277e1064e9750d2b80820e6b6032f7b694d.zip |
Merge updates from master
-rw-r--r-- | dev-java/asm/Manifest | 1 | ||||
-rw-r--r-- | dev-java/asm/asm-9.6.ebuild | 94 | ||||
-rw-r--r-- | dev-java/jcommander/Manifest | 1 | ||||
-rw-r--r-- | dev-java/jcommander/jcommander-1.64.ebuild | 23 | ||||
-rw-r--r-- | dev-java/testng/Manifest | 5 | ||||
-rw-r--r-- | dev-java/testng/testng-6.11.ebuild | 101 | ||||
-rw-r--r-- | eclass/java-pkg-simple.eclass | 8 | ||||
-rw-r--r-- | eclass/java-utils-2.eclass | 15 |
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." |