public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-java/auto-value/
@ 2025-10-03  5:07 Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2025-10-03  5:07 UTC (permalink / raw
  To: gentoo-commits

commit:     be6d4aedb75196ea28590be17832958673113f3b
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Apr 29 14:47:36 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct  3 05:06:15 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be6d4aed

dev-java/auto-value: new package, add 1.11.0

Annotation processor for @AutoValue annotations. It is needed for
building packages like dev-java/testparapeterinjector, dev-java/truth or
dev-java/compile-testing.

An example how to use it can also be seen in src_test() of this ebuild.
Further information in 'man 1 javac' (look for '-processorpath') and in
the manual.

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Part-of: https://github.com/gentoo/gentoo/pull/43470
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-java/auto-value/Manifest                 |   1 +
 dev-java/auto-value/auto-value-1.11.0.ebuild | 184 +++++++++++++++++++++++++++
 dev-java/auto-value/metadata.xml             |  11 ++
 3 files changed, 196 insertions(+)

diff --git a/dev-java/auto-value/Manifest b/dev-java/auto-value/Manifest
new file mode 100644
index 000000000000..1a5f82be4e06
--- /dev/null
+++ b/dev-java/auto-value/Manifest
@@ -0,0 +1 @@
+DIST auto-value-1.11.0.tar.gz 434518 BLAKE2B 6553802cb805e7c1c8f5dcfe4ad4624405788c97758e69f6b502f2bc9f189e4e8e9111de5f01c6c6b65963c4c1cd8be3d6c5725ea2ca70000e1bfe14746f5219 SHA512 1b0b129c7258cb8c5829faa0abb2665b17481bdb971c57e1eab35a130524520281355ddbbaa2cbb6ff8ac26744fb4fb36882de5eea6b74a4bb243d17b5ff6bba

diff --git a/dev-java/auto-value/auto-value-1.11.0.ebuild b/dev-java/auto-value/auto-value-1.11.0.ebuild
new file mode 100644
index 000000000000..ba22f778bad6
--- /dev/null
+++ b/dev-java/auto-value/auto-value-1.11.0.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Immutable value-type code generation for Java 1.7+"
+HOMEPAGE="https://github.com/google/auto/tree/master/value"
+SRC_URI="https://github.com/google/auto/archive/${P}.tar.gz"
+S="${WORKDIR}/auto-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+CP_DEPEND="
+	>=dev-java/asm-9.8-r1:0
+	dev-java/escapevelocity:0
+	>=dev-java/guava-33.4.8:0
+	dev-java/incap:0
+	dev-java/javapoet:0
+"
+
+DEPEND="
+	${CP_DEPEND}
+	>=dev-java/checker-framework-qual-3.49.5:0
+	>=dev-java/error-prone-annotations-2.41.0:0
+	>=virtual/jdk-1.8:*
+	test? (
+		dev-java/compile-testing:0
+		>=dev-java/guava-testlib-33.4.8:0
+		dev-java/jsr305:0
+		dev-java/truth:0
+	)
+"
+
+RDEPEND="
+	${CP_DEPEND}
+	>=virtual/jre-1.8:*
+"
+
+JAVA_TEST_EXCLUDES=(
+	# No runnable methods
+	com.google.auto.value.extension.serializable.serializer.utils.TestStringSerializerFactory
+
+	# There was 1 failure:
+	# 1) getFactory_extensionsLoaded(com.google.auto.value.extension.serializable.serializer.SerializerFactoryLoaderTest)
+	# value of           : getName()
+	# expected to contain: TestStringSerializerFactory$TestStringSerializer
+	# but was            : com.google.auto.value.extension.serializable.serializer.impl.IdentitySerializerFactory$IdentitySerializer
+	# 	at com.google.auto.value.extension.serializable.serializer.SerializerFactoryLoaderTest.getFactory_extensionsLoaded(SerializerFactoryLoaderTest.java:37)
+	#
+	# FAILURES!!!
+	# Tests run: 403,  Failures: 1
+	#
+	com.google.auto.value.extension.serializable.serializer.SerializerFactoryLoaderTest
+)
+
+JAVA_TEST_GENTOO_CLASSPATH="
+	checker-framework-qual
+	compile-testing
+	escapevelocity
+	guava-testlib
+	incap
+	javapoet
+	jsr305
+	junit-4
+	truth
+"
+
+JAVA_TEST_SRC_DIR="value/src/test/java"
+
+src_prepare() {
+	java-pkg-2_src_prepare
+
+	mkdir -p value/res/META-INF/services && cd $_ || die "mkdir"
+
+	cat > javax.annotation.processing.Processor <<-JAVAX || die
+		com.google.auto.value.extension.memoized.processor.MemoizedValidator
+		com.google.auto.value.extension.toprettystring.processor.ToPrettyStringValidator
+		com.google.auto.value.processor.AutoAnnotationProcessor
+		com.google.auto.value.processor.AutoBuilderProcessor
+		com.google.auto.value.processor.AutoOneOfProcessor
+		com.google.auto.value.processor.AutoValueBuilderProcessor
+		com.google.auto.value.processor.AutoValueProcessor
+	JAVAX
+
+	cat > com.google.auto.value.extension.serializable.serializer.interfaces.SerializerExtension <<-SER || die
+		com.google.auto.value.extension.serializable.serializer.impl.ImmutableListSerializerExtension
+		com.google.auto.value.extension.serializable.serializer.impl.ImmutableMapSerializerExtension
+		com.google.auto.value.extension.serializable.serializer.impl.OptionalSerializerExtension
+	SER
+
+	cat > com.google.auto.value.extension.AutoValueExtension <<-AUTO || die
+		com.google.auto.value.extension.memoized.processor.MemoizeExtension
+		com.google.auto.value.extension.serializable.processor.SerializableAutoValueExtension
+		com.google.auto.value.extension.toprettystring.processor.ToPrettyStringExtension
+	AUTO
+}
+
+src_compile() {
+	local cp="$(java-pkg_getjar asm asm.jar)"
+	cp="${cp}:$(java-pkg_getjars --build-only checker-framework-qual,error-prone-annotations)"
+	cp="${cp}:$(java-pkg_getjars escapevelocity,guava,incap,javapoet)"
+
+	local sources=$(find \
+		common/src/main/java \
+		service/annotations/src/main/java \
+		service/processor/src/main/java \
+		value/src/main/java \
+		-name '*.java') || die "gather sources"
+
+	einfo "compile them all"
+	mkdir -p target/classes || die "mkdir target/classes"	# still needed for openjdk-8
+	ejavac -d target/classes -classpath "${cp}" ${sources[@]}
+
+	use doc && ejavadoc -d target/api -classpath "${cp}" -quiet ${sources[@]}
+
+	einfo "package auto-value-annotations"
+	# according to value/annotations/pom.xml
+	find target/classes/com/google/auto/value \
+		\( ! -path '*/value/*/*' -path '*/value/*.class' \) -o \
+		\( ! -path '*/value/extension/memoized/*/*' -path '*/value/extension/memoized/*.class' \) -o \
+		\( ! -path '*/value/extension/serializable/*/*' -path '*/value/extension/serializable/*.class' \) -o \
+		\( ! -path '*/value/extension/toprettystring/*/*' -path '*/value/extension/toprettystring/*.class' \) |
+		sed -e 's/^/-C /' -e 's/classes\/com/classes com/' > valueannotations || die "valueannotations"
+	jar cf auto-value-annotations.jar @valueannotations || die
+
+	einfo "package auto-value"
+	# according to value/processor/pom.xml
+	find target/classes/com/google/auto \( \
+		-path '*/value/processor/*.class' -o \
+		-path '*/value/extension/memoized/processor/*.class' -o \
+		-path '*/value/extension/serializable/processor/*.class' -o \
+		-path '*/value/extension/serializable/serializer/*.class' -o \
+		-path '*/value/extension/toprettystring/processor/*.class' -o \
+		-path '*/value/extension/AutoValueExtension*.class' \) |
+		sed -e 's/^/-C /' -e 's/classes\/com/classes com/' > autovalue || die "autovalue"
+	find value/src/main/java -path '*/value/processor/*.vm' |
+		sed -e 's/^/-C /' -e 's/java\/com/java com/' >> autovalue || die "add .vm files"
+	jar cf auto-value.jar @autovalue || die
+	jar uvf auto-value.jar -C value/res . || die
+
+	einfo "package auto-common"
+	jar cf auto-common.jar -C target/classes com/google/auto/common || die
+
+	einfo "package auto-service-annotations"
+	jar cf auto-service-annotations.jar -C target/classes com/google/auto/service/AutoService.class || die
+
+	einfo "package auto-service"
+	jar cf auto-service.jar -C target/classes com/google/auto/service/processor || die
+	jar uvf auto-service.jar -C service/processor/src/main/resources META-INF/services || die
+}
+
+src_test() {
+	JAVA_GENTOO_CLASSPATH_EXTRA=":auto-common.jar:auto-service-annotations.jar:auto-value-annotations.jar"
+
+	# java.lang.NoClassDefFoundError: com/google/auto/common/MoreTypes
+	# means 'auto-common.jar' is also needed on processorpath.
+
+	# get processorpath
+	local pp="auto-value.jar:auto-common.jar"
+	pp="${pp}:$(java-pkg_getjars --build-only guava,incap,escapevelocity,javapoet)"
+
+	JAVAC_ARGS="-processorpath ${pp} -parameters"	# '-parameters' for MemoizedTest, pom.xml line 177
+
+	local vm_version="$(java-config -g PROVIDES_VERSION)"
+	if ver_test "${vm_version}" -ge 17; then
+		# pom.xml lines 279-281
+		JAVA_TEST_EXTRA_ARGS=( --add-exports=jdk.compiler/com.sun.tools.javac.{api,file,parser,tree,util}=ALL-UNNAMED)
+	fi
+
+	java-pkg-simple_src_test
+}
+
+src_install() {
+	java-pkg-simple_src_install
+	java-pkg_dojar auto-value-annotations.jar auto-common.jar auto-service-annotations.jar auto-service.jar
+	use doc && docinto html && dodoc -r value/userguide
+}

diff --git a/dev-java/auto-value/metadata.xml b/dev-java/auto-value/metadata.xml
new file mode 100644
index 000000000000..26c9e02a820c
--- /dev/null
+++ b/dev-java/auto-value/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>java@gentoo.org</email>
+	</maintainer>
+	<upstream>
+		<doc>https://github.com/google/auto/blob/main/value/userguide/index.md</doc>
+		<remote-id type="github">google/auto</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/auto-value/
@ 2025-10-03 14:56 Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2025-10-03 14:56 UTC (permalink / raw
  To: gentoo-commits

commit:     2a8efbbb7bb1befcb1e3bc18b4dc24d4696da724
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  3 14:55:55 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct  3 14:55:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a8efbbb

dev-java/auto-value: Keyword 1.11.0 arm64, #963707

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-java/auto-value/auto-value-1.11.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dev-java/auto-value/auto-value-1.11.0.ebuild b/dev-java/auto-value/auto-value-1.11.0.ebuild
index ba22f778bad6..2367ac1826c5 100644
--- a/dev-java/auto-value/auto-value-1.11.0.ebuild
+++ b/dev-java/auto-value/auto-value-1.11.0.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/auto-${P}"
 
 LICENSE="Apache-2.0"
 SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
 
 CP_DEPEND="
 	>=dev-java/asm-9.8-r1:0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/auto-value/
@ 2025-10-18 11:54 Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2025-10-18 11:54 UTC (permalink / raw
  To: gentoo-commits

commit:     1925d2e6a39e22adc25bf5d9da635e24005f1377
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 18 11:53:24 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 18 11:53:24 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1925d2e6

dev-java/auto-value: Stabilize 1.11.0 amd64, #964596

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-java/auto-value/auto-value-1.11.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dev-java/auto-value/auto-value-1.11.0.ebuild b/dev-java/auto-value/auto-value-1.11.0.ebuild
index 2367ac1826c5..e479d0696e5e 100644
--- a/dev-java/auto-value/auto-value-1.11.0.ebuild
+++ b/dev-java/auto-value/auto-value-1.11.0.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/auto-${P}"
 
 LICENSE="Apache-2.0"
 SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
 
 CP_DEPEND="
 	>=dev-java/asm-9.8-r1:0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-10-18 11:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-03 14:56 [gentoo-commits] repo/gentoo:master commit in: dev-java/auto-value/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2025-10-18 11:54 Sam James
2025-10-03  5:07 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox