blob: 3fc7a3d4668fe354dc1a0b0936ed17fa08b1fe21 [file] [log] [blame]
#!/bin/bash
################################################################################
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
################################################################################
usage() {
echo "Usage: build <env> [dest]."
}
if [ $# -lt 1 ]; then
usage
exit 1
fi
DLOG_ENV=$1
BINDIR=`dirname "$0"`
DLOG_HOME=`cd $BINDIR/.. > /dev/null;pwd`
if [ $# -gt 1 ]; then
DEST_DIR=$2
else
DEST_DIR=${DLOG_HOME}/website
fi
CONTENT_DIR=${DLOG_ENV}_content
TMP_DEST_DIR=${DEST_DIR}/temp_${CONTENT_DIR}
TMP_WEBSITE_DIR=${TMP_DEST_DIR}/website
# build the documents
function build_docs() {
version=$1
tag=$2
DOC_DEST_HOME="${TMP_DEST_DIR}/docs_${version}"
echo "Building the javadoc for version ${version} to ${DOC_DEST_HOME} ..."
# create the api directory
mkdir -p ${DOC_DEST_HOME}/api/java
if [ "$version" == "latest" ]; then
cd ${DLOG_HOME}
# build the javadoc
mvn -DskipTests clean package javadoc:aggregate \
-Ddoctitle="Apache DistributedLog for Java, version ${version}" \
-Dwindowtitle="Apache DistributedLog for Java, version ${version}" \
-Dmaven.javadoc.failOnError=false
# copy the built javadoc
cp -r ${DLOG_HOME}/target/site/apidocs/* ${DOC_DEST_HOME}/api/java
else
rm -rf /tmp/distributedlog-${version}
git clone https://github.com/apache/distributedlog.git /tmp/distributedlog-${version}
cd /tmp/distributedlog-${version}
git checkout $tag
# build the javadoc
mvn -DskipTests clean package javadoc:aggregate \
-Ddoctitle="Apache DistributedLog for Java, version ${version}" \
-Dwindowtitle="Apache DistributedLog for Java, version ${version}" \
-Dnotimestamp \
-Dmaven.javadoc.failOnError=false
# copy the built javadoc
cp -r /tmp/distributedlog-${version}/target/site/apidocs/* ${DOC_DEST_HOME}/api/java
fi
echo "Built the javadoc for version ${version} in ${DOC_DEST_HOME}."
}
copy_docs() {
version=$1
[[ -d ${DEST_DIR}/${CONTENT_DIR}/docs/${version}/api/java ]] && rm -r ${DEST_DIR}/${CONTENT_DIR}/docs/${version}/api/java
mkdir -p ${DEST_DIR}/${CONTENT_DIR}/docs/${version}/api
cp -r ${TMP_DEST_DIR}/docs_${version}/api/java ${DEST_DIR}/${CONTENT_DIR}/docs/${version}/api/java
}
# build the javadoc API
build_docs "latest"
build_docs "0.4.0-incubating" "v0.4.0-incubating_2.11"
build_docs "0.5.0" "v0.5.0"
copy_docs "latest"
copy_docs "0.4.0-incubating"
copy_docs "0.5.0"