diff options
Diffstat (limited to 'dev-java')
24 files changed, 1302 insertions, 4 deletions
diff --git a/dev-java/animal-sniffer-annotations/animal-sniffer-annotations-1.15-r1.ebuild b/dev-java/animal-sniffer-annotations/animal-sniffer-annotations-1.15-r1.ebuild index 12973df6f557..265decdfdc6f 100644 --- a/dev-java/animal-sniffer-annotations/animal-sniffer-annotations-1.15-r1.ebuild +++ b/dev-java/animal-sniffer-annotations/animal-sniffer-annotations-1.15-r1.ebuild @@ -5,6 +5,7 @@ EAPI=8 MY_PN="${PN%-annotations}" JAVA_PKG_IUSE="doc source" +MAVEN_ID="org.codehaus.mojo:animal-sniffer-annotations:1.15" inherit java-pkg-2 java-pkg-simple diff --git a/dev-java/commons-compress/Manifest b/dev-java/commons-compress/Manifest index 1c4ed59777d0..b829aa5af451 100644 --- a/dev-java/commons-compress/Manifest +++ b/dev-java/commons-compress/Manifest @@ -1 +1,2 @@ DIST commons-compress-1.21-sources.tar.gz 15165800 BLAKE2B 3fed32af039860c6b434c485f0c78939ed810a224a12680ddf1d9d6ed540f4e74530edd0e0077fd41af31404c296a607db912465cfd725c31446bc6fa7b8df8a SHA512 8041371b491057435ca62390e70b30031e4d21e80c37d9cb922fdffa794b56aee3b5d60d8241e4db0cecc28c82dfdaafbe52b2175e26062da169fec8efbb17e1 +DIST commons-compress-1.21-src.tar.gz 15165800 BLAKE2B 3fed32af039860c6b434c485f0c78939ed810a224a12680ddf1d9d6ed540f4e74530edd0e0077fd41af31404c296a607db912465cfd725c31446bc6fa7b8df8a SHA512 8041371b491057435ca62390e70b30031e4d21e80c37d9cb922fdffa794b56aee3b5d60d8241e4db0cecc28c82dfdaafbe52b2175e26062da169fec8efbb17e1 diff --git a/dev-java/commons-compress/commons-compress-1.21-r1.ebuild b/dev-java/commons-compress/commons-compress-1.21-r1.ebuild new file mode 100644 index 000000000000..a5870641d1c2 --- /dev/null +++ b/dev-java/commons-compress/commons-compress-1.21-r1.ebuild @@ -0,0 +1,121 @@ +# 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://apache.miloslavbrada.cz//commons/compress/source/commons-compress-1.21-src.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~x86" --ebuild commons-compress-1.21.ebuild + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.apache.commons:commons-compress:1.21" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Java API for working with archive files" +HOMEPAGE="https://commons.apache.org/proper/commons-compress/" +SRC_URI="mirror://apache/commons/compress/source/${P}-src.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# Common dependencies +# POM: pom.xml +# asm:asm:3.2 -> !!!groupId-not-found!!! +# com.github.luben:zstd-jni:1.5.0-2 -> >=dev-java/zstd-jni-1.5.0.5:0 +# org.brotli:dec:0.1.2 -> >=dev-java/brotli-dec-0.1.2:0 +# org.tukaani:xz:1.9 -> >=dev-java/xz-java-1.9:0 + +CP_DEPEND=" + dev-java/asm:9 + dev-java/brotli-dec:0 + dev-java/xz-java:0 + dev-java/zstd-jni:0 +" + +# Compile dependencies +# POM: pom.xml +# org.osgi:osgi.core:6.0.0 -> >=dev-java/osgi-core-8.0.0:0 +# POM: pom.xml +# test? com.github.marschall:memoryfilesystem:2.1.0 -> >=dev-java/memoryfilesystem-2.3.0:0 +# test? javax.inject:javax.inject:1 -> >=dev-java/javax-inject-1:0 +# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4 +# test? org.apache.felix:org.apache.felix.framework:7.0.0 -> >=dev-java/felix-framework-7.0.5:0 +# test? org.hamcrest:hamcrest:2.2 -> >=dev-java/hamcrest-2.2:0 +# test? org.mockito:mockito-core:3.11.1 -> >=dev-java/mockito-4.6.1:4 +# test? org.ops4j.pax.exam:pax-exam-cm:4.13.1 -> !!!groupId-not-found!!! +# test? org.ops4j.pax.exam:pax-exam-container-native:4.13.1 -> !!!groupId-not-found!!! +# test? org.ops4j.pax.exam:pax-exam-junit4:4.13.1 -> !!!groupId-not-found!!! +# test? org.ops4j.pax.exam:pax-exam-link-mvn:4.13.1 -> !!!groupId-not-found!!! +# test? org.slf4j:slf4j-api:1.7.30 -> >=dev-java/slf4j-api-1.7.36:0 + +DEPEND=" + >=virtual/jdk-11:* + ${CP_DEPEND} + dev-java/osgi-core:0 + test? ( + dev-java/felix-framework:0 + dev-java/hamcrest:0 + dev-java/javax-inject:0 + dev-java/memoryfilesystem:0 + dev-java/mockito:4 + dev-java/slf4j-api:0 + ) +" + +RDEPEND=" + >=virtual/jre-1.8:* + ${CP_DEPEND}" + +S="${WORKDIR}/${P}-src" + +PATCHES=( + "${FILESDIR}/${P}-asm7+.patch" +) + +JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.compress" +JAVA_CLASSPATH_EXTRA="osgi-core" +JAVA_ENCODING="iso-8859-1" +JAVA_MAIN_CLASS="org.apache.commons.compress.archivers.Lister" +JAVA_SRC_DIR="src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH="memoryfilesystem,javax-inject,junit-4,felix-framework,hamcrest,mockito-4,slf4j-api" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" + +src_prepare() { + default + # error: package org.ops4j.pax.exam does not exist + # removing it costs 2 tests + rm src/test/java/org/apache/commons/compress/OsgiITest.java || die + + # java.io.FileNotFoundException: couldn't find zstandard.testdata.zst + # pom.xml lines 420-422 + tar xf src/test/resources/zstd-tests.tar \ + -C src/test/resources || die "cannot unpack zstd-tests.tar" + + # pom.xml lines 518-520 + tar xjf src/test/resources/zip64support.tar.bz2 \ + -C src/test/resources || die "cannot unpack zip64support.tar.bz2" + + JAVA_TEST_EXTRA_ARGS=( -Djava.library.path="${EPREFIX}/usr/$(get_libdir)/zstd-jni/" ) +} + +JAVA_TEST_EXCLUDES=( + # No runnable methods + org.apache.commons.compress.archivers.TestArchiveStreamProvider + org.apache.commons.compress.compressors.TestCompressorStreamProvider + + # fails without useful message + org.apache.commons.compress.compressors.DetectCompressorTestCase # has 8 tests + + # These tests pass but they prevent printing test messages:: +# org.apache.commons.compress.compressors.pack200.Pack200UtilsTest # has 2 tests +# org.apache.commons.compress.compressors.FramedSnappyTestCase # has 5 tests +# org.apache.commons.compress.compressors.XZTestCase # has 4 tests +# org.apache.commons.compress.compressors.Pack200TestCase # has 15 tests +# org.apache.commons.compress.harmony.pack200.tests.PackingOptionsTest # has 12 tests +# org.apache.commons.compress.harmony.pack200.tests.ArchiveTest # has 9 tests +# org.apache.commons.compress.harmony.unpack200.tests.ArchiveTest # has 13 tests +) diff --git a/dev-java/easymock/Manifest b/dev-java/easymock/Manifest index d534942235a7..36d55f52bdad 100644 --- a/dev-java/easymock/Manifest +++ b/dev-java/easymock/Manifest @@ -1 +1,2 @@ +DIST easymock-2.5.2.tar.gz 100112 BLAKE2B 2952aad1a88b169413152e8fa63eaba85767d93ccd8535e309cb647b90ad86695da59c394d1199abfb6f1c624913b2546f326ae5a68092261968d734d2018c5c SHA512 0343815f74258739ac60e1ef2fe72a0e9ce0e1b6ecd4f14d657d7da2a10523e24df5160533b0d75e87ffa0322a3477ec6823b257fe5968929d55dee9dfa68267 DIST easymock-3.3.1.tar.gz 624460 BLAKE2B bb5a472aef6c162d3afe5b66edef4891cc48fe6698c1f1eccc7f45f1883ff7f940b0479af5c0dd61b3354b41225ca50f191ba54b92479362a0074ddf3dbb5b43 SHA512 93fefd458a42b6c13d85ab1df768bf906620f052eea88116e93578374a5086eb8b27d8731e82b689dc3d73699e45d03b718c7d8bf2a430ac4a6a717365e52a9a diff --git a/dev-java/easymock/easymock-2.5.2.ebuild b/dev-java/easymock/easymock-2.5.2.ebuild new file mode 100644 index 000000000000..44d36338c51a --- /dev/null +++ b/dev-java/easymock/easymock-2.5.2.ebuild @@ -0,0 +1,57 @@ +# 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/easymock/easymock/archive/easymock-2.5.2.tar.gz --slot 2.5 --keywords "~amd64" --ebuild easymock-2.5.2.ebuild + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.easymock:easymock:2.5.2" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Mock Objects for interfaces in JUnit tests by generating them on the fly" +HOMEPAGE="https://easymock.org" +SRC_URI="https://github.com/easymock/easymock/archive/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="2.5" +KEYWORDS="~amd64" + +DEPEND=">=virtual/jdk-1.8:*" +RDEPEND=">=virtual/jre-1.8:*" + +PATCHES=( + "${FILESDIR}/easymock-2.5.5-nameClash.patch" + "${FILESDIR}/easymock-2.5.5-tests2nameClash.patch" +) + +S="${WORKDIR}/easymock-easymock-${PV}" + +JAVA_SRC_DIR="src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH="junit-4" +JAVA_TEST_SRC_DIR="src/test/java" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" + +src_prepare() { + default # https://bugs.gentoo.org/780585 + # 1) testGetInstance(org.easymock.tests2.EasyMockPropertiesTest) + # java.lang.AssertionError: expected:<1> but was:<null> + sed \ + -e '/import org.junit.Test/a import org.junit.Ignore;' \ + -e '/testGetInstance()/i @Ignore' \ + -i src/test/java/org/easymock/tests2/EasyMockPropertiesTest.java || die + + # 2) testPrimitiveDeprecated(org.easymock.tests2.CaptureTest) + # java.lang.AssertionError: + # 3) testPrimitiveVsObject(org.easymock.tests2.CaptureTest) + # java.lang.AssertionError: + sed \ + -e '/import org.junit.Test/a import org.junit.Ignore;' \ + -e '/testPrimitiveDeprecated()/i @Ignore' \ + -e '/testPrimitiveVsObject()/i @Ignore' \ + -i src/test/java/org/easymock/tests2/CaptureTest.java || die +} diff --git a/dev-java/easymock/easymock-3.3.1-r1.ebuild b/dev-java/easymock/easymock-3.3.1-r1.ebuild index 8a7db3b2235f..0193c3bb5f12 100644 --- a/dev-java/easymock/easymock-3.3.1-r1.ebuild +++ b/dev-java/easymock/easymock-3.3.1-r1.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 JAVA_PKG_IUSE="doc source test" MAVEN_ID="org.easymock:easymock:3.3.1" diff --git a/dev-java/easymock/files/easymock-2.5.5-nameClash.patch b/dev-java/easymock/files/easymock-2.5.5-nameClash.patch new file mode 100644 index 000000000000..7a4f0d92ab64 --- /dev/null +++ b/dev-java/easymock/files/easymock-2.5.5-nameClash.patch @@ -0,0 +1,230 @@ +--- a/src/main/java/org/easymock/EasyMock.java Thu Feb 23 10:32:43 2012 +0100 ++++ b/src/main/java/org/easymock/EasyMock.java Thu Feb 23 11:25:46 2012 +0100 +@@ -1452,81 +1452,200 @@ + + /** + * Expect any object but captures it for later use. +- * +- * @param <T> Type of the captured object +- * @param captured Where the parameter is captured ++ * ++ * @param <T> ++ * Type of the captured object ++ * @param captured ++ * Where the parameter is captured + * @return <code>null</code> + */ +- public static <T> T capture(Capture<T> captured) { ++ public static <T> T capture(final Capture<T> captured) { + reportMatcher(new Captures<T>(captured)); + return null; + } +- ++ ++ /** ++ * Expect any boolean but captures it for later use. ++ * ++ * @param captured ++ * Where the parameter is captured ++ * @return <code>false</code> ++ */ ++ public static boolean captureBoolean(final Capture<Boolean> captured) { ++ reportMatcher(new Captures<Boolean>(captured)); ++ return false; ++ } ++ ++// /** ++// * Expect any boolean but captures it for later use. ++// * ++// * @param captured ++// * Where the parameter is captured ++// * @return <code>0</code> ++// * ++// * @deprecated Because of harder erasure enforcement, doesn't compile in ++// * Java 7 ++// */ ++// @Deprecated ++// public static boolean capture(final Capture<Boolean> captured) { ++// return captureBoolean(captured); ++// } ++ + /** + * Expect any int but captures it for later use. +- * +- * @param captured Where the parameter is captured ++ * ++ * @param captured ++ * Where the parameter is captured + * @return <code>0</code> + */ +- public static int capture(Capture<Integer> captured) { ++ public static int captureInt(final Capture<Integer> captured) { + reportMatcher(new Captures<Integer>(captured)); + return 0; + } +- ++// /** ++// * Expect any int but captures it for later use. ++// * ++// * @param captured ++// * Where the parameter is captured ++// * @return <code>0</code> ++// * ++// * @deprecated Because of harder erasure enforcement, doesn't compile in ++// * Java 7 ++// */ ++// @Deprecated ++// public static int capture(final Capture<Integer> captured) { ++// return captureInt(captured); ++// } ++ + /** + * Expect any long but captures it for later use. +- * +- * @param captured Where the parameter is captured ++ * ++ * @param captured ++ * Where the parameter is captured + * @return <code>0</code> + */ +- public static long capture(Capture<Long> captured) { ++ public static long captureLong(final Capture<Long> captured) { + reportMatcher(new Captures<Long>(captured)); + return 0; + } +- ++// /** ++// * Expect any long but captures it for later use. ++// * ++// * @param captured ++// * Where the parameter is captured ++// * @return <code>0</code> ++// * ++// * @deprecated Because of harder erasure enforcement, doesn't compile in ++// * Java 7 ++// */ ++// @Deprecated ++// public static long capture(final Capture<Long> captured) { ++// return captureLong(captured); ++// } ++ + /** + * Expect any float but captures it for later use. +- * +- * @param captured Where the parameter is captured ++ * ++ * @param captured ++ * Where the parameter is captured + * @return <code>0</code> + */ +- public static float capture(Capture<Float> captured) { ++ public static float captureFloat(final Capture<Float> captured) { + reportMatcher(new Captures<Float>(captured)); + return 0; + } +- ++// /** ++// * Expect any float but captures it for later use. ++// * ++// * @param captured ++// * Where the parameter is captured ++// * @return <code>0</code> ++// * ++// * @deprecated Because of harder erasure enforcement, doesn't compile in ++// * Java 7 ++// */ ++// @Deprecated ++// public static float capture(final Capture<Float> captured) { ++// return captureFloat(captured); ++// } ++ + /** + * Expect any double but captures it for later use. +- * +- * @param captured Where the parameter is captured ++ * ++ * @param captured ++ * Where the parameter is captured + * @return <code>0</code> + */ +- public static double capture(Capture<Double> captured) { ++ public static double captureDouble(final Capture<Double> captured) { + reportMatcher(new Captures<Double>(captured)); + return 0; + } ++// /** ++// * Expect any double but captures it for later use. ++// * ++// * @param captured ++// * Where the parameter is captured ++// * @return <code>0</code> ++// * ++// * @deprecated Because of harder erasure enforcement, doesn't compile in ++// * Java 7 ++// */ ++// @Deprecated ++// public static double capture(final Capture<Double> captured) { ++// return captureDouble(captured); ++// } + + /** + * Expect any byte but captures it for later use. +- * +- * @param captured Where the parameter is captured ++ * ++ * @param captured ++ * Where the parameter is captured + * @return <code>0</code> + */ +- public static byte capture(Capture<Byte> captured) { ++ public static byte captureByte(final Capture<Byte> captured) { + reportMatcher(new Captures<Byte>(captured)); + return 0; + } +- ++// /** ++// * Expect any byte but captures it for later use. ++// * ++// * @param captured ++// * Where the parameter is captured ++// * @return <code>0</code> ++// * ++// * @deprecated Because of harder erasure enforcement, doesn't compile in ++// * Java 7 ++// */ ++// @Deprecated ++// public static byte capture(final Capture<Byte> captured) { ++// return captureByte(captured); ++// } ++ + /** + * Expect any char but captures it for later use. +- * +- * @param captured Where the parameter is captured ++ * ++ * @param captured ++ * Where the parameter is captured + * @return <code>0</code> + */ +- public static char capture(Capture<Character> captured) { ++ public static char captureChar(final Capture<Character> captured) { + reportMatcher(new Captures<Character>(captured)); + return 0; + } ++// /** ++// * Expect any char but captures it for later use. ++// * ++// * @param captured ++// * Where the parameter is captured ++// * @return <code>0</code> ++// * ++// * @deprecated Because of harder erasure enforcement, doesn't compile in ++// * Java 7 ++// */ ++// @Deprecated ++// public static char capture(final Capture<Character> captured) { ++// return captureChar(captured); ++// } + + /** + * Switches the given mock objects (more exactly: the controls of the mock diff --git a/dev-java/easymock/files/easymock-2.5.5-tests2nameClash.patch b/dev-java/easymock/files/easymock-2.5.5-tests2nameClash.patch new file mode 100644 index 000000000000..23ed754e3854 --- /dev/null +++ b/dev-java/easymock/files/easymock-2.5.5-tests2nameClash.patch @@ -0,0 +1,420 @@ +--- a/src/test/java/org/easymock/tests2/CaptureTest.java Thu Feb 23 10:32:43 2012 +0100 ++++ b/src/test/java/org/easymock/tests2/CaptureTest.java Thu Feb 23 11:25:46 2012 +0100 +@@ -1,12 +1,12 @@ +-/* +- * Copyright 2003-2009 OFFIS, Henri Tremblay +- * ++/** ++ * Copyright 2001-2011 the original author or authors. ++ * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at +- * ++ * + * http://www.apache.org/licenses/LICENSE-2.0 +- * ++ * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@@ -27,10 +27,13 @@ + import org.junit.Before; + import org.junit.Test; + ++/** ++ * @author Henri Tremblay ++ */ + public class CaptureTest { + + public static class A { +- public String foo(IMethods methods) { ++ public String foo(final IMethods methods) { + return methods.oneArg(2); + } + } +@@ -42,16 +45,16 @@ + @After + public void tearDown() throws Exception { + } +- +- private Capture<Integer> testCaptureType(CaptureType type) { +- IMethods mock = createMock(IMethods.class); +- Capture<Integer> captured = new Capture<Integer>(type); +- +- expect(mock.oneArg(capture(captured))).andReturn("1"); ++ ++ private Capture<Integer> testCaptureType(final CaptureType type) { ++ final IMethods mock = createMock(IMethods.class); ++ final Capture<Integer> captured = new Capture<Integer>(type); ++ ++ expect(mock.oneArg(captureInt(captured))).andReturn("1"); + expect(mock.oneArg(anyInt())).andReturn("1"); +- expect(mock.oneArg(capture(captured))).andReturn("2").times(2); +- mock.twoArgumentMethod(capture(captured), eq(5)); +- mock.twoArgumentMethod(capture(captured), capture(captured)); ++ expect(mock.oneArg(captureInt(captured))).andReturn("2").times(2); ++ mock.twoArgumentMethod(captureInt(captured), eq(5)); ++ mock.twoArgumentMethod(captureInt(captured), captureInt(captured)); + + replay(mock); + +@@ -66,28 +69,28 @@ + + return captured; + } +- ++ + @Test + public void testCaptureFirst() { +- Capture<Integer> captured = testCaptureType(CaptureType.FIRST); ++ final Capture<Integer> captured = testCaptureType(CaptureType.FIRST); + assertEquals(0, (int) captured.getValue()); + } + + @Test + public void testCaptureLast() { +- Capture<Integer> captured = testCaptureType(CaptureType.LAST); ++ final Capture<Integer> captured = testCaptureType(CaptureType.LAST); + assertEquals(7, (int) captured.getValue()); + } + + @Test + public void testCaptureAll() { +- Capture<Integer> captured = testCaptureType(CaptureType.ALL); ++ final Capture<Integer> captured = testCaptureType(CaptureType.ALL); + assertEquals(Arrays.asList(0, 2, 3, 4, 6, 7), captured.getValues()); + } + + @Test + public void testCaptureNone() { +- Capture<Integer> captured = testCaptureType(CaptureType.NONE); ++ final Capture<Integer> captured = testCaptureType(CaptureType.NONE); + assertFalse(captured.hasCaptured()); + } + +@@ -96,11 +99,10 @@ + + @Test + public void testCaptureRightOne() { +- Capture<String> captured = new Capture<String>(); +- IMethods mock = createMock(IMethods.class); ++ final Capture<String> captured = new Capture<String>(); ++ final IMethods mock = createMock(IMethods.class); + +- expect(mock.oneArg(and(eq("test"), capture(captured)))).andReturn( +- "answer1"); ++ expect(mock.oneArg(and(eq("test"), capture(captured)))).andReturn("answer1"); + expect(mock.oneArg("a")).andReturn("answer2"); + + replay(mock); +@@ -114,10 +116,11 @@ + verify(mock); + } + ++ @SuppressWarnings("deprecation") + @Test + public void testPrimitiveVsObject() { +- Capture<Integer> capture = new Capture<Integer>(); +- IMethods mock = createMock(IMethods.class); ++ final Capture<Integer> capture = new Capture<Integer>(); ++ final IMethods mock = createMock(IMethods.class); + + expect(mock.oneArg(capture(capture))).andReturn("answer"); + expect(mock.oneArg((Integer) capture(capture))).andReturn("answer"); +@@ -135,11 +138,10 @@ + + @Test + public void testAnd() { +- Capture<String> captured = new Capture<String>(); +- IMethods mock = createMock(IMethods.class); ++ final Capture<String> captured = new Capture<String>(); ++ final IMethods mock = createMock(IMethods.class); + +- expect(mock.oneArg(and(capture(captured), eq("test")))).andReturn( +- "answer"); ++ expect(mock.oneArg(and(capture(captured), eq("test")))).andReturn("answer"); + + replay(mock); + +@@ -148,17 +150,19 @@ + + verify(mock); + } +- ++ ++ @SuppressWarnings("deprecation") + @Test +- public void testPrimitive() { +- Capture<Integer> captureI = new Capture<Integer>(); +- Capture<Long> captureL = new Capture<Long>(); +- Capture<Float> captureF = new Capture<Float>(); +- Capture<Double> captureD = new Capture<Double>(); +- Capture<Byte> captureB = new Capture<Byte>(); +- Capture<Character> captureC = new Capture<Character>(); ++ public void testPrimitiveDeprecated() { ++ final Capture<Integer> captureI = new Capture<Integer>(); ++ final Capture<Long> captureL = new Capture<Long>(); ++ final Capture<Float> captureF = new Capture<Float>(); ++ final Capture<Double> captureD = new Capture<Double>(); ++ final Capture<Byte> captureB = new Capture<Byte>(); ++ final Capture<Character> captureC = new Capture<Character>(); ++ final Capture<Boolean> captureBool = new Capture<Boolean>(); + +- IMethods mock = createMock(IMethods.class); ++ final IMethods mock = createMock(IMethods.class); + + expect(mock.oneArg(capture(captureI))).andReturn("answerI"); + expect(mock.oneArg(capture(captureL))).andReturn("answerL"); +@@ -166,6 +170,7 @@ + expect(mock.oneArg(capture(captureD))).andReturn("answerD"); + expect(mock.oneArg(capture(captureB))).andReturn("answerB"); + expect(mock.oneArg(capture(captureC))).andReturn("answerC"); ++ expect(mock.oneArg(capture(captureBool))).andReturn("answerZ"); + + replay(mock); + +@@ -175,6 +180,7 @@ + assertEquals("answerD", mock.oneArg(4.0)); + assertEquals("answerB", mock.oneArg((byte) 5)); + assertEquals("answerC", mock.oneArg((char) 6)); ++ assertEquals("answerZ", mock.oneArg(true)); + + assertEquals(1, captureI.getValue().intValue()); + assertEquals(2l, captureL.getValue().longValue()); +@@ -182,19 +188,60 @@ + assertEquals(4.0, captureD.getValue().doubleValue(), 0.0); + assertEquals((byte) 5, captureB.getValue().byteValue()); + assertEquals((char) 6, captureC.getValue().charValue()); +- ++ assertEquals(true, captureBool.getValue().booleanValue()); ++ + verify(mock); + } +- ++ ++ @Test ++ public void testPrimitive() { ++ final Capture<Integer> captureI = new Capture<Integer>(); ++ final Capture<Long> captureL = new Capture<Long>(); ++ final Capture<Float> captureF = new Capture<Float>(); ++ final Capture<Double> captureD = new Capture<Double>(); ++ final Capture<Byte> captureB = new Capture<Byte>(); ++ final Capture<Character> captureC = new Capture<Character>(); ++ final Capture<Boolean> captureBool = new Capture<Boolean>(); ++ ++ final IMethods mock = createMock(IMethods.class); ++ ++ expect(mock.oneArg(captureInt(captureI))).andReturn("answerI"); ++ expect(mock.oneArg(captureLong(captureL))).andReturn("answerL"); ++ expect(mock.oneArg(captureFloat(captureF))).andReturn("answerF"); ++ expect(mock.oneArg(captureDouble(captureD))).andReturn("answerD"); ++ expect(mock.oneArg(captureByte(captureB))).andReturn("answerB"); ++ expect(mock.oneArg(captureChar(captureC))).andReturn("answerC"); ++ expect(mock.oneArg(captureBoolean(captureBool))).andReturn("answerZ"); ++ ++ replay(mock); ++ ++ assertEquals("answerI", mock.oneArg(1)); ++ assertEquals("answerL", mock.oneArg(2l)); ++ assertEquals("answerF", mock.oneArg(3.0f)); ++ assertEquals("answerD", mock.oneArg(4.0)); ++ assertEquals("answerB", mock.oneArg((byte) 5)); ++ assertEquals("answerC", mock.oneArg((char) 6)); ++ assertEquals("answerZ", mock.oneArg(true)); ++ ++ assertEquals(1, captureI.getValue().intValue()); ++ assertEquals(2l, captureL.getValue().longValue()); ++ assertEquals(3.0f, captureF.getValue().floatValue(), 0.0); ++ assertEquals(4.0, captureD.getValue().doubleValue(), 0.0); ++ assertEquals((byte) 5, captureB.getValue().byteValue()); ++ assertEquals((char) 6, captureC.getValue().charValue()); ++ assertEquals(true, captureBool.getValue().booleanValue()); ++ ++ verify(mock); ++ } ++ + @Test + public void testCapture() { +- Capture<String> capture = new Capture<String>(); ++ final Capture<String> capture = new Capture<String>(); + assertFalse(capture.hasCaptured()); + try { + capture.getValue(); + fail("Should not be allowed"); +- } +- catch(AssertionError e) { ++ } catch (final AssertionError e) { + assertEquals("Nothing captured yet", e.getMessage()); + } + assertEquals("Nothing captured yet", capture.toString()); +@@ -207,29 +254,26 @@ + try { + capture.getValue(); + fail(); +- } +- catch(AssertionError e) { ++ } catch (final AssertionError e) { + assertEquals("Nothing captured yet", e.getMessage()); + } +- ++ + capture.setValue(null); + assertTrue(capture.hasCaptured()); + assertNull(capture.getValue()); + assertEquals("null", capture.toString()); + } +- ++ + @Test + public void testCaptureMultiple() { +- Capture<String> capture = new Capture<String>(CaptureType.ALL); ++ final Capture<String> capture = new Capture<String>(CaptureType.ALL); + capture.setValue("a"); + capture.setValue("b"); + try { + capture.getValue(); + fail(); +- } catch (AssertionError e) { +- assertEquals( +- "More than one value captured: " + capture.getValues(), e +- .getMessage()); ++ } catch (final AssertionError e) { ++ assertEquals("More than one value captured: " + capture.getValues(), e.getMessage()); + } + assertEquals(Arrays.asList("a", "b"), capture.getValues()); + } +@@ -237,30 +281,26 @@ + @Test + public void testCapture_2617107() { + +- IMethods mock = createMock(IMethods.class); ++ final IMethods mock = createMock(IMethods.class); + +- Capture<String> cap1 = new Capture<String>(); +- Capture<String> cap2 = new Capture<String>(); +- Capture<String> cap3 = new Capture<String>(); +- Capture<String> cap4 = new Capture<String>(); ++ final Capture<String> cap1 = new Capture<String>(); ++ final Capture<String> cap2 = new Capture<String>(); ++ final Capture<String> cap3 = new Capture<String>(); ++ final Capture<String> cap4 = new Capture<String>(); + +- mock.simpleMethodWithArgument(and(isA(String.class), +- capture(cap1))); +- mock.simpleMethodWithArgument(and(isA(String.class), +- capture(cap2))); +- mock.simpleMethodWithArgument(and(isA(String.class), +- capture(cap3))); +- mock.simpleMethodWithArgument(and(isA(String.class), +- capture(cap4))); ++ mock.simpleMethodWithArgument(and(isA(String.class), capture(cap1))); ++ mock.simpleMethodWithArgument(and(isA(String.class), capture(cap2))); ++ mock.simpleMethodWithArgument(and(isA(String.class), capture(cap3))); ++ mock.simpleMethodWithArgument(and(isA(String.class), capture(cap4))); + + replay(mock); + + final String[] s = { "one", "two", "three", "four" }; + +- for (int i = 0; i < s.length; i++) { +- mock.simpleMethodWithArgument(s[i]); ++ for (final String element : s) { ++ mock.simpleMethodWithArgument(element); + } +- ++ + assertEquals("one", cap1.getValue()); + assertEquals("two", cap2.getValue()); + assertEquals("three", cap3.getValue()); +@@ -268,7 +308,7 @@ + + verify(mock); + } +- ++ + @Test + public void testCaptureNonStrictControl_2133741() { + testCaptureHelper(createMock(IMethods.class)); +@@ -279,9 +319,9 @@ + testCaptureHelper(createStrictMock(IMethods.class)); + } + +- protected void testCaptureHelper(IMethods mock) { +- Capture<String> capture1 = new Capture<String>(); +- Capture<String> capture2 = new Capture<String>(); ++ protected void testCaptureHelper(final IMethods mock) { ++ final Capture<String> capture1 = new Capture<String>(); ++ final Capture<String> capture2 = new Capture<String>(); + + mock.simpleMethodWithArgument(capture(capture1)); + mock.simpleMethodWithArgument(capture(capture2)); +@@ -294,25 +334,25 @@ + assertTrue(capture1.hasCaptured()); + assertTrue(capture2.hasCaptured()); + assertFalse(capture1.getValue() == capture2.getValue()); +- } +- ++ } ++ + @Test + public void testCapture1_2446744() { +- Capture<String> capture1 = new Capture<String>(); +- Capture<String> capture2 = new Capture<String>(); +- Capture<String> capture3 = new Capture<String>(); +- IMethods mock = createMock(IMethods.class); ++ final Capture<String> capture1 = new Capture<String>(); ++ final Capture<String> capture2 = new Capture<String>(); ++ final Capture<String> capture3 = new Capture<String>(); ++ final IMethods mock = createMock(IMethods.class); + expect(mock.oneArg(capture(capture1))).andReturn("1").once(); + expect(mock.oneArg(capture(capture2))).andReturn("2").once(); + expect(mock.oneArg(capture(capture3))).andReturn("3").once(); +- ++ + replay(mock); +- ++ + for (int i = 0; i < 3; i++) { +- String string = "Run" + (i + 1); ++ final String string = "Run" + (i + 1); + mock.oneArg(string); + } +- ++ + assertEquals("Run3", capture3.getValue()); + assertEquals("Run2", capture2.getValue()); + assertEquals("Run1", capture1.getValue()); +@@ -320,16 +360,16 @@ + + @Test + public void testCapture2_2446744() { +- Capture<String> capture = new Capture<String>(CaptureType.ALL); +- IMethods mock = createMock(IMethods.class); ++ final Capture<String> capture = new Capture<String>(CaptureType.ALL); ++ final IMethods mock = createMock(IMethods.class); + expect(mock.oneArg(capture(capture))).andReturn("1").once(); + expect(mock.oneArg(capture(capture))).andReturn("2").once(); + expect(mock.oneArg(capture(capture))).andReturn("3").once(); +- ++ + replay(mock); +- ++ + for (int i = 0; i < 3; i++) { +- String string = "Run" + (i + 1); ++ final String string = "Run" + (i + 1); + mock.oneArg(string); + } + +@@ -338,8 +378,8 @@ + + @Test + public void testCaptureFromStub() { +- Capture<String> capture = new Capture<String>(CaptureType.ALL); +- IMethods mock = createMock(IMethods.class); ++ final Capture<String> capture = new Capture<String>(CaptureType.ALL); ++ final IMethods mock = createMock(IMethods.class); + expect(mock.oneArg(capture(capture))).andStubReturn("1"); + + replay(mock); diff --git a/dev-java/felix-framework/Manifest b/dev-java/felix-framework/Manifest new file mode 100644 index 000000000000..7c129e4b6fc7 --- /dev/null +++ b/dev-java/felix-framework/Manifest @@ -0,0 +1 @@ +DIST felix-framework-7.0.5.tar.gz 505118 BLAKE2B 3652d46dfb4c9c5b43b159450b81ad896483fb2df40165d7e7b8bbd718c8e3297163065474bd10f3858ff7fc2646134ed470e34ede8eeb5efc05cec75f1a7aec SHA512 58fa96500fed827c348a47ac8672aeb4e5b94bfd681c4cde610b3a453fd2abfe2d631742281a192c76718ee83fc4c30980a5179926ff3bc7b8ea649ef07f34a3 diff --git a/dev-java/felix-framework/felix-framework-7.0.5.ebuild b/dev-java/felix-framework/felix-framework-7.0.5.ebuild new file mode 100644 index 000000000000..a8a67fa28876 --- /dev/null +++ b/dev-java/felix-framework/felix-framework-7.0.5.ebuild @@ -0,0 +1,106 @@ +# 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 mirror://apache/felix/org.apache.felix.framework-7.0.5-source-release.tar.gz --slot 0 --keywords "~amd64" --ebuild felix-framework-7.0.5.ebuild + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.apache.felix:org.apache.felix.framework:7.0.5" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Implementation of the OSGi R8 core framework specification" +HOMEPAGE="https://felix.apache.org/documentation/subprojects/apache-felix-framework.html" +SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# Common dependencies +# POM: pom.xml +# org.codehaus.mojo:animal-sniffer-annotations:1.9 -> >=dev-java/animal-sniffer-annotations-1.15:0 + +CP_DEPEND="dev-java/animal-sniffer-annotations:0" + +# Compile dependencies +# POM: pom.xml +# org.apache.felix:org.apache.felix.resolver:2.0.4 -> >=dev-java/felix-resolver-2.0.4:0 +# org.osgi:org.osgi.annotation:6.0.0 -> !!!artifactId-not-found!!! +# POM: pom.xml +# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4 +# test? org.easymock:easymock:2.5.2 -> >=dev-java/easymock-2.5.2:2.5 +# test? org.mockito:mockito-all:1.10.19 -> !!!artifactId-not-found!!! +# test? org.ow2.asm:asm-all:5.2 -> !!!artifactId-not-found!!! + +DEPEND=" + >=virtual/jdk-11:* + ${CP_DEPEND} + dev-java/osgi-annotation:0 + dev-java/felix-resolver:0 + test? ( + dev-java/asm:4 + dev-java/easymock:2.5 + dev-java/mockito:0 + ) +" + +RDEPEND=" + >=virtual/jre-1.8:* + ${CP_DEPEND}" + +S="${WORKDIR}/org.apache.felix.framework-${PV}" + +JAVA_CLASSPATH_EXTRA="felix-resolver,osgi-annotation" +JAVA_SRC_DIR="src/main/java" +JAVA_RESOURCE_DIRS="src/main/resources" + +JAVA_TEST_GENTOO_CLASSPATH="asm-4,junit-4,easymock-2.5,mockito" +JAVA_TEST_SRC_DIR="src/test/java" + +src_prepare() { + default + # 58,91 pom.xml + cat > src/main/java/module-info.java <<-EOF + $( sed -n '/<moduleInfoSource>/,/<\/moduleInfoSource/p' pom.xml \ + | grep -v moduleInfoSource ) + EOF + + sed -e 's/{dollar}//g' -i src/main/resources/default.properties || die + + sed -e "s:\${pom.version}:${PV}:" \ + -i src/main/resources/org/apache/felix/framework/Felix.properties || die + + # bundling some classes from felix-resolver according to 99,132 pom.xml + # if we don't bundle compilation would fail with: + # src/main/java/module-info.java:23: error: package is empty or does not exist: org.osgi.service.resolver + cd src/main/resources || die + jar xvf "$(java-pkg_getjar --build-only felix-resolver felix-resolver.jar)" \ + org/{apache/felix,osgi/service}/resolver/ || die +} + +src_compile() { + java-pkg-simple_src_compile + + # according to pom.xml, line 129 + # grep the line between <Add-opens> and </Add-opens> from pom.xml + local add_opens="$(sed -n '/<Add-opens>/,/<\/Add-opens/p' pom.xml \ + | grep -v Add-opens | tr -s '[:space:]')" || die + echo "Add-opens:${add_opens}" > "${T}/Add-opens-to-MANIFEST.MF" \ + || die "Add-opens-to-MANIFEST.MF failed" + jar ufmv ${JAVA_JAR_FILENAME} "${T}/Add-opens-to-MANIFEST.MF" \ + || die "updating MANIFEST.MF failed" +} + +src_test() { + # java.base does not "opens java.lang" to unnamed module + # adding it to MANIFEST.MF would not fix the test failures. + local vm_version="$(java-config -g PROVIDES_VERSION)" + if ver_test "${vm_version}" -ge 17; then + JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED ) + fi + java-pkg-simple_src_test +} diff --git a/dev-java/felix-framework/metadata.xml b/dev-java/felix-framework/metadata.xml new file mode 100644 index 000000000000..4e88ba5623f3 --- /dev/null +++ b/dev-java/felix-framework/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>java@gentoo.org</email> + </maintainer> + <upstream> + <bugs-to>https://issues.apache.org/jira/browse/FELIX</bugs-to> + <doc>https://felix.apache.org/documentation/subprojects/apache-felix-framework.html</doc> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-java/felix-resolver/Manifest b/dev-java/felix-resolver/Manifest new file mode 100644 index 000000000000..e66c365ab77e --- /dev/null +++ b/dev-java/felix-resolver/Manifest @@ -0,0 +1 @@ +DIST felix-resolver-2.0.4.tar.gz 164538 BLAKE2B 38d979557e484692bc6e47ce069bac5ca3c19f4b01b2d6222760708da571ca79166f4821c0b79c181a40c4228095dbe28f051e7d84d696cfddeef63f5a006ddd SHA512 bf4da4550b208dbe9e74cb4f66e9456fb0a3da66f6e60c08ebea88b68cc6f71200dcf324d22d85e6f5558e7f67335f8899e932de3b813a7fc7e9325eb8a31b61 diff --git a/dev-java/felix-resolver/felix-resolver-2.0.4.ebuild b/dev-java/felix-resolver/felix-resolver-2.0.4.ebuild new file mode 100644 index 000000000000..771b23571b6f --- /dev/null +++ b/dev-java/felix-resolver/felix-resolver-2.0.4.ebuild @@ -0,0 +1,71 @@ +# 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 mirror://apache/felix/org.apache.felix.resolver-2.0.4-source-release.tar.gz --slot 0 --keywords "~amd64" --ebuild felix-resolver-2.0.4.ebuild + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.apache.felix:org.apache.felix.resolver:2.0.4" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Provide OSGi resolver service." +HOMEPAGE="https://felix.apache.org/documentation/index.html" +SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# Common dependencies +# POM: pom.xml +# org.osgi:org.osgi.core:5.0.0 -> >=dev-java/osgi-core-api-5.0.0:0 +# org.osgi:osgi.annotation:6.0.1 -> >=dev-java/osgi-annotation-8.1.0:0 + +CP_DEPEND=" + dev-java/osgi-annotation:0 + dev-java/osgi-core:0 +" + +# Compile dependencies +# POM: pom.xml +# test? junit:junit:4.11 -> >=dev-java/junit-4.13.2:4 +# test? org.apache.felix:org.apache.felix.utils:1.8.0 -> >=dev-java/felix-utils-1.11.8:0 +# test? org.mockito:mockito-all:1.10.19 -> !!!artifactId-not-found!!! + +DEPEND=" + >=virtual/jdk-1.8:* + ${CP_DEPEND} + test? ( + dev-java/felix-utils:0 + dev-java/mockito:0 + ) +" + +RDEPEND=" + >=virtual/jre-1.8:* + ${CP_DEPEND}" + +DOCS=( DEPENDENCIES NOTICE doc/changelog.txt ) + +S="${WORKDIR}/org.apache.felix.resolver-${PV}" + +JAVA_RESOURCE_DIRS="src/main/resources" +JAVA_SRC_DIR="src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH="felix-utils,junit-4,mockito" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" + +src_test() { + # java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @73ec6027 + local vm_version="$(java-config -g PROVIDES_VERSION)" + if ver_test "${vm_version}" -ge 17; then + JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED ) + JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED ) + fi + java-pkg-simple_src_test +} diff --git a/dev-java/felix-resolver/metadata.xml b/dev-java/felix-resolver/metadata.xml new file mode 100644 index 000000000000..b4f9750f3522 --- /dev/null +++ b/dev-java/felix-resolver/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>java@gentoo.org</email> + </maintainer> + <upstream> + <doc>https://felix.apache.org/documentation/documentation.html</doc> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-java/felix-utils/Manifest b/dev-java/felix-utils/Manifest new file mode 100644 index 000000000000..5cdf8cb77b6b --- /dev/null +++ b/dev-java/felix-utils/Manifest @@ -0,0 +1 @@ +DIST felix-utils-1.11.8.tar.gz 90519 BLAKE2B 2fe6ce8101e8e4d9533a2decacc581d35babd3a26747598a196ade7cea787d6e379968208619dc9c4d89c8f670ccb98124223828c852347f859c4ae3a7f284c8 SHA512 cef0f05754857a5863869145b3c465a1fea0d41767637df904b0b041579af18e5b5e3c8e09dc89f0e2e3d252585e0765b6b6e34bf932df1ebdc62a7127ac8cfd diff --git a/dev-java/felix-utils/felix-utils-1.11.8.ebuild b/dev-java/felix-utils/felix-utils-1.11.8.ebuild new file mode 100644 index 000000000000..170d165ff6d8 --- /dev/null +++ b/dev-java/felix-utils/felix-utils-1.11.8.ebuild @@ -0,0 +1,59 @@ +# 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 mirror://apache/felix/org.apache.felix.utils-1.11.8-source-release.tar.gz --slot 0 --keywords "~amd64" --ebuild felix-utils-1.11.8.ebuild + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.apache.felix:org.apache.felix.utils:1.11.8" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Utility classes for OSGi" +HOMEPAGE="https://felix.apache.org/documentation/index.html" +SRC_URI="mirror://apache/felix/org.apache.felix.utils-${PV}-source-release.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# Compile dependencies +# POM: pom.xml +# org.osgi:osgi.cmpn:5.0.0 -> >=dev-java/osgi-cmpn-8.0.0:8 +# org.osgi:osgi.core:5.0.0 -> >=dev-java/osgi-core-8.0.0:0 +# POM: pom.xml +# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4 +# test? org.mockito:mockito-core:2.18.3 -> >=dev-java/mockito-4.7.0:4 + +DEPEND=" + >=virtual/jdk-1.8:* + dev-java/osgi-cmpn:8 + dev-java/osgi-core:0 + test? ( + dev-java/mockito:4 + ) +" + +RDEPEND=">=virtual/jre-1.8:*" + +PATCHES=( + "${FILESDIR}/felix-utils-1.11.8-Port-to-osgi-cmpn.patch" +) + +DOCS=( DEPENDENCIES NOTICE doc/changelog.txt ) + +S="${WORKDIR}/org.apache.felix.utils-${PV}" + +JAVA_CLASSPATH_EXTRA="osgi-cmpn-8,osgi-core" +JAVA_SRC_DIR="src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4" +JAVA_TEST_SRC_DIR="src/test/java" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" + +src_prepare() { + default # https://bugs.gentoo.org/780585 +} diff --git a/dev-java/felix-utils/files/felix-utils-1.11.8-Port-to-osgi-cmpn.patch b/dev-java/felix-utils/files/felix-utils-1.11.8-Port-to-osgi-cmpn.patch new file mode 100644 index 000000000000..22b0222af68b --- /dev/null +++ b/dev-java/felix-utils/files/felix-utils-1.11.8-Port-to-osgi-cmpn.patch @@ -0,0 +1,123 @@ +From d7a2d969b55ab34a223ad1422b2e3ef7d95a347f Mon Sep 17 00:00:00 2001 +From: Marian Koncek <mkoncek@redhat.com> +Date: Mon, 5 Nov 2018 09:59:04 +0100 +Subject: [PATCH] Port to osgi-cmpn + +--- + .../utils/repository/AggregateRepository.java | 20 +++++++++++++++++++ + .../utils/repository/BaseRepository.java | 19 ++++++++++++++++++ + .../utils/properties/MockBundleContext.java | 10 ++++++++++ + 3 files changed, 49 insertions(+) + +diff --git a/src/main/java/org/apache/felix/utils/repository/AggregateRepository.java b/src/main/java/org/apache/felix/utils/repository/AggregateRepository.java +index 50dceaf..4da3141 100644 +--- a/src/main/java/org/apache/felix/utils/repository/AggregateRepository.java ++++ b/src/main/java/org/apache/felix/utils/repository/AggregateRepository.java +@@ -25,7 +25,12 @@ import java.util.Map; + + import org.osgi.resource.Capability; + import org.osgi.resource.Requirement; ++import org.osgi.resource.Resource; ++import org.osgi.service.repository.ExpressionCombiner; + import org.osgi.service.repository.Repository; ++import org.osgi.service.repository.RequirementBuilder; ++import org.osgi.service.repository.RequirementExpression; ++import org.osgi.util.promise.Promise; + + public class AggregateRepository implements Repository { + +@@ -52,4 +57,19 @@ public class AggregateRepository implements Repository { + } + return result; + } ++ ++ @Override ++ public Promise<Collection<Resource>> findProviders(RequirementExpression expression) { ++ throw new UnsupportedOperationException(); ++ } ++ ++ @Override ++ public ExpressionCombiner getExpressionCombiner() { ++ throw new UnsupportedOperationException(); ++ } ++ ++ @Override ++ public RequirementBuilder newRequirementBuilder(String namespace) { ++ throw new UnsupportedOperationException(); ++ } + } +diff --git a/src/main/java/org/apache/felix/utils/repository/BaseRepository.java b/src/main/java/org/apache/felix/utils/repository/BaseRepository.java +index 95adadd..0998ab0 100644 +--- a/src/main/java/org/apache/felix/utils/repository/BaseRepository.java ++++ b/src/main/java/org/apache/felix/utils/repository/BaseRepository.java +@@ -30,7 +30,11 @@ import org.osgi.framework.Constants; + import org.osgi.resource.Capability; + import org.osgi.resource.Requirement; + import org.osgi.resource.Resource; ++import org.osgi.service.repository.ExpressionCombiner; + import org.osgi.service.repository.Repository; ++import org.osgi.service.repository.RequirementBuilder; ++import org.osgi.service.repository.RequirementExpression; ++import org.osgi.util.promise.Promise; + + /** + */ +@@ -90,4 +94,19 @@ public class BaseRepository implements Repository { + } + return result; + } ++ ++ @Override ++ public Promise<Collection<Resource>> findProviders(RequirementExpression expression) { ++ throw new UnsupportedOperationException(); ++ } ++ ++ @Override ++ public ExpressionCombiner getExpressionCombiner() { ++ throw new UnsupportedOperationException(); ++ } ++ ++ @Override ++ public RequirementBuilder newRequirementBuilder(String namespace) { ++ throw new UnsupportedOperationException(); ++ } + } +diff --git a/src/test/java/org/apache/felix/utils/properties/MockBundleContext.java b/src/test/java/org/apache/felix/utils/properties/MockBundleContext.java +index 3eab444..df94a6c 100644 +--- a/src/test/java/org/apache/felix/utils/properties/MockBundleContext.java ++++ b/src/test/java/org/apache/felix/utils/properties/MockBundleContext.java +@@ -25,7 +25,9 @@ import org.osgi.framework.BundleListener; + import org.osgi.framework.Filter; + import org.osgi.framework.FrameworkListener; + import org.osgi.framework.InvalidSyntaxException; ++import org.osgi.framework.ServiceFactory; + import org.osgi.framework.ServiceListener; ++import org.osgi.framework.ServiceObjects; + import org.osgi.framework.ServiceReference; + import org.osgi.framework.ServiceRegistration; + +@@ -105,6 +107,10 @@ public class MockBundleContext implements BundleContext { + throw new UnsupportedOperationException(); + } + ++ public <S> ServiceRegistration<S> registerService(Class<S> clazz, ServiceFactory<S> factory, Dictionary<String, ?> properties) { ++ throw new UnsupportedOperationException(); ++ } ++ + public ServiceReference[] getServiceReferences(String s, String s1) throws InvalidSyntaxException { + throw new UnsupportedOperationException(); + } +@@ -125,6 +131,10 @@ public class MockBundleContext implements BundleContext { + throw new UnsupportedOperationException(); + } + ++ public <S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference) { ++ throw new UnsupportedOperationException(); ++ } ++ + public File getDataFile(String s) { + throw new UnsupportedOperationException(); + } +-- +2.17.2 + diff --git a/dev-java/felix-utils/metadata.xml b/dev-java/felix-utils/metadata.xml new file mode 100644 index 000000000000..b4f9750f3522 --- /dev/null +++ b/dev-java/felix-utils/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>java@gentoo.org</email> + </maintainer> + <upstream> + <doc>https://felix.apache.org/documentation/documentation.html</doc> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-java/icu4j/icu4j-71.1.ebuild b/dev-java/icu4j/icu4j-71.1.ebuild index a14ec6534942..1b928fc77942 100644 --- a/dev-java/icu4j/icu4j-71.1.ebuild +++ b/dev-java/icu4j/icu4j-71.1.ebuild @@ -117,6 +117,9 @@ src_prepare() { # separate tests resources from tests src find tests/*/resources -type f -name '*.java' -exec rm -rf {} + || die find ../tools/misc/resources -type f -name '*.java' -exec rm -rf {} + || die + + # 874576 + rm resources/core/src/META-INF/MANIFEST.MF || die } src_compile() { diff --git a/dev-java/jakarta-servlet-api/jakarta-servlet-api-4.0.4.ebuild b/dev-java/jakarta-servlet-api/jakarta-servlet-api-4.0.4.ebuild index 0ed4e93cbabd..063b338f3af5 100644 --- a/dev-java/jakarta-servlet-api/jakarta-servlet-api-4.0.4.ebuild +++ b/dev-java/jakarta-servlet-api/jakarta-servlet-api-4.0.4.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://github.com/jakartaee/servlet/archive/${PV}-RELEASE.tar.gz -> ${ LICENSE="|| ( GPL-2 GPL-2-with-classpath-exception )" SLOT="4" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 x86" RDEPEND=">=virtual/jre-1.8:*" DEPEND=">=virtual/jdk-1.8:*" diff --git a/dev-java/junitparams/junitparams-1.1.1-r1.ebuild b/dev-java/junitparams/junitparams-1.1.1-r1.ebuild index d0326740ce29..db8ec80d207d 100644 --- a/dev-java/junitparams/junitparams-1.1.1-r1.ebuild +++ b/dev-java/junitparams/junitparams-1.1.1-r1.ebuild @@ -18,7 +18,7 @@ SRC_URI="https://github.com/Pragmatists/JUnitParams/archive/refs/tags/JUnitParam LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 x86" # Common dependencies # POM: pom.xml diff --git a/dev-java/system-rules/system-rules-1.19.0.ebuild b/dev-java/system-rules/system-rules-1.19.0.ebuild index 286fc2a0dfa5..9a34360a9a1c 100644 --- a/dev-java/system-rules/system-rules-1.19.0.ebuild +++ b/dev-java/system-rules/system-rules-1.19.0.ebuild @@ -33,7 +33,7 @@ CP_DEPEND="dev-java/junit:4" # test? org.assertj:assertj-core:1.7.1 -> >=dev-java/assertj-core-2.3.0:2 # test? org.mockito:mockito-core:1.10.19 -> >=dev-java/mockito-4.4.0:4 -# Restricting to jdk:1.8 since it doesn't work with java 11 or higher. +# Restricting to jdk:1.8 since it doesn't work with java 11 or higher. DEPEND=" virtual/jdk:1.8 ${CP_DEPEND} diff --git a/dev-java/zstd-jni/Manifest b/dev-java/zstd-jni/Manifest index 86423a908744..5b766999bc7c 100644 --- a/dev-java/zstd-jni/Manifest +++ b/dev-java/zstd-jni/Manifest @@ -1 +1,2 @@ DIST zstd-jni-1.5.0.5.tar.gz 9297542 BLAKE2B 96b2aa09d62c7a45c352d52358aa47a66c95c1b122bfc61b7e2b3aaa829e011a8ed6f71373130700ecdb7d8541ca6971c2cd7fda01be396053532c4aeeca3cb1 SHA512 b63858d58c7d1b2c9d120f49d1289caa7e5b429d0f8c3c95b7f58a5d432f09d41504c5f5b0934f53be8eadf3c1ab02a1a872e292bac465907fffe2a67108267e +DIST zstd-jni-1.5.2.4.tar.gz 9343792 BLAKE2B 8a446b229d49671b3f38d630ecf2c2688210176af95b66c788027de89986ad1f23615582d670f1d7a0b3866572b05c722ad6c71783d208401844287e8149f65c SHA512 bf67fc6573f2b1e45bd4985186814a54fb948a1b7280b5cf2f6d2577626c1f70626a58994291ffb228f097c91d60e3ed52d56ad92830c8f386b96b11fb6cf4a2 diff --git a/dev-java/zstd-jni/zstd-jni-1.5.2.4.ebuild b/dev-java/zstd-jni/zstd-jni-1.5.2.4.ebuild new file mode 100644 index 000000000000..b613a58dbeee --- /dev/null +++ b/dev-java/zstd-jni/zstd-jni-1.5.2.4.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source" +MAVEN_ID="com.github.luben:zstd-jni:1.5.2-4" + +inherit java-pkg-2 java-pkg-simple cmake + +DESCRIPTION="JNI bindings for Zstd native library" +HOMEPAGE="https://github.com/luben/zstd-jni" +# Snapshop needed because this version is not tagged. +MY_COMMIT="37faee49643b2739457716e3752f44fcaa09005f" +SRC_URI="https://github.com/luben/zstd-jni/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +RDEPEND=">=virtual/jre-1.8:*" +DEPEND=">=virtual/jdk-1.8:*" + +S="${WORKDIR}/zstd-jni-${MY_COMMIT}" + +JAVA_AUTOMATIC_MODULE_NAME="com.github.luben.zstd_jni" +JAVA_RESOURCE_DIRS="resources" +JAVA_SRC_DIR="src/main/java" + +src_prepare() { + cmake_src_prepare + # https://github.com/luben/zstd-jni/blob/v1.5.2-3/build.gradle#L66 + cat > src/main/java/com/github/luben/zstd/util/ZstdVersion.java <<-EOF || die + package com.github.luben.zstd.util; + + public class ZstdVersion + { + public static final String VERSION = "$(ver_rs 3 -)"; + } + EOF + + mkdir -p resources/META-INF || die + cat > resources/META-INF/MANIFEST.MF <<-EOF || die + Implementation-Version: $(ver_rs 3 -) + Bundle-NativeCode: libzstd-jni.so;osname=Linux" + EOF +} + +src_configure() { + local mycmakeargs=( + -DJAVA_HOME="$(java-config -g JAVA_HOME)" + # Resolve bug #776910 + # Reference: https://stackoverflow.com/a/51764145 + -DJAVA_AWT_LIBRARY="NotNeeded" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + java-pkg-simple_src_compile +} + +src_install() { + java-pkg_doso "${BUILD_DIR}/libzstd-jni-$(ver_rs 3 -).so" + java-pkg-simple_src_install +} |
