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

Reply via email to