This is an automated email from the ASF dual-hosted git repository. dbarnes pushed a commit to branch support/1.14 in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/support/1.14 by this push: new 7b1c13a GEODE-9568: UG build script keep doc after generating it (#6906) 7b1c13a is described below commit 7b1c13a39e8cbdcfd4a49c564cab10687b2d0382 Author: Alberto Bustamante Reyes <albert...@apache.org> AuthorDate: Thu Sep 30 16:57:53 2021 +0200 GEODE-9568: UG build script keep doc after generating it (#6906) * GEODE-9568: UG build script - keep doc after generating it --- dev-tools/docker/docs/Dockerfile | 4 +-- dev-tools/docker/docs/preview-user-guide.sh | 42 ++++++++++++++++++++++------- geode-book/README.md | 20 +++++++++++++- 3 files changed, 53 insertions(+), 13 deletions(-) diff --git a/dev-tools/docker/docs/Dockerfile b/dev-tools/docker/docs/Dockerfile index a1e8dcb..31f841c 100644 --- a/dev-tools/docker/docs/Dockerfile +++ b/dev-tools/docker/docs/Dockerfile @@ -42,7 +42,5 @@ RUN gem install bundler:1.17.3 \ # Install Bookbinder COPY Gemfile Gemfile COPY Gemfile.lock Gemfile.lock -RUN bundle install -COPY geode-book . -COPY geode-docs . +RUN bundle install diff --git a/dev-tools/docker/docs/preview-user-guide.sh b/dev-tools/docker/docs/preview-user-guide.sh index 062ee77..49da6a6 100755 --- a/dev-tools/docker/docs/preview-user-guide.sh +++ b/dev-tools/docker/docs/preview-user-guide.sh @@ -18,20 +18,44 @@ function cleanup { rm Gemfile Gemfile.lock - rm -r geode-book geode-docs } trap cleanup EXIT -set -x -e - -mkdir -p geode-book -mkdir -p geode-docs - +# Gemfile & Gemfile.lock are copied to avoid including the whole +# geode-book folder to the image context cp ../../../geode-book/Gemfile* . -cp -r ../../../geode-book geode-book -cp -r ../../../geode-docs geode-docs docker build -t geodedocs/temp:1.0 . -docker run -it -p 9292:9292 geodedocs/temp:1.0 /bin/bash -c "cd geode-book && bundle exec bookbinder bind local && cd final_app && bundle exec rackup --host=0.0.0.0" +# "geode-book/final_app" and "geode-book/output" are created inside the container, +# so it is necessary to use the current user to avoid these folders owned by +# root user. +GEODE_BOOK="$(pwd)/../../../geode-book" +GEODE_DOCS="$(pwd)/../../../geode-docs" +MY_UID=$(id -u) +MY_GID=$(id -g) +docker run -it -p 9292:9292 --user $MY_UID:$MY_GID \ + --workdir="/home/$USER" \ + --volume="/etc/group:/etc/group:ro" \ + --volume="/etc/passwd:/etc/passwd:ro" \ + --volume="/etc/shadow:/etc/shadow:ro" \ + --volume="${GEODE_BOOK}:/geode-book:rw" \ + --volume="${GEODE_DOCS}:/geode-docs:rw" \ + geodedocs/temp:1.0 /bin/bash -c "cd /geode-book && bundle exec bookbinder bind local && cd final_app && bundle exec rackup --host=0.0.0.0" + +# Bookbinder creates the following links +# <your geode repo>/geode-book/output/master_middleman/source/docs/guide/115 -> /geode-book/output/preprocessing/sections/docs/guide/115 +# <your geode repo>/geode-book/output/preprocessing/sections/docs/guide/115 -> /geode-docs +# +# Following lines fix these wrong symbolic links: +# +ug_version=`ls ${GEODE_BOOK}/final_app/public/docs/guide/` +master_middleman_folder="${GEODE_BOOK}/output/master_middleman/source/docs/guide/${ug_version}" +preprocessing_folder="${GEODE_BOOK}/output/preprocessing/sections/docs/guide/${ug_version}" +rm ${master_middleman_folder} +rm ${preprocessing_folder} + +ln -s ${GEODE_DOCS} ${preprocessing_folder} +ln -s ${preprocessing_folder} ${master_middleman_folder} + diff --git a/geode-book/README.md b/geode-book/README.md index a321cf9..c41a8f6 100644 --- a/geode-book/README.md +++ b/geode-book/README.md @@ -24,7 +24,25 @@ Documentation can be built and previewed using the utility script at `{geode-pro $ cd {geode-project-dir}/dev-tools/docker/docs $ ./preview-user-guide.sh ``` -In a browser, navigate to `http://localhost:9292` to view the user guide. + +Once the script shows it is listening on a local address, you could use a browser to view the user guide on that address. + +For example: +``` +$ ./preview-user-guide.sh +... +... +Puma starting in single mode... +* Version 4.3.8 (ruby 2.5.9-p229), codename: Mysterious Traveller +* Min threads: 0, max threads: 16 +* Environment: development +* Listening on tcp://0.0.0.0:9292 +Use Ctrl-C to stop +``` +You will find the user guide at `0.0.0.0:9292`. + +Files generated by Bookbinder will be at `{geode-project-dir}/geode-book/final_app` + ## Build the User Guide