apisix/autodocs/generate.sh
2022-03-02 11:19:50 +08:00

52 lines
1.7 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.
#
set -ex
# workdir is the root of the apisix, use command: autodocs/generate.sh build to generate the docs,
# and the output will be in the workdir/autodocs/output/ directory.
build() {
# install dependencies
apt-get -y update --fix-missing
apt-get -y install lua5.1 liblua5.1-0-dev
curl https://raw.githubusercontent.com/apache/apisix/master/utils/linux-install-luarocks.sh -sL | bash -
luarocks install ldoc
# generate docs
rm -rf autodocs/output || true
mkdir autodocs/output || true
cd autodocs/output
find ../../apisix/core -name "*.lua" -type f -exec ldoc -c ../config.ld {} \;
# generate the markdown files' name
rm ../md_files_name.txt || true
output="./"
mds=$(ls $output)
for md in $mds
do
echo $md >> ../md_files_name.txt
done
}
case_opt=$1
case $case_opt in
(build)
build
;;
esac