diff --git a/docs/source/Dockerfile.luadoc b/docs/source/Dockerfile.luadoc deleted file mode 100644 index 4917a0a738..0000000000 --- a/docs/source/Dockerfile.luadoc +++ /dev/null @@ -1,31 +0,0 @@ -FROM ubuntu:22.04 - -RUN apt update && \ - apt install -y make gcc libreadline-dev wget unzip git zip && \ - rm -rf /var/lib/apt/lists/* - -ADD https://www.lua.org/ftp/lua-5.1.5.tar.gz /tmp/lua-5.1.5.tar.gz -RUN tar -zxf /tmp/lua-5.1.5.tar.gz -C /tmp && rm /tmp/lua-5.1.5.tar.gz -RUN cd /tmp/lua-5.1.5 && \ - make linux -j $(nproc) && \ - make install && \ - rm -r /tmp/lua-5.1.5 - -ADD https://luarocks.org/releases/luarocks-2.4.2.tar.gz /tmp/luarocks-2.4.2.tar.gz -RUN tar -zxpf /tmp/luarocks-2.4.2.tar.gz -C /tmp && rm /tmp/luarocks-2.4.2.tar.gz -RUN cd /tmp/luarocks-2.4.2 && \ - ./configure && \ - make build -j $(nproc) && \ - make install && \ - rm -r /tmp/luarocks-2.4.2 - -ADD https://gitlab.com/ptmikheev/openmw-luadocumentor/-/raw/master/luarocks/openmwluadocumentor-0.1.1-1.rockspec /tmp/openmwluadocumentor-0.1.1-1.rockspec -RUN cd /tmp && \ - luarocks pack openmwluadocumentor-0.1.1-1.rockspec && \ - luarocks install openmwluadocumentor-0.1.1-1.src.rock && \ - rm /tmp/openmwluadocumentor-0.1.1-1.rockspec /tmp/openmwluadocumentor-0.1.1-1.src.rock - -VOLUME /openmw - -ENV DOCS_SOURCE_DIR=/openmw/docs/source -ENV DOCUMENTOR_PATH=/usr/local/bin/openmwluadocumentor diff --git a/docs/source/README.md b/docs/source/README.md deleted file mode 100644 index a01803951e..0000000000 --- a/docs/source/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Source files for OpenMW documentation - -## Generating Lua scripting API reference - -### Building Docker image - -Run following command from OpenMW source directory to build a new Docker image `openmw.luadoc`: -```bash -docker build -f docs/source/Dockerfile.luadoc -t openmw.luadoc docs/source -``` - -### Generating HTML - -Run following command from OpenMW source directory to generate HTML pages: -```bash -docker run --rm --tty --interactive --user "$(id -u)":"$(id -g)" \ - --volume "${PWD}":/openmw openmw.luadoc /openmw/docs/source/generate_luadoc.sh -``` diff --git a/docs/source/conf.py b/docs/source/conf.py index 7fe1262eda..7f2affbb75 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -151,11 +151,7 @@ def setup(app): app.add_stylesheet('figures.css') app.add_stylesheet('luadoc.css') try: - # Assume we need to setup openmw-luadocumentor only when running this script in a Docker container because - # readthedocs pipeline runs there. - if os.path.exists('/.dockerenv'): - subprocess.check_call(os.path.join(project_root, 'docs/source/setup_openmw_luadocumentor.sh')) - subprocess.check_call(os.path.join(project_root, 'docs/source/generate_luadoc.sh')) + subprocess.call(project_root + '/docs/source/generate_luadoc.sh') except Exception as e: print('Can\'t generate Lua API documentation:', e) diff --git a/docs/source/generate_luadoc.sh b/docs/source/generate_luadoc.sh index 4f0cb4b947..f71e3110cb 100755 --- a/docs/source/generate_luadoc.sh +++ b/docs/source/generate_luadoc.sh @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash # How to install openmwluadocumentor: @@ -20,31 +20,52 @@ # open "Git Bash" in the same directory and run script: # ./generate_luadoc.sh -if [[ -z "${DOCS_SOURCE_DIR+x}" ]]; then - DOCS_SOURCE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +if [ -f /.dockerenv ]; then + # We are inside readthedocs pipeline + echo "Install lua 5.1" + cd ~ + curl -R -O https://www.lua.org/ftp/lua-5.1.5.tar.gz + tar -zxf lua-5.1.5.tar.gz + cd lua-5.1.5/ + make linux + PATH=$PATH:~/lua-5.1.5/src + + echo "Install luarocks" + cd ~ + wget https://luarocks.org/releases/luarocks-2.4.2.tar.gz + tar zxpf luarocks-2.4.2.tar.gz + cd luarocks-2.4.2/ + ./configure --with-lua-bin=$HOME/lua-5.1.5/src --with-lua-include=$HOME/lua-5.1.5/src --prefix=$HOME/luarocks + make build + make install + PATH=$PATH:~/luarocks/bin + + echo "Install openmwluadocumentor" + cd ~ + git clone https://gitlab.com/ptmikheev/openmw-luadocumentor.git + cd openmw-luadocumentor/luarocks + luarocks --local pack openmwluadocumentor-0.1.1-1.rockspec + luarocks --local install openmwluadocumentor-0.1.1-1.src.rock fi -FILES_DIR="${DOCS_SOURCE_DIR:?}/../../files" -OUTPUT_DIR="${DOCS_SOURCE_DIR:?}/reference/lua-scripting/generated_html" +DOCS_SOURCE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +FILES_DIR=$DOCS_SOURCE_DIR/../../files +OUTPUT_DIR=$DOCS_SOURCE_DIR/reference/lua-scripting/generated_html +DOCUMENTOR_PATH=~/.luarocks/bin/openmwluadocumentor -if [[ -z "${DOCUMENTOR_PATH+x}" ]]; then - DOCUMENTOR_PATH=~/.luarocks/bin/openmwluadocumentor +if [ ! -x $DOCUMENTOR_PATH ]; then + # running on Windows? + DOCUMENTOR_PATH="$APPDATA/LuaRocks/bin/openmwluadocumentor.bat" fi -if [ ! -x "${DOCUMENTOR_PATH:?}" ]; then - # running on Windows? - DOCUMENTOR_PATH="${APPDATA:?}/LuaRocks/bin/openmwluadocumentor.bat" -fi +rm -f $OUTPUT_DIR/*.html -rm -rf "${OUTPUT_DIR:?}" -mkdir "${OUTPUT_DIR:?}" +cd $FILES_DIR/lua_api +$DOCUMENTOR_PATH -f doc -d $OUTPUT_DIR openmw/*lua -cd "${FILES_DIR:?}/lua_api" -"${DOCUMENTOR_PATH:?}" -f doc -d "${OUTPUT_DIR:?}" openmw/*lua - -cd "${FILES_DIR:?}/data" -"${DOCUMENTOR_PATH:?}" -f doc -d "${OUTPUT_DIR:?}" openmw_aux/*lua -"${DOCUMENTOR_PATH:?}" -f doc -d "${OUTPUT_DIR:?}" scripts/omw/ai.lua -"${DOCUMENTOR_PATH:?}" -f doc -d "${OUTPUT_DIR:?}" scripts/omw/camera/camera.lua -"${DOCUMENTOR_PATH:?}" -f doc -d "${OUTPUT_DIR:?}" scripts/omw/mwui/init.lua -"${DOCUMENTOR_PATH:?}" -f doc -d "${OUTPUT_DIR:?}" scripts/omw/settings/player.lua +cd $FILES_DIR/data +$DOCUMENTOR_PATH -f doc -d $OUTPUT_DIR openmw_aux/*lua +$DOCUMENTOR_PATH -f doc -d $OUTPUT_DIR scripts/omw/ai.lua +$DOCUMENTOR_PATH -f doc -d $OUTPUT_DIR scripts/omw/camera/camera.lua +$DOCUMENTOR_PATH -f doc -d $OUTPUT_DIR scripts/omw/mwui/init.lua +$DOCUMENTOR_PATH -f doc -d $OUTPUT_DIR scripts/omw/settings/player.lua diff --git a/docs/source/setup_openmw_luadocumentor.sh b/docs/source/setup_openmw_luadocumentor.sh deleted file mode 100755 index 5e7ec045fb..0000000000 --- a/docs/source/setup_openmw_luadocumentor.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -e - -echo "Install lua 5.1" -cd ~ -curl -R -O https://www.lua.org/ftp/lua-5.1.5.tar.gz -tar -zxf lua-5.1.5.tar.gz -cd lua-5.1.5/ -make -j $(nproc) linux -PATH="${PATH:?}:~/lua-5.1.5/src" - -echo "Install luarocks" -cd ~ -wget https://luarocks.org/releases/luarocks-2.4.2.tar.gz -tar zxpf luarocks-2.4.2.tar.gz -cd luarocks-2.4.2/ -./configure --with-lua-bin="${HOME:?}/lua-5.1.5/src" --with-lua-include="${HOME:?}/lua-5.1.5/src" --prefix="${HOME:?}/luarocks" -make -j $(nproc) build -make -j $(nproc) install -PATH="${PATH:?}:~/luarocks/bin" - -echo "Install openmwluadocumentor" -cd ~ -git clone --depth 1 https://gitlab.com/ptmikheev/openmw-luadocumentor.git -cd openmw-luadocumentor/luarocks -luarocks --local pack openmwluadocumentor-0.1.1-1.rockspec -luarocks --local install openmwluadocumentor-0.1.1-1.src.rock