public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Florian Schmaus" <flow@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/byte-buddy/
Date: Wed, 14 Sep 2022 09:35:42 +0000 (UTC)	[thread overview]
Message-ID: <1663148125.fe7800d79e56bc1515472b39841885d8f948ed24.flow@gentoo> (raw)

commit:     fe7800d79e56bc1515472b39841885d8f948ed24
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Aug 22 14:22:21 2022 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Sep 14 09:35:25 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe7800d7

dev-java/byte-buddy: add 1.12.14

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/26965
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 dev-java/byte-buddy/Manifest                  |   1 +
 dev-java/byte-buddy/byte-buddy-1.12.14.ebuild | 202 ++++++++++++++++++++++++++
 2 files changed, 203 insertions(+)

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
+}


             reply	other threads:[~2022-09-14  9:35 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-14  9:35 Florian Schmaus [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-15  6:13 [gentoo-commits] repo/gentoo:master commit in: dev-java/byte-buddy/ Miroslav Šulc
2025-01-14 12:24 Sam James
2025-01-14 12:07 Sam James
2025-01-14 12:07 Sam James
2025-01-10  8:51 Miroslav Šulc
2025-01-10  7:43 Arthur Zamarin
2024-12-20 15:43 Sam James
2024-12-16 14:30 Miroslav Šulc
2023-04-05 10:56 Miroslav Šulc
2023-04-04  5:10 Sam James
2023-04-03 21:40 Sam James
2023-04-03 21:40 Sam James
2023-04-03  8:11 Jakov Smolić
2023-03-04 13:03 Miroslav Šulc
2023-02-09 18:09 Arthur Zamarin
2023-02-09 18:09 Arthur Zamarin
2023-02-09 18:07 Sam James
2023-02-09 18:07 Sam James
2023-01-10 12:35 Florian Schmaus
2023-01-10 12:35 Florian Schmaus
2022-12-10 17:12 Arthur Zamarin
2022-12-10 14:56 Arthur Zamarin
2022-12-10 14:54 Arthur Zamarin
2022-12-10 14:33 Arthur Zamarin
2022-12-10 14:33 Arthur Zamarin
2022-10-17  4:49 Miroslav Šulc
2022-10-16 16:49 Sam James
2022-10-14 19:04 Sam James
2022-10-14 19:04 Sam James
2022-10-14  8:15 Arthur Zamarin
2022-09-16 18:58 Arthur Zamarin
2022-09-14 21:04 Sam James
2022-09-14 19:31 Arthur Zamarin
2022-09-09  8:08 Jakov Smolić
2022-09-09  8:08 Jakov Smolić
2022-08-23  4:41 Miroslav Šulc
2022-08-22  0:01 Sam James
2022-08-22  0:00 Sam James
2022-08-22  0:00 Sam James
2022-08-21 15:46 Arthur Zamarin
2022-08-21 15:46 Arthur Zamarin
2022-08-10  8:27 Florian Schmaus
2022-07-22 17:36 Florian Schmaus
2022-07-07 16:20 Arthur Zamarin
2022-07-07 14:29 Arthur Zamarin
2022-07-05 17:54 Sam James
2022-07-03 12:22 Jakov Smolić
2022-07-03 12:11 Jakov Smolić
2022-06-17 12:45 Arthur Zamarin
2022-06-16 15:15 Sam James
2022-06-16 15:15 Sam James
2022-06-03  8:54 Florian Schmaus
2022-04-15  9:36 Florian Schmaus
2022-04-10 15:16 Florian Schmaus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1663148125.fe7800d79e56bc1515472b39841885d8f948ed24.flow@gentoo \
    --to=flow@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox