diff options
author | Volkmar W. Pogatzki <gentoo@pogatzki.net> | 2022-08-22 16:22:21 +0200 |
---|---|---|
committer | Florian Schmaus <flow@gentoo.org> | 2022-09-14 11:35:25 +0200 |
commit | fe7800d79e56bc1515472b39841885d8f948ed24 (patch) | |
tree | e1cf4c1ca948ce20fdcfb54c823e89be16a83b27 /dev-java | |
parent | dev-libs/grantlee: Fix grantlee-5.3.0-slot.patch (diff) | |
download | gentoo-fe7800d79e56bc1515472b39841885d8f948ed24.tar.gz gentoo-fe7800d79e56bc1515472b39841885d8f948ed24.tar.bz2 gentoo-fe7800d79e56bc1515472b39841885d8f948ed24.zip |
dev-java/byte-buddy: add 1.12.14
Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/26965
Signed-off-by: Florian Schmaus <flow@gentoo.org>
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/byte-buddy/Manifest | 1 | ||||
-rw-r--r-- | dev-java/byte-buddy/byte-buddy-1.12.14.ebuild | 202 |
2 files changed, 203 insertions, 0 deletions
diff --git a/dev-java/byte-buddy/Manifest b/dev-java/byte-buddy/Manifest index 45f80b5633fa..59590e26fdd0 100644 --- a/dev-java/byte-buddy/Manifest +++ b/dev-java/byte-buddy/Manifest @@ -1,2 +1,3 @@ DIST byte-buddy-1.12.12.tar.gz 149937318 BLAKE2B 1a1bd0de97b47ace4c64649da3ae80dcb421a4d46e9b4f66e121accad94a99a2b81fa9aeaca99ae14cf1ef56feff5248d5700d6b056d490563bbc7ae9f07ace9 SHA512 bd8dc5b86ce456d5a907dd23643233bb001c15df5419aeed177d3b4f8054ab172d13244d0b3fef734e8232dfdd9339745d8112fa69e0be566b62459c198bf67a DIST byte-buddy-1.12.13.tar.gz 1721038 BLAKE2B 60aadbbb3b56e5ac2ecc2bb162653b769f4d4b913bd675457ce2fbf12a5777addc4beb2bb2e347d5956dbf1fbe6a6dfce078a29c53b1f1e2a60585670897d4ee SHA512 88c221d0dccb248683069070e498c5d4320f4fce059c45f460e04fbd86c2c596c18a4c7f4e9b3a0480eaf96d93593d1f1af87d894a7c4b3d73511e88a95f4e92 +DIST byte-buddy-1.12.14.tar.gz 1857258 BLAKE2B 6957246f6689d1bdfdc6277ad752e03df0ae47c62b0afded77c94cdd41e00cc736517d0e4e5d5f8c59be519262a03864cde9bffa4ae53e5a7daeed84a519967f SHA512 5035be16fbdf2f7e8e2c93b87ee5f9adc927a19fd3b7d9fcd262906d8d21532cef8111084c3d6d0b75e101df0bfee19bf9177bc6a7d4b18cf0f26146fba4f147 diff --git a/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild b/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild new file mode 100644 index 000000000000..a2dee2c98e3d --- /dev/null +++ b/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild @@ -0,0 +1,202 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Skeleton command: +# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/raphw/byte-buddy/archive/byte-buddy-1.12.14.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild byte-buddy-1.12.14.ebuild + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="net.bytebuddy:byte-buddy-agent:1.12.14" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM" +HOMEPAGE="https://bytebuddy.net" +SRC_URI="https://github.com/raphw/${PN}/archive/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +DEPEND=" + >=virtual/jdk-11:* + dev-java/asm:9 + dev-java/findbugs-annotations:0 + dev-java/jna:4 + dev-java/jsr305:0 + test? ( + dev-java/mockito:4 + ) +" + +RDEPEND=">=virtual/jre-1.8:*" + +S="${WORKDIR}/${PN}-${P}" + +JAVA_CLASSPATH_EXTRA=" + asm-9 + findbugs-annotations + jsr305 + jna-4 +" + +src_prepare() { + default + # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.14/byte-buddy-agent/pom.xml#L132-L166 + cat > byte-buddy-agent/src/main/java/module-info.java <<-EOF + module net.bytebuddy.agent { + requires java.instrument; + requires static jdk.attach; + requires static com.sun.jna; + requires static com.sun.jna.platform; + requires java.base; + exports net.bytebuddy.agent; + exports net.bytebuddy.agent.utility.nullability; + } + EOF + + # adjustment for recent mockito versions + sed \ + -e 's:verifyZeroInteractions:verifyNoInteractions:g' \ + -i byte-buddy-dep/src/test/java/net/bytebuddy/*.java \ + -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*Test.java \ + -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*Test.java \ + -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*/*Test.java \ + -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*/*/*Test.java \ + || die + + # instead of shading byte-buddy-dep we move it into byte-buddy. + mv byte-buddy{-dep,}/src/main/java || die "cannot move sources" + mv byte-buddy{-dep,}/src/test || die "cannot move tests" + + # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.14/byte-buddy/pom.xml#L159-L195 + cat > byte-buddy/src/main/java/module-info.java <<-EOF + module net.bytebuddy { + requires static java.instrument; + requires static java.management; + requires static jdk.unsupported; + requires static net.bytebuddy.agent; + requires static com.sun.jna; + requires static com.sun.jna.platform; + requires java.base; + exports net.bytebuddy; + exports net.bytebuddy.agent.builder; + exports net.bytebuddy.asm; + exports net.bytebuddy.build; + exports net.bytebuddy.description; + exports net.bytebuddy.description.annotation; + exports net.bytebuddy.description.enumeration; + exports net.bytebuddy.description.field; + exports net.bytebuddy.description.method; + exports net.bytebuddy.description.modifier; + exports net.bytebuddy.description.type; + exports net.bytebuddy.dynamic; + exports net.bytebuddy.dynamic.loading; + exports net.bytebuddy.dynamic.scaffold; + exports net.bytebuddy.dynamic.scaffold.inline; + exports net.bytebuddy.dynamic.scaffold.subclass; + exports net.bytebuddy.implementation; + exports net.bytebuddy.implementation.attribute; + exports net.bytebuddy.implementation.auxiliary; + exports net.bytebuddy.implementation.bind; + exports net.bytebuddy.implementation.bind.annotation; + exports net.bytebuddy.implementation.bytecode; + exports net.bytebuddy.implementation.bytecode.assign; + exports net.bytebuddy.implementation.bytecode.assign.primitive; + exports net.bytebuddy.implementation.bytecode.assign.reference; + exports net.bytebuddy.implementation.bytecode.collection; + exports net.bytebuddy.implementation.bytecode.constant; + exports net.bytebuddy.implementation.bytecode.member; + exports net.bytebuddy.matcher; + exports net.bytebuddy.pool; + exports net.bytebuddy.utility; + exports net.bytebuddy.utility.nullability; + exports net.bytebuddy.utility.privilege; + exports net.bytebuddy.utility.visitor; + } + EOF + # We don't bundle, hence cannot export them + # exports net.bytebuddy.jar.asm; + # exports net.bytebuddy.jar.asm.signature; + # exports net.bytebuddy.jar.asm.commons; +} + +src_compile() { + einfo "Compiling byte-buddy-agent.jar" + JAVA_SRC_DIR="byte-buddy-agent/src/main/java" + JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources" + JAVA_JAR_FILENAME="byte-buddy-agent.jar" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar" + rm -r target || die + + einfo "Compiling byte-buddy.jar" + JAVA_SRC_DIR="byte-buddy/src/main/java" + JAVA_RESOURCE_DIRS=() + JAVA_JAR_FILENAME="byte-buddy.jar" + JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default" + java-pkg-simple_src_compile + JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar" + rm -r target || die + + if use doc; then + einfo "Compiling javadocs" + JAVA_SRC_DIR=( + "byte-buddy-agent/src/main/java" + "byte-buddy-dep/src/main/java" + ) + JAVA_JAR_FILENAME="ignoreme.jar" + java-pkg-simple_src_compile + fi +} + +src_test() { + JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4" + + # einfo "Setting -Djava.library.path" + # This would work only after manually adding libjnidispatch.so to /usr/share/jna-4/lib/jna.jar, + # done with ( jar -uf /usr/share/jna-4/lib/jna.jar -C . com/sun/jna/linux-x86-64/libjnidispatch ) +# JAVA_TEST_EXTRA_ARGS=( -Djava.library.path+="$(java-config -i jna-4)" com.sun.jna.Native ) + # Otherwise fails with: + # Exception in thread "main" java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path + + einfo "Testing byte-buddy-agent" + JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java" + # Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path + JAVA_TEST_EXCLUDES=( + net.bytebuddy.agent.VirtualMachineAttachmentTest + ) + java-pkg-simple_src_test + + einfo "Testing byte-buddy" + JAVA_TEST_SRC_DIR="byte-buddy/src/test/java" + JAVA_TEST_RESOURCE_DIRS=( + byte-buddy/src/test/resources + byte-buddy/src/test/precompiled* + ) + + # what "mvn test" does with java 17 is: + # Tests run: 10022, Failures: 0, Errors: 0, Skipped: 0 + JAVA_TEST_EXCLUDES+=( + net.bytebuddy.pool.TypePoolDefaultMethodDescriptionTest # 39 tests + net.bytebuddy.build.CachedReturnPluginTest # 44 tests + net.bytebuddy.build.CachedReturnPluginOtherTest # 4 tests + ) + java-pkg-simple_src_test +} + +src_install() { + java-pkg_dojar "byte-buddy-agent.jar" + java-pkg_dojar "byte-buddy.jar" + + if use doc; then + java-pkg_dojavadoc target/api + fi + + if use source; then + java-pkg_dosrc "byte-buddy-agent/src/main/java/*" + java-pkg_dosrc "byte-buddy/src/main/java/*" + fi +} |