mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
apidoc build failed in Mac OS because of sed in-place command. It is a minor change that fixed this issue. More information here Fixes: #3247 Fixes: #3312
99 lines
2.4 KiB
Bash
Executable File
99 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env 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.
|
|
|
|
|
|
# cloud-build-api-doc.sh -- builds api documentation.
|
|
#set -x
|
|
#set -u
|
|
ACS_RELEASE="$1"
|
|
shift
|
|
TARGETJARDIR="$1"
|
|
shift
|
|
DEPSDIR="$1"
|
|
shift
|
|
DISTDIR="$1"
|
|
shift
|
|
|
|
canonical_readlink ()
|
|
{
|
|
cd `dirname $1`;
|
|
__filename=`basename $1`;
|
|
if [ -h "$__filename" ]; then
|
|
canonical_readlink `readlink $__filename`;
|
|
else
|
|
echo "`pwd -P`";
|
|
fi
|
|
}
|
|
|
|
thisdir=$(canonical_readlink $0)
|
|
|
|
PATHSEP=':'
|
|
if [[ $OSTYPE == "cygwin" ]] ; then
|
|
PATHSEP=';'
|
|
fi
|
|
|
|
CP=$PATHSEP/
|
|
|
|
java -cp $CP$PATHSEP$TARGETJARDIR$PATHSEP$DEPSDIR com.cloud.api.doc.ApiXmlDocWriter -d "$DISTDIR" $*
|
|
|
|
if [ $? -ne 0 ]
|
|
then
|
|
exit 1
|
|
fi
|
|
|
|
# Default case for Linux sed, just use "-i"
|
|
sedi='-i'
|
|
case "$(uname)" in
|
|
# For macOS, use two parameters
|
|
Darwin*) sedi='-i ""'
|
|
esac
|
|
|
|
# Expand the parameters in the actual call to "sed"
|
|
sed -e 's/foo/bar/' target.file
|
|
|
|
set -e
|
|
(cd "$DISTDIR/xmldoc"
|
|
cp "$thisdir"/*.java .
|
|
cp "$thisdir"/*.xsl .
|
|
sed -e 's,%API_HEADER%,All APIs,g' "$thisdir/generatetoc_header.xsl" >generatetoc.xsl
|
|
sed $sedi "s/%ACS_RELEASE%/${ACS_RELEASE}/g" generatetoc.xsl
|
|
sed $sedi "s/%ACS_RELEASE%/${ACS_RELEASE}/g" generatecommands.xsl
|
|
|
|
PLATFORM=`uname -s`
|
|
if [[ "$PLATFORM" =~ .*WIN.* ]]
|
|
then
|
|
gen_toc_file="`cygpath -w $thisdir`\\gen_toc.py"
|
|
for file in `find . -type f`; do
|
|
echo "Parse file $file";
|
|
python $gen_toc_file $file;
|
|
done
|
|
else
|
|
python "$thisdir/gen_toc.py" $(find . -type f)
|
|
fi
|
|
|
|
cat generatetoc_include.xsl >> generatetoc.xsl
|
|
cat "$thisdir/generatetoc_footer.xsl" >>generatetoc.xsl
|
|
|
|
mkdir -p html/apis
|
|
cp -r "$thisdir/includes" html
|
|
cp -r "$thisdir/images" html
|
|
|
|
javac -cp . *.java
|
|
java -cp . XmlToHtmlConverter
|
|
)
|