summaryrefslogtreecommitdiff
path: root/dev-java/auto-value
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/auto-value')
-rw-r--r--dev-java/auto-value/Manifest1
-rw-r--r--dev-java/auto-value/auto-value-1.11.1.ebuild185
2 files changed, 186 insertions, 0 deletions
diff --git a/dev-java/auto-value/Manifest b/dev-java/auto-value/Manifest
index 1a5f82be4e06..d0d175b7e4ad 100644
--- a/dev-java/auto-value/Manifest
+++ b/dev-java/auto-value/Manifest
@@ -1 +1,2 @@
DIST auto-value-1.11.0.tar.gz 434518 BLAKE2B 6553802cb805e7c1c8f5dcfe4ad4624405788c97758e69f6b502f2bc9f189e4e8e9111de5f01c6c6b65963c4c1cd8be3d6c5725ea2ca70000e1bfe14746f5219 SHA512 1b0b129c7258cb8c5829faa0abb2665b17481bdb971c57e1eab35a130524520281355ddbbaa2cbb6ff8ac26744fb4fb36882de5eea6b74a4bb243d17b5ff6bba
+DIST auto-value-1.11.1.tar.gz 435934 BLAKE2B d5ebc9c412b94b3b8e624075216321cbcd8f925244fd86d5d434d213919f1765df8bd6fe9dee1b6622ce9a40980b24a83affa72c404006d9d02bd6c5a31268f7 SHA512 00ffea34d5cd30f0c1dd7b146a36987407a6e222a03caacf9a2f1c07aab74492a6606323a6143049d1c5ae934dacb5501d773af51e80978225664391117eee84
diff --git a/dev-java/auto-value/auto-value-1.11.1.ebuild b/dev-java/auto-value/auto-value-1.11.1.ebuild
new file mode 100644
index 000000000000..339fc50d2257
--- /dev/null
+++ b/dev-java/auto-value/auto-value-1.11.1.ebuild
@@ -0,0 +1,185 @@
+# 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 ~arm64"
+
+CP_DEPEND="
+ >=dev-java/asm-9.9:0
+ >=dev-java/escapevelocity-1.1:0
+ >=dev-java/guava-33.5.0:0
+ >=dev-java/incap-1.0.0:0
+ dev-java/javapoet:0
+ >=dev-java/jspecify-1.0.0:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=dev-java/checker-framework-qual-3.52.0:0
+ >=dev-java/error-prone-annotations-2.45.0:0
+ >=virtual/jdk-1.8:*
+ test? (
+ >=dev-java/compile-testing-0.23.0:0
+ >=dev-java/guava-testlib-33.5.0:0
+ >=dev-java/jsr305-3.0.2-r1:0
+ >=dev-java/truth-1.4.5: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,jspecify)"
+
+ find \
+ common/src/main/java \
+ service/annotations/src/main/java \
+ service/processor/src/main/java \
+ value/src/main/java \
+ -name '*.java' > sources.lst || 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.lst
+
+ use doc && ejavadoc -d target/api -classpath "${cp}" -quiet @sources.lst
+
+ 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
+}