* [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