View Raw Ebuild
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MAVEN_ID="com.fasterxml.jackson.module:${PN}:${PV}"
JAVA_PKG_IUSE="doc source test binary"
JAVA_TESTING_FRAMEWORKS="junit-4 pkgdiff"
inherit java-pkg-2 java-pkg-simple
MY_PN="jackson-modules-base"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Jackson extension module for creator method names detection with Paranamer"
HOMEPAGE="https://github.com/FasterXML/jackson-modules-base/blob/HEAD/paranamer"
SRC_URI="
https://github.com/FasterXML/${MY_PN}/archive/refs/tags/${MY_P}.tar.gz
https://repo1.maven.org/maven2/com/fasterxml/jackson/module/${PN}/${PV}/${P}.jar -> ${P}-bin.jar
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
CP_DEPEND="
>=dev-java/jackson-databind-${PV}:0
>=dev-java/paranamer-2.8:0
"
BDEPEND="
app-arch/unzip
"
DEPEND="
>=virtual/jdk-1.8:*
!binary? (
${CP_DEPEND}
)
test? (
${CP_DEPEND}
>=dev-java/jackson-annotations-${PV}:2
)
"
RDEPEND="
>=virtual/jre-1.8:*
${CP_DEPEND}
"
S="${WORKDIR}/${MY_PN}-${MY_P}/paranamer"
JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS=( "src/main/resources" )
JAVA_BINJAR_FILENAME="${P}-bin.jar"
JAVA_TEST_GENTOO_CLASSPATH="junit-4,jackson-annotations-2"
JAVA_TEST_SRC_DIR="src/test/java"
# Variable debugging information is required for tests to pass
# Reference:
# https://github.com/FasterXML/jackson-modules-base/blob/jackson-modules-base-2.13.0/paranamer/pom.xml#L74
JAVAC_ARGS="-g:vars"
src_prepare() {
java-pkg-2_src_prepare
sed -e 's:@package@:com.fasterxml.jackson.module.paranamer:g' \
-e "s:@projectversion@:${PV}:g" \
-e 's:@projectgroupid@:com.fasterxml.jackson.module:g' \
-e "s:@projectartifactid@:${PN}:g" \
"${JAVA_SRC_DIR}/com/fasterxml/jackson/module/paranamer/PackageVersion.java.in" \
> "${JAVA_SRC_DIR}/com/fasterxml/jackson/module/paranamer/PackageVersion.java" || die
}
src_test() {
pushd "${JAVA_TEST_SRC_DIR}" > /dev/null ||
die "Failed to enter test sources directory"
JAVA_TEST_EXCLUDES=(
# Upstream keeps failing tests in a dedicated Java package
$(find com/fasterxml/jackson/module/paranamer/failing -name "*.java" |
sed -e "s/.java\$//" | sed -e "s/\//./g")
)
popd > /dev/null || die "Failed to exit test sources directory"
# When building from source, pkgdiff tests fail because upstream relocates
# Paranamer with Maven and bundles it in the JAR it ships
use binary || local JAVA_TESTING_FRAMEWORKS="junit-4"
java-pkg-simple_src_test
}
src_install() {
java-pkg-simple_src_install
dodoc README.md release-notes/{CREDITS,VERSION}
}