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 <[email protected]>
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