View Raw Ebuild
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="org.apache.zookeeper:${PN}:${PV}"
inherit java-pkg-2 java-ant-2
DESCRIPTION="Server which enables highly reliable distributed coordination"
HOMEPAGE="https://zookeeper.apache.org/"
SRC_URI="https://archive.apache.org/dist/zookeeper/${P}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
# Missing test dependencies:
# - org.apache.directory.api.ldap.schemaextractor
# - org.apache.directory.api.ldap.schemaloader
# - org.apache.directory.api.ldap.schemamanager
# - org.apache.directory.server.constants
# - org.apache.directory.server.core
# - org.apache.directory.server.kerberos
# - org.apache.directory.server.protocol
# - org.apache.directory.server.xdbm
# - org.apache.kerby
RESTRICT="test"
CP_DEPEND="
>=dev-java/audience-annotations-0.5.0:0
dev-java/jline:0
dev-java/log4j-12-api:2
>=dev-java/netty-3.10.6:0
>=dev-java/slf4j-api-1.7.28:0
>=dev-java/spotbugs-annotations-3.1.9:0
"
DEPEND="
>=virtual/jdk-1.8:*
${CP_DEPEND}
test? (
dev-java/junit:4
dev-java/apacheds-kerberos-codec:0
dev-java/api-ldap-model:0
dev-java/commons-collections:0
dev-java/commons-io:1
dev-java/commons-lang:2.1
dev-java/hamcrest-library:1.3
dev-java/mockito:0
)
"
RDEPEND="
>=virtual/jre-1.8:*
${CP_DEPEND}
"
JAVA_ANT_REWRITE_CLASSPATH="true"
EANT_TEST_GENTOO_CLASSPATH="apacheds-kerberos-codec,api-ldap-model"
EANT_TEST_GENTOO_CLASSPATH+=",commons-collections,commons-io-1"
EANT_TEST_GENTOO_CLASSPATH+=",commons-lang-2.1,hamcrest-library-1.3,mockito"
# Some dependencies in CP_DEPEND and transitive dependencies used by the tests
# need to be explicitly listed to avoid "package does not exist" errors
EANT_TEST_GENTOO_CLASSPATH+=",log4j-12-api-2,netty,slf4j-api"
src_prepare() {
java-pkg_clean
eapply "${FILESDIR}/${P}-skip-ivy.patch"
eapply "${FILESDIR}/${P}-log4j-12-api.patch"
eapply "${FILESDIR}/${P}-javadoc-doclet.patch"
java-pkg-2_src_prepare
}
src_test() {
java-pkg-2_src_test
}
src_install() {
java-pkg_newjar "build/${P}.jar" "${PN}.jar"
use doc && java-pkg_dojavadoc build/docs/api
use source && java-pkg_dosrc zookeeper-server/src/main/java/*
}