commit: 7d158aef733c8fcf8b14f9ae5194f6d61e81153d Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net> AuthorDate: Tue Mar 11 20:38:31 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Oct 3 16:24:32 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d158aef
dev-java/ognl: new package, add 3.1.24 This package is a dependency of junit-quickcheck which is a test dependency of jflex-1.9.1. Higher versions than 3.1.24 would cause test failures in jflex-1.9.1 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net> Part-of: https://github.com/gentoo/gentoo/pull/44017 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-java/ognl/Manifest | 1 + .../ognl/files/ognl-3.1.24-TestOgnlRuntime.patch | 91 ++++++++++++++++++++++ dev-java/ognl/metadata.xml | 10 +++ dev-java/ognl/ognl-3.1.24.ebuild | 81 +++++++++++++++++++ 4 files changed, 183 insertions(+) diff --git a/dev-java/ognl/Manifest b/dev-java/ognl/Manifest new file mode 100644 index 000000000000..c04e5b3f90f8 --- /dev/null +++ b/dev-java/ognl/Manifest @@ -0,0 +1 @@ +DIST ognl-3.1.24.tar.gz 3630907 BLAKE2B 666b3a9076904ebb34ec0bd028c7564eb2f75775bb485b11282bd8c7bab5130d694ab60dc255e31c450996e59581befc0af6c10395c3e7e126024ff545279063 SHA512 8d3880970242e09f5baf1044757daa644eb96b08ee0066030729072633576de9d1a3cab6c2a7a2923ad8d048742b825001dadb6da52cdc6735bf9536e0902230 diff --git a/dev-java/ognl/files/ognl-3.1.24-TestOgnlRuntime.patch b/dev-java/ognl/files/ognl-3.1.24-TestOgnlRuntime.patch new file mode 100644 index 000000000000..34e1ecf3a424 --- /dev/null +++ b/dev-java/ognl/files/ognl-3.1.24-TestOgnlRuntime.patch @@ -0,0 +1,91 @@ +There were 5 failures: +1) test_Exit_JDK_Sandbox(ognl.TestOgnlRuntime) +junit.framework.AssertionFailedError + at junit.framework.Assert.fail(Assert.java:55) + at junit.framework.Assert.assertTrue(Assert.java:22) + at junit.framework.Assert.assertTrue(Assert.java:31) + at junit.framework.TestCase.assertTrue(TestCase.java:200) + at ognl.TestOgnlRuntime.test_Exit_JDK_Sandbox(TestOgnlRuntime.java:365) +2) test_Disable_JDK_Sandbox(ognl.TestOgnlRuntime) +junit.framework.AssertionFailedError + at junit.framework.Assert.fail(Assert.java:55) + at junit.framework.Assert.assertTrue(Assert.java:22) + at junit.framework.Assert.assertTrue(Assert.java:31) + at junit.framework.TestCase.assertTrue(TestCase.java:200) + at ognl.TestOgnlRuntime.test_Disable_JDK_Sandbox(TestOgnlRuntime.java:296) +3) test_Call_Method_In_JDK_Sandbox(ognl.TestOgnlRuntime) +junit.framework.AssertionFailedError + at junit.framework.Assert.fail(Assert.java:55) + at junit.framework.Assert.assertTrue(Assert.java:22) + at junit.framework.Assert.assertTrue(Assert.java:31) + at junit.framework.TestCase.assertTrue(TestCase.java:200) + at ognl.TestOgnlRuntime.test_Call_Method_In_JDK_Sandbox(TestOgnlRuntime.java:201) +4) test_Call_Method_In_JDK_Sandbox_Privileged(ognl.TestOgnlRuntime) +junit.framework.AssertionFailedError + at junit.framework.Assert.fail(Assert.java:55) + at junit.framework.Assert.assertTrue(Assert.java:22) + at junit.framework.Assert.assertTrue(Assert.java:31) + at junit.framework.TestCase.assertTrue(TestCase.java:200) + at ognl.TestOgnlRuntime.test_Call_Method_In_JDK_Sandbox_Privileged(TestOgnlRuntime.java:393) +5) test_Call_Method_In_JDK_Sandbox_Thread_Safety(ognl.TestOgnlRuntime) +junit.framework.AssertionFailedError: expected:<0> but was:<100> + at junit.framework.Assert.fail(Assert.java:57) + at junit.framework.Assert.failNotEquals(Assert.java:329) + at junit.framework.Assert.assertEquals(Assert.java:78) + at junit.framework.Assert.assertEquals(Assert.java:234) + at junit.framework.Assert.assertEquals(Assert.java:241) + at junit.framework.TestCase.assertEquals(TestCase.java:384) + at ognl.TestOgnlRuntime.test_Call_Method_In_JDK_Sandbox_Thread_Safety(TestOgnlRuntime.java:269) + +FAILURES!!! +Tests run: 30, Failures: 5 + +diff --git a/src/test/java/ognl/TestOgnlRuntime.java b/src/test/java/ognl/TestOgnlRuntime.java +index 0516f42..fd5bf48 100644 +--- a/src/test/java/ognl/TestOgnlRuntime.java ++++ b/src/test/java/ognl/TestOgnlRuntime.java +@@ -178,7 +178,7 @@ public class TestOgnlRuntime extends TestCase { + assertEquals("Halo 3", OgnlRuntime.callMethod(context, service, "getFullMessageFor", args)); + } + +- public void test_Call_Method_In_JDK_Sandbox() ++ public void noTest_Call_Method_In_JDK_Sandbox() + throws Exception { + OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); + GenericService service = new GenericServiceImpl(); +@@ -207,7 +207,7 @@ public class TestOgnlRuntime extends TestCase { + } + } + +- public void test_Call_Method_In_JDK_Sandbox_Thread_Safety() ++ public void noTest_Call_Method_In_JDK_Sandbox_Thread_Safety() + throws Exception { + final OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); + final GenericService service = new GenericServiceImpl(); +@@ -274,7 +274,7 @@ public class TestOgnlRuntime extends TestCase { + } + } + +- public void test_Disable_JDK_Sandbox() ++ public void noTest_Disable_JDK_Sandbox() + throws Exception { + OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); + GenericService service = new GenericServiceImpl(); +@@ -343,7 +343,7 @@ public class TestOgnlRuntime extends TestCase { + } + } + +- public void test_Exit_JDK_Sandbox() ++ public void noTest_Exit_JDK_Sandbox() + throws Exception { + OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); + GenericService service = new GenericServiceImpl(); +@@ -371,7 +371,7 @@ public class TestOgnlRuntime extends TestCase { + } + } + +- public void test_Call_Method_In_JDK_Sandbox_Privileged() ++ public void noTest_Call_Method_In_JDK_Sandbox_Privileged() + throws Exception { + OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); + GenericService service = new GenericServiceImpl(); diff --git a/dev-java/ognl/metadata.xml b/dev-java/ognl/metadata.xml new file mode 100644 index 000000000000..44b7554aa4a8 --- /dev/null +++ b/dev-java/ognl/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>[email protected]</email> + </maintainer> + <upstream> + <remote-id type="github">orphan-oss/ognl</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-java/ognl/ognl-3.1.24.ebuild b/dev-java/ognl/ognl-3.1.24.ebuild new file mode 100644 index 000000000000..481462201087 --- /dev/null +++ b/dev-java/ognl/ognl-3.1.24.ebuild @@ -0,0 +1,81 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Object Graph Navigation Library" +HOMEPAGE="https://ognl.orphan.software/" +SRC_URI="https://github.com/orphan-oss/ognl/archive/OGNL_${PV//./_}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/ognl-OGNL_${PV//./_}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +JAVACC_SLOT="7.0.13" +BDEPEND="dev-java/javacc:${JAVACC_SLOT}" + +DEPEND=" + dev-java/javassist:3 + >=virtual/jdk-1.8:* + test? ( + dev-java/easymock:2.5 + dev-java/hamcrest-core:1.3 + ) +" + +RDEPEND=">=virtual/jre-1.8:*" + +JAVA_AUTOMATIC_MODULE_NAME="ognl" +JAVA_CLASSPATH_EXTRA="javassist-3" +JAVA_SRC_DIR="src/java" +JAVA_TEST_EXCLUDES=( + # junit.framework.AssertionFailedError: No tests found in org.ognl.test.OgnlTestCase + # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestModel': + # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestInherited2': + # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestImpl': + # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestClass': + # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.ognl.test.objects.TestInherited1': + ognl.Java8Test + org.ognl.test.OgnlTestCase + org.ognl.test.objects.TestModel + org.ognl.test.objects.TestInherited2 + org.ognl.test.objects.TestImpl + org.ognl.test.objects.TestClass + org.ognl.test.objects.TestInherited1 +) +JAVA_TEST_GENTOO_CLASSPATH="easymock-2.5 hamcrest-core-1.3 junit-4" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" + +src_prepare() { + default #780585 + java-pkg-2_src_prepare + "javacc-${JAVACC_SLOT}" \ + -GRAMMAR_ENCODING=UTF-8 \ + -LOOKAHEAD=1, -STATIC=false \ + -JAVA_UNICODE_ESCAPE=true \ + -UNICODE_INPUT=true \ + -OUTPUT_DIRECTORY=src/main/java \ + src/java/ognl/ognl.jj || die "javacc" +} + +src_test() { + local vm_version="$(java-config -g PROVIDES_VERSION)" + if ver_test "${vm_version}" -ge 21; then + # This file has 30 tets, 5 of which would fail with higher Java versions. + eapply "${FILESDIR}/ognl-3.1.24-TestOgnlRuntime.patch" + fi + if ver_test "${vm_version}" -ge 17; then + JAVA_TEST_EXTRA_ARGS+=( + --add-opens=java.base/java.lang=ALL-UNNAMED + --add-opens=java.base/java.util=ALL-UNNAMED + ) + fi + java-pkg-simple_src_test +}
