1 |
commit: fe7800d79e56bc1515472b39841885d8f948ed24 |
2 |
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net> |
3 |
AuthorDate: Mon Aug 22 14:22:21 2022 +0000 |
4 |
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Sep 14 09:35:25 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe7800d7 |
7 |
|
8 |
dev-java/byte-buddy: add 1.12.14 |
9 |
|
10 |
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net> |
11 |
Closes: https://github.com/gentoo/gentoo/pull/26965 |
12 |
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org> |
13 |
|
14 |
dev-java/byte-buddy/Manifest | 1 + |
15 |
dev-java/byte-buddy/byte-buddy-1.12.14.ebuild | 202 ++++++++++++++++++++++++++ |
16 |
2 files changed, 203 insertions(+) |
17 |
|
18 |
diff --git a/dev-java/byte-buddy/Manifest b/dev-java/byte-buddy/Manifest |
19 |
index 45f80b5633fa..59590e26fdd0 100644 |
20 |
--- a/dev-java/byte-buddy/Manifest |
21 |
+++ b/dev-java/byte-buddy/Manifest |
22 |
@@ -1,2 +1,3 @@ |
23 |
DIST byte-buddy-1.12.12.tar.gz 149937318 BLAKE2B 1a1bd0de97b47ace4c64649da3ae80dcb421a4d46e9b4f66e121accad94a99a2b81fa9aeaca99ae14cf1ef56feff5248d5700d6b056d490563bbc7ae9f07ace9 SHA512 bd8dc5b86ce456d5a907dd23643233bb001c15df5419aeed177d3b4f8054ab172d13244d0b3fef734e8232dfdd9339745d8112fa69e0be566b62459c198bf67a |
24 |
DIST byte-buddy-1.12.13.tar.gz 1721038 BLAKE2B 60aadbbb3b56e5ac2ecc2bb162653b769f4d4b913bd675457ce2fbf12a5777addc4beb2bb2e347d5956dbf1fbe6a6dfce078a29c53b1f1e2a60585670897d4ee SHA512 88c221d0dccb248683069070e498c5d4320f4fce059c45f460e04fbd86c2c596c18a4c7f4e9b3a0480eaf96d93593d1f1af87d894a7c4b3d73511e88a95f4e92 |
25 |
+DIST byte-buddy-1.12.14.tar.gz 1857258 BLAKE2B 6957246f6689d1bdfdc6277ad752e03df0ae47c62b0afded77c94cdd41e00cc736517d0e4e5d5f8c59be519262a03864cde9bffa4ae53e5a7daeed84a519967f SHA512 5035be16fbdf2f7e8e2c93b87ee5f9adc927a19fd3b7d9fcd262906d8d21532cef8111084c3d6d0b75e101df0bfee19bf9177bc6a7d4b18cf0f26146fba4f147 |
26 |
|
27 |
diff --git a/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild b/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild |
28 |
new file mode 100644 |
29 |
index 000000000000..a2dee2c98e3d |
30 |
--- /dev/null |
31 |
+++ b/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild |
32 |
@@ -0,0 +1,202 @@ |
33 |
+# Copyright 1999-2022 Gentoo Authors |
34 |
+# Distributed under the terms of the GNU General Public License v2 |
35 |
+ |
36 |
+# Skeleton command: |
37 |
+# 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 |
38 |
+ |
39 |
+EAPI=8 |
40 |
+ |
41 |
+JAVA_PKG_IUSE="doc source test" |
42 |
+MAVEN_ID="net.bytebuddy:byte-buddy-agent:1.12.14" |
43 |
+JAVA_TESTING_FRAMEWORKS="junit-4" |
44 |
+ |
45 |
+inherit java-pkg-2 java-pkg-simple |
46 |
+ |
47 |
+DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM" |
48 |
+HOMEPAGE="https://bytebuddy.net" |
49 |
+SRC_URI="https://github.com/raphw/${PN}/archive/${P}.tar.gz" |
50 |
+ |
51 |
+LICENSE="Apache-2.0" |
52 |
+SLOT="0" |
53 |
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" |
54 |
+ |
55 |
+DEPEND=" |
56 |
+ >=virtual/jdk-11:* |
57 |
+ dev-java/asm:9 |
58 |
+ dev-java/findbugs-annotations:0 |
59 |
+ dev-java/jna:4 |
60 |
+ dev-java/jsr305:0 |
61 |
+ test? ( |
62 |
+ dev-java/mockito:4 |
63 |
+ ) |
64 |
+" |
65 |
+ |
66 |
+RDEPEND=">=virtual/jre-1.8:*" |
67 |
+ |
68 |
+S="${WORKDIR}/${PN}-${P}" |
69 |
+ |
70 |
+JAVA_CLASSPATH_EXTRA=" |
71 |
+ asm-9 |
72 |
+ findbugs-annotations |
73 |
+ jsr305 |
74 |
+ jna-4 |
75 |
+" |
76 |
+ |
77 |
+src_prepare() { |
78 |
+ default |
79 |
+ # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.14/byte-buddy-agent/pom.xml#L132-L166 |
80 |
+ cat > byte-buddy-agent/src/main/java/module-info.java <<-EOF |
81 |
+ module net.bytebuddy.agent { |
82 |
+ requires java.instrument; |
83 |
+ requires static jdk.attach; |
84 |
+ requires static com.sun.jna; |
85 |
+ requires static com.sun.jna.platform; |
86 |
+ requires java.base; |
87 |
+ exports net.bytebuddy.agent; |
88 |
+ exports net.bytebuddy.agent.utility.nullability; |
89 |
+ } |
90 |
+ EOF |
91 |
+ |
92 |
+ # adjustment for recent mockito versions |
93 |
+ sed \ |
94 |
+ -e 's:verifyZeroInteractions:verifyNoInteractions:g' \ |
95 |
+ -i byte-buddy-dep/src/test/java/net/bytebuddy/*.java \ |
96 |
+ -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*Test.java \ |
97 |
+ -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*Test.java \ |
98 |
+ -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*/*Test.java \ |
99 |
+ -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*/*/*Test.java \ |
100 |
+ || die |
101 |
+ |
102 |
+ # instead of shading byte-buddy-dep we move it into byte-buddy. |
103 |
+ mv byte-buddy{-dep,}/src/main/java || die "cannot move sources" |
104 |
+ mv byte-buddy{-dep,}/src/test || die "cannot move tests" |
105 |
+ |
106 |
+ # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.14/byte-buddy/pom.xml#L159-L195 |
107 |
+ cat > byte-buddy/src/main/java/module-info.java <<-EOF |
108 |
+ module net.bytebuddy { |
109 |
+ requires static java.instrument; |
110 |
+ requires static java.management; |
111 |
+ requires static jdk.unsupported; |
112 |
+ requires static net.bytebuddy.agent; |
113 |
+ requires static com.sun.jna; |
114 |
+ requires static com.sun.jna.platform; |
115 |
+ requires java.base; |
116 |
+ exports net.bytebuddy; |
117 |
+ exports net.bytebuddy.agent.builder; |
118 |
+ exports net.bytebuddy.asm; |
119 |
+ exports net.bytebuddy.build; |
120 |
+ exports net.bytebuddy.description; |
121 |
+ exports net.bytebuddy.description.annotation; |
122 |
+ exports net.bytebuddy.description.enumeration; |
123 |
+ exports net.bytebuddy.description.field; |
124 |
+ exports net.bytebuddy.description.method; |
125 |
+ exports net.bytebuddy.description.modifier; |
126 |
+ exports net.bytebuddy.description.type; |
127 |
+ exports net.bytebuddy.dynamic; |
128 |
+ exports net.bytebuddy.dynamic.loading; |
129 |
+ exports net.bytebuddy.dynamic.scaffold; |
130 |
+ exports net.bytebuddy.dynamic.scaffold.inline; |
131 |
+ exports net.bytebuddy.dynamic.scaffold.subclass; |
132 |
+ exports net.bytebuddy.implementation; |
133 |
+ exports net.bytebuddy.implementation.attribute; |
134 |
+ exports net.bytebuddy.implementation.auxiliary; |
135 |
+ exports net.bytebuddy.implementation.bind; |
136 |
+ exports net.bytebuddy.implementation.bind.annotation; |
137 |
+ exports net.bytebuddy.implementation.bytecode; |
138 |
+ exports net.bytebuddy.implementation.bytecode.assign; |
139 |
+ exports net.bytebuddy.implementation.bytecode.assign.primitive; |
140 |
+ exports net.bytebuddy.implementation.bytecode.assign.reference; |
141 |
+ exports net.bytebuddy.implementation.bytecode.collection; |
142 |
+ exports net.bytebuddy.implementation.bytecode.constant; |
143 |
+ exports net.bytebuddy.implementation.bytecode.member; |
144 |
+ exports net.bytebuddy.matcher; |
145 |
+ exports net.bytebuddy.pool; |
146 |
+ exports net.bytebuddy.utility; |
147 |
+ exports net.bytebuddy.utility.nullability; |
148 |
+ exports net.bytebuddy.utility.privilege; |
149 |
+ exports net.bytebuddy.utility.visitor; |
150 |
+ } |
151 |
+ EOF |
152 |
+ # We don't bundle, hence cannot export them |
153 |
+ # exports net.bytebuddy.jar.asm; |
154 |
+ # exports net.bytebuddy.jar.asm.signature; |
155 |
+ # exports net.bytebuddy.jar.asm.commons; |
156 |
+} |
157 |
+ |
158 |
+src_compile() { |
159 |
+ einfo "Compiling byte-buddy-agent.jar" |
160 |
+ JAVA_SRC_DIR="byte-buddy-agent/src/main/java" |
161 |
+ JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources" |
162 |
+ JAVA_JAR_FILENAME="byte-buddy-agent.jar" |
163 |
+ java-pkg-simple_src_compile |
164 |
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar" |
165 |
+ rm -r target || die |
166 |
+ |
167 |
+ einfo "Compiling byte-buddy.jar" |
168 |
+ JAVA_SRC_DIR="byte-buddy/src/main/java" |
169 |
+ JAVA_RESOURCE_DIRS=() |
170 |
+ JAVA_JAR_FILENAME="byte-buddy.jar" |
171 |
+ JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default" |
172 |
+ java-pkg-simple_src_compile |
173 |
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar" |
174 |
+ rm -r target || die |
175 |
+ |
176 |
+ if use doc; then |
177 |
+ einfo "Compiling javadocs" |
178 |
+ JAVA_SRC_DIR=( |
179 |
+ "byte-buddy-agent/src/main/java" |
180 |
+ "byte-buddy-dep/src/main/java" |
181 |
+ ) |
182 |
+ JAVA_JAR_FILENAME="ignoreme.jar" |
183 |
+ java-pkg-simple_src_compile |
184 |
+ fi |
185 |
+} |
186 |
+ |
187 |
+src_test() { |
188 |
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4" |
189 |
+ |
190 |
+ # einfo "Setting -Djava.library.path" |
191 |
+ # This would work only after manually adding libjnidispatch.so to /usr/share/jna-4/lib/jna.jar, |
192 |
+ # done with ( jar -uf /usr/share/jna-4/lib/jna.jar -C . com/sun/jna/linux-x86-64/libjnidispatch ) |
193 |
+# JAVA_TEST_EXTRA_ARGS=( -Djava.library.path+="$(java-config -i jna-4)" com.sun.jna.Native ) |
194 |
+ # Otherwise fails with: |
195 |
+ # Exception in thread "main" java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path |
196 |
+ |
197 |
+ einfo "Testing byte-buddy-agent" |
198 |
+ JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java" |
199 |
+ # Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path |
200 |
+ JAVA_TEST_EXCLUDES=( |
201 |
+ net.bytebuddy.agent.VirtualMachineAttachmentTest |
202 |
+ ) |
203 |
+ java-pkg-simple_src_test |
204 |
+ |
205 |
+ einfo "Testing byte-buddy" |
206 |
+ JAVA_TEST_SRC_DIR="byte-buddy/src/test/java" |
207 |
+ JAVA_TEST_RESOURCE_DIRS=( |
208 |
+ byte-buddy/src/test/resources |
209 |
+ byte-buddy/src/test/precompiled* |
210 |
+ ) |
211 |
+ |
212 |
+ # what "mvn test" does with java 17 is: |
213 |
+ # Tests run: 10022, Failures: 0, Errors: 0, Skipped: 0 |
214 |
+ JAVA_TEST_EXCLUDES+=( |
215 |
+ net.bytebuddy.pool.TypePoolDefaultMethodDescriptionTest # 39 tests |
216 |
+ net.bytebuddy.build.CachedReturnPluginTest # 44 tests |
217 |
+ net.bytebuddy.build.CachedReturnPluginOtherTest # 4 tests |
218 |
+ ) |
219 |
+ java-pkg-simple_src_test |
220 |
+} |
221 |
+ |
222 |
+src_install() { |
223 |
+ java-pkg_dojar "byte-buddy-agent.jar" |
224 |
+ java-pkg_dojar "byte-buddy.jar" |
225 |
+ |
226 |
+ if use doc; then |
227 |
+ java-pkg_dojavadoc target/api |
228 |
+ fi |
229 |
+ |
230 |
+ if use source; then |
231 |
+ java-pkg_dosrc "byte-buddy-agent/src/main/java/*" |
232 |
+ java-pkg_dosrc "byte-buddy/src/main/java/*" |
233 |
+ fi |
234 |
+} |