commit:     f0a4d3abe43f48f804a7e49473c7fe7c23c56cda
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun Aug 18 09:33:58 2024 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Dec  8 11:41:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0a4d3ab

dev-java/byte-buddy: add 1.15.10

Bug: https://bugs.gentoo.org/916487
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/byte-buddy/Manifest                       |   1 +
 dev-java/byte-buddy/byte-buddy-1.15.10.ebuild      | 144 +++++++++++++++++++++
 ...uddy-1.15.10-Skip-testIgnoreExistingField.patch |  34 +++++
 3 files changed, 179 insertions(+)

diff --git a/dev-java/byte-buddy/Manifest b/dev-java/byte-buddy/Manifest
index f5587d193af3..2fee07df74f6 100644
--- a/dev-java/byte-buddy/Manifest
+++ b/dev-java/byte-buddy/Manifest
@@ -1 +1,2 @@
 DIST byte-buddy-1.14.0.tar.gz 1989303 BLAKE2B 
c284f54ebc6bf67e4706380f0876f403fcf5ae172a690888d13d6b3399cf41bf1fd8890bf15059f71a9457ec6343254ad1f421f8e4975aa70dd9a2103ab59610
 SHA512 
e6ccda287935b5ff7104d5c0e4904b0595918a21bcc90c6ac5b2358cc0371b22a4fcac2a95dde9e377c5d1e43077c8b57ea9520a9093b2380ab53c830f107ced
+DIST byte-buddy-1.15.10.tar.gz 2057524 BLAKE2B 
7f5e178b3ea31fb30379e49d69f34ba1b9953d705a54c3609bb771f66962af776dee95ea10ab7049e50351362ff87c164782bc4b1b782985ac8f122e5833cb4e
 SHA512 
3b7a02475433193efe8a8e20378369ec18f10c81dd90b428d5393c45fe261f678b1707c92923381b8a3030f8a2e8525fe95e3337ca7e5455cdc5fc2647416d2a

diff --git a/dev-java/byte-buddy/byte-buddy-1.15.10.ebuild 
b/dev-java/byte-buddy/byte-buddy-1.15.10.ebuild
new file mode 100644
index 000000000000..a1021afe6a00
--- /dev/null
+++ b/dev-java/byte-buddy/byte-buddy-1.15.10.ebuild
@@ -0,0 +1,144 @@
+# 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="net.bytebuddy:byte-buddy-agent:${PV} 
net.bytebuddy:byte-buddy:${PV}"
+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/byte-buddy/archive/${P}.tar.gz";
+S="${WORKDIR}/byte-buddy-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND="
+       >=dev-java/asm-9.7.1:9
+       dev-java/findbugs-annotations:0
+       dev-java/jna:4
+       dev-java/jsr305:0
+       >=virtual/jdk-11:*
+       test? (
+               >=dev-java/mockito-2.28.2-r1:2
+       )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=( "${FILESDIR}/byte-buddy-1.15.10-Skip-testIgnoreExistingField.patch" )
+
+JAVA_CLASSPATH_EXTRA="
+       asm-9
+       findbugs-annotations
+       jna-4
+       jsr305
+"
+JAVADOC_CLASSPATH="${JAVA_CLASSPATH_EXTRA}"
+JAVADOC_SRC_DIRS=(
+       "byte-buddy-agent/src/main/java"
+       "byte-buddy/src/main/java"
+)
+
+src_prepare() {
+       default #780585
+       java-pkg_clean ! -path "./byte-buddy-dep/src/test/*"    # Keep 
test-classes
+       java-pkg-2_src_prepare
+       # 
https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.20/byte-buddy-agent/pom.xml#L142-L176
+       cat > byte-buddy-agent/src/main/java/module-info.java <<-EOF || die
+               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
+
+       # instead of shading byte-buddy-dep we move it into byte-buddy.
+       mv byte-buddy{-dep,}/src/main/java || die "cannot move sources"
+
+       # 
https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.20/byte-buddy/pom.xml#L159-L195
+       local exports="$( \
+               sed -n 
'/<packages.list.external>/,/<\/packages.list.external/p' \
+               byte-buddy/pom.xml \
+               | sed -e 's:^:exports :' -e 's:,:;:' \
+               | grep -v 'packages.list.external\|shade' | tr -s '[:space:]' \
+               )" || die
+       cat > byte-buddy/src/main/java/module-info.java <<-EOF || die
+               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}
+               }
+       EOF
+}
+
+src_compile() {
+       einfo "Compiling byte-buddy-agent.jar"
+       JAVA_JAR_FILENAME="byte-buddy-agent.jar"
+       JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources"
+       JAVA_SRC_DIR="byte-buddy-agent/src/main/java"
+       java-pkg-simple_src_compile
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar"
+       rm -r target || die
+
+       einfo "Compiling byte-buddy.jar"
+       JAVA_JAR_FILENAME="byte-buddy.jar"
+       JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default"
+       JAVA_RESOURCE_DIRS=()
+       JAVA_SRC_DIR="byte-buddy/src/main/java"
+       java-pkg-simple_src_compile
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar"
+       rm -r target || die
+
+       einfo "Building javadocs"
+       rm byte-buddy{,-agent}/src/main/java/module-info.java || die
+       use doc && ejavadoc
+}
+
+src_test() {
+       # instead of shading byte-buddy-dep we move it into byte-buddy.
+       mv byte-buddy{-dep,}/src/test || die "cannot move tests"
+
+       JAVAC_ARGS="-g"
+       JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-2"
+
+       einfo "Testing byte-buddy-agent"
+       # 
https://github.com/raphw/byte-buddy/issues/1321#issuecomment-1252776459
+       JAVA_TEST_EXTRA_ARGS=( 
-Dnet.bytebuddy.test.jnapath="${EPREFIX}/usr/$(get_libdir)/jna-4/" )
+       JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java"
+       java-pkg-simple_src_test
+
+       einfo "Testing byte-buddy"
+       JAVA_TEST_RESOURCE_DIRS=( byte-buddy/src/test/{resources,precompiled*} )
+       JAVA_TEST_SRC_DIR="byte-buddy/src/test/java"
+
+       JAVA_TEST_EXCLUDES=(
+               # all tests in this class fail, https://bugs.gentoo.org/863386
+               net.bytebuddy.build.CachedReturnPluginTest
+       )
+       java-pkg-simple_src_test
+}
+
+src_install() {
+       java-pkg_dojar "byte-buddy-agent.jar"
+       java-pkg-simple_src_install
+
+       if use source; then
+               java-pkg_dosrc "byte-buddy-agent/src/main/java/*"
+               java-pkg_dosrc "byte-buddy/src/main/java/*"
+       fi
+}

diff --git 
a/dev-java/byte-buddy/files/byte-buddy-1.15.10-Skip-testIgnoreExistingField.patch
 
b/dev-java/byte-buddy/files/byte-buddy-1.15.10-Skip-testIgnoreExistingField.patch
new file mode 100644
index 000000000000..c90c3c9a66c9
--- /dev/null
+++ 
b/dev-java/byte-buddy/files/byte-buddy-1.15.10-Skip-testIgnoreExistingField.patch
@@ -0,0 +1,34 @@
+There was 1 failure:
+1) testIgnoreExistingField(net.bytebuddy.build.CachedReturnPluginOtherTest)
+net.bytebuddy.pool.TypePool$Resolution$NoSuchTypeException: Cannot resolve 
type description for net.bytebuddy.build.CachedReturnPlugin$Advice$boolean
+       at 
net.bytebuddy.pool.TypePool$Resolution$Illegal.resolve(TypePool.java:190)
+       at 
net.bytebuddy.build.CachedReturnPlugin.<init>(CachedReturnPlugin.java:125)
+       at 
net.bytebuddy.build.CachedReturnPluginOtherTest.testIgnoreExistingField(CachedReturnPluginOtherTest.java:19)
+
+FAILURES!!!
+
+--- 
a/byte-buddy-dep/src/test/java/net/bytebuddy/build/CachedReturnPluginOtherTest.java
++++ 
b/byte-buddy-dep/src/test/java/net/bytebuddy/build/CachedReturnPluginOtherTest.java
+@@ -6,13 +6,14 @@ import net.bytebuddy.dynamic.ClassFileLocator;
+ import net.bytebuddy.dynamic.DynamicType;
+ import org.hamcrest.CoreMatchers;
+ import org.junit.Test;
++import org.junit.Ignore;
+ 
+ import static org.hamcrest.CoreMatchers.sameInstance;
+ import static org.hamcrest.MatcherAssert.assertThat;
+ 
+ public class CachedReturnPluginOtherTest {
+ 
+-    @Test
++    @Test @Ignore
+     @SuppressWarnings("rawtypes")
+     public void testIgnoreExistingField() {
+         DynamicType.Builder<ExistingField> builder = new 
ByteBuddy().redefine(ExistingField.class);
+@@ -73,4 +74,4 @@ public class CachedReturnPluginOtherTest {
+             return null;
+         }
+     }
+-}
+\ No newline at end of file
++}

Reply via email to