summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorVolkmar W. Pogatzki <gentoo@pogatzki.net>2025-04-24 08:42:40 +0200
committerSam James <sam@gentoo.org>2025-10-03 06:06:17 +0100
commit25990f675ca55e3e81ad41c9d4b2608a41134a7c (patch)
treefdda1be4a98a942ba165a3fdce103072b598877e /dev-java
parent31442edc1aefd099ece348d7a75d0e2fb1cbeebd (diff)
downloadgentoo-25990f675ca55e3e81ad41c9d4b2608a41134a7c.tar.gz
gentoo-25990f675ca55e3e81ad41c9d4b2608a41134a7c.tar.bz2
gentoo-25990f675ca55e3e81ad41c9d4b2608a41134a7c.zip
dev-java/gson: add 2.13.2
uses dev-java/truth instead of precompiled jar Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Part-of: https://github.com/gentoo/gentoo/pull/43470 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/gson/Manifest1
-rw-r--r--dev-java/gson/gson-2.13.2.ebuild74
2 files changed, 75 insertions, 0 deletions
diff --git a/dev-java/gson/Manifest b/dev-java/gson/Manifest
index e21ed0c2effb..31ace9b67fe4 100644
--- a/dev-java/gson/Manifest
+++ b/dev-java/gson/Manifest
@@ -1,2 +1,3 @@
DIST gson-parent-2.11.0.tar.gz 458360 BLAKE2B 88d242c725b054ac5e7e3ef31f312f77dd03aea29f6604770253564d80f84cd752b43d74dd416785836d08884e462275f8ec924a00e2ffee195c0237bc2bac0b SHA512 1834b7c95f0a40ff1bcf8088f3ffdb8332ae38d452bab4ad2c9271421e75a9236645d1ee0fdb58c2f32eac86cf503afa3de19f08eb422cc91c4d32e370c36eac
+DIST gson-parent-2.13.2.tar.gz 467484 BLAKE2B 46f60960c35aa268eaa4d1f0264f824f32f44d780a353bf4b2208a5fb7351c88a4d04248ca215dfd11ace6ea8ed8c4080e7342e818ddf1d30aace9d004b92043 SHA512 042eec392b52d040579fa23f48edc08f469d970e04904422e8173893f5c700a4ec3df34fec4feecc9da7197d4784392a37cfc8dbde355dcbbca22fe4e7bc1c11
DIST truth-1.1.3.jar 243021 BLAKE2B a59149038c62ef5dd352b13d4b393e1b7715fbafe5ed86ec2d16d722c738a31dcdca10132fc73b17b367ac4309e5407ba2e489f8d4c8fbca60ce5f35ae75d1e3 SHA512 f29a9fb070aff8a32358a7b6c8998c0095de5d8d68afa7f7bac759c7050309deff929e767657ecbbefd96163460f10255ca01bc567ab30df4834b9d916a4fae8
diff --git a/dev-java/gson/gson-2.13.2.ebuild b/dev-java/gson/gson-2.13.2.ebuild
new file mode 100644
index 000000000000..d0c6e3472c1c
--- /dev/null
+++ b/dev-java/gson/gson-2.13.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-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="Gson JSON library"
+HOMEPAGE="https://github.com/google/gson"
+SRC_URI="https://github.com/google/gson/archive/gson-parent-${PV}.tar.gz"
+S="${WORKDIR}/gson-gson-parent-${PV}/gson"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ >=dev-java/error-prone-annotations-2.41.0:0
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/guava-33.4.8:0
+ >=dev-java/guava-testlib-33.4.8:0
+ dev-java/truth:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=(
+ ../CHANGELOG.md
+ ../GsonDesignDocument.md
+ ../README.md
+ ../Troubleshooting.md
+ ../UserGuide.md
+)
+
+JAVA_CLASSPATH_EXTRA="error-prone-annotations"
+JAVA_INTERMEDIATE_JAR_NAME="com.google.gson"
+JAVA_RELEASE_SRC_DIRS=( ["9"]="src/main/java9" )
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=( src/main/java{,-templates} )
+
+# requires the test class to be obfuscated using proguard which we do not have atm
+JAVA_TEST_EXCLUDES=( "com.google.gson.functional.EnumWithObfuscatedTest" )
+
+JAVA_TEST_GENTOO_CLASSPATH="guava guava-testlib junit-4 truth"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ sed -e "s/\${project.version}/${PV}/g" \
+ -i src/main/java-templates/com/google/gson/internal/GsonBuildConfig.java \
+ || die "Failed to set version"
+
+ # Upstream builds it as META-INF/versions/9/module-info.class
+ mkdir -p src/main/java9 || die "mkdir java9"
+ mv src/main/java{,9}/module-info.java || die "move module-info.java"
+}
+
+src_test() {
+ # src/test/java/com/google/gson/functional/Java17RecordTest.java:78:
+ # error: records are not supported in -source 11
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17 ; then
+ JAVAC_ARGS="--source 17 --target 17" java-pkg-simple_src_test
+ else
+ einfo "Tests need at least Java 17"
+ fi
+}