#!/bin/bash ## -- FILE ------------------------------------------------------------------ ## name : bordercastle-javadoc.sh ## project : BoarderZone: BorderCastle ## created : Leon Poyyayil - 2020-05-01 ## language : Linux shell script ## environment: GNU bash ## copyright : (c) 1990-2025 by Leon Poyyayil (private), Switzerland ## license : Bouncy Castle License. see LICENSE ## -------------------------------------------------------------------------- SCRIPT_DIR="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" MAIN_DIR=$(readlink -f $( dirname "$SCRIPT_DIR") ) pushd $MAIN_DIR > /dev/null . bordercastle.conf pushd $DIST_DIR > /dev/null echo "- collecting source code" mkdir -p tmp/src cd tmp/src for TARGET in light mail pg pkix prov tls util do echo " - boca-$TARGET" cp -r ../../../boca-$TARGET/src/main/java/* . cp -r ../../../boca-$TARGET/src/main/javadoc/* . done echo "- removing unused/unneeded classes" rm -rf org/bordercastle/cert/dane/fetcher rm -rf org/bordercastle/crypto/examples rm -rf org/bordercastle/mail/smime/examples rm -rf org/bordercastle/openpgp/examples rm org/bordercastle/jce/provider/X509LDAPCertStoreSpi.java rm org/bordercastle/jce/provider/X509StoreLDAP*.java rm -rf org/bordercastle/util/test rm org/bordercastle/x509/util/LDAPStoreHelper.java cd .. # avoid javadoc warning: Multiple sources of package comments found for package "org.bordercastle.xxx" echo "- removing duplicate package info sources" for PKG_INFO in $(find src -name package-info.java) do PKG_DIR=$(dirname $PKG_INFO) PKG_HTML="$PKG_DIR/package.html" if [[ -f "$PKG_HTML" ]]; then rm "$PKG_HTML" fi done echo "- preparing classpath" CLASSPATH=$JAVA_CLASSPATH echo "- preparing output directory" mkdir api echo "- preparing javadoc options" TITLE="BorderCastle $BC_VER" echo "-sourcepath src" > opts.txt echo "-d api" >> opts.txt echo "-classpath $CLASSPATH" >> opts.txt echo "-protected" >> opts.txt echo "-splitindex" >> opts.txt echo "-nosince" >> opts.txt echo "-notimestamp" >> opts.txt echo "-notree" >> opts.txt echo "-nohelp" >> opts.txt echo "-nodeprecatedlist" >> opts.txt echo "-encoding UTF8" >> opts.txt echo "-quiet" >> opts.txt echo "-Xdoclint:-missing" >> opts.txt echo "-Xdoclint:-html" >> opts.txt echo "-windowtitle '$TITLE'" >> opts.txt echo "-header '$TITLE'" >> opts.txt echo "-footer '$TITLE'" >> opts.txt echo "- listing source code to document" find src -name *.java >> opts.txt echo "- generating javadoc" javadoc @opts.txt echo "- packing javadoc" cd api jar cfM ../../bordercastle-jce-javadoc.zip * cd .. echo "- cleaning up" cd .. rm -rf tmp popd > /dev/null popd > /dev/null ## -- EOF -------------------------------------------------------------------