summaryrefslogtreecommitdiff
path: root/eclass/java-utils-2.eclass
diff options
context:
space:
mode:
authorVolkmar W. Pogatzki <gentoo@pogatzki.net>2023-12-11 21:52:41 +0100
committerMiroslav Šulc <fordfrog@gentoo.org>2024-01-11 10:48:49 +0100
commitcb202546d81ed4e591c366d192e7b15d4c184ffa (patch)
tree90962a876de3665160937414ce9b872b8a1aa071 /eclass/java-utils-2.eclass
parentdd5e874e34b895fe48d1ca863882e9f25f65719a (diff)
downloadgentoo-cb202546d81ed4e591c366d192e7b15d4c184ffa.tar.gz
gentoo-cb202546d81ed4e591c366d192e7b15d4c184ffa.tar.bz2
gentoo-cb202546d81ed4e591c366d192e7b15d4c184ffa.zip
java-utils-2.eclass: enhance ejavadoc
This patch enhances the ejavadoc function so that it can be called without arguments if the JAVADOC_SRC_DIRS array is set in the ebuild. Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'eclass/java-utils-2.eclass')
-rw-r--r--eclass/java-utils-2.eclass24
1 files changed, 21 insertions, 3 deletions
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 814b4957d52c..31f7932a16fd 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2192,9 +2192,27 @@ ejavadoc() {
einfo "javadoc ${javadoc_args} ${@}"
fi
- local args=( javadoc ${javadoc_args} "${@}" )
- echo "${args[@]}" >&2
- "${args[@]}" || die "ejavadoc failed"
+ if [[ "${JAVADOC_SRC_DIRS[@]}" ]]; then
+ mkdir -p target/api || die "cannot create target/api"
+ local dependency
+ for dependency in ${JAVADOC_CLASSPATH}; do
+ classpath="${classpath}:$(java-pkg_getjars \
+ --build-only \
+ --with-dependencies \
+ ${dependency})"
+ done
+ find "${JAVADOC_SRC_DIRS[@]}" -name '*.java' > sources
+ javadoc \
+ "${javadoc_args}" \
+ -d target/api \
+ -cp "${classpath}" \
+ -quiet \
+ @sources || die "ejavadoc failed"
+ else
+ local args=( javadoc ${javadoc_args} "${@}" )
+ echo "${args[@]}" >&2
+ "${args[@]}" || die "ejavadoc failed"
+ fi
}
# @FUNCTION: java-pkg_filter-compiler