|  | #!/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 | 
|  | 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/ | 
|  |  | 
|  | for file in $TARGETJARDIR/*.jar | 
|  | do | 
|  | CP=${CP}$PATHSEP$file | 
|  | done | 
|  |  | 
|  | for file in $DEPSDIR/*.jar; do | 
|  | CP=${CP}$PATHSEP$file | 
|  | done | 
|  |  | 
|  | java -cp $CP com.cloud.api.doc.ApiXmlDocWriter -d "$DISTDIR" $* | 
|  |  | 
|  | if [ $? -ne 0 ] | 
|  | then | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | set -e | 
|  | (cd "$DISTDIR/xmldoc" | 
|  | cp "$thisdir"/*.java . | 
|  | cp "$thisdir"/*.xsl . | 
|  | sed -e 's,%API_HEADER%,User API,g' "$thisdir/generatetoc_header.xsl" >generatetocforuser.xsl | 
|  | sed -e 's,%API_HEADER%,Root Admin API,g' "$thisdir/generatetoc_header.xsl" >generatetocforadmin.xsl | 
|  | sed -e 's,%API_HEADER%,Domain Admin API,g' "$thisdir/generatetoc_header.xsl" >generatetocfordomainadmin.xsl | 
|  |  | 
|  | python "$thisdir/gen_toc.py" $(find . -type f) | 
|  |  | 
|  | cat generatetocforuser_include.xsl >>generatetocforuser.xsl | 
|  | cat generatetocforadmin_include.xsl >>generatetocforadmin.xsl | 
|  | cat generatetocfordomainadmin_include.xsl >>generatetocfordomainadmin.xsl | 
|  |  | 
|  | cat "$thisdir/generatetoc_footer.xsl" >>generatetocforuser.xsl | 
|  | cat "$thisdir/generatetoc_footer.xsl" >>generatetocforadmin.xsl | 
|  | cat "$thisdir/generatetoc_footer.xsl" >>generatetocfordomainadmin.xsl | 
|  |  | 
|  | mkdir -p html/user html/domain_admin html/root_admin | 
|  | cp -r "$thisdir/includes" html | 
|  | cp -r "$thisdir/images" html | 
|  |  | 
|  | javac -cp . *.java | 
|  | java -cp . XmlToHtmlConverter | 
|  | ) |