Skip to content

Commit 3bd9664

Browse files
committed
Checkout current docs setup from scylla-4.x branch
Main motivation is getting myst parser in, so that documentation builds correctly for this version. Brings several changes that are in scylla-4.x as of commit c85f7b9
1 parent 0adafa7 commit 3bd9664

File tree

9 files changed

+1575
-123
lines changed

9 files changed

+1575
-123
lines changed

docs/Makefile

Lines changed: 56 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,108 @@
11
# You can set these variables from the command line.
2-
POETRY = $(HOME)/.poetry/bin/poetry
3-
SPHINXOPTS =
2+
POETRY = poetry
3+
SPHINXOPTS = -j auto
44
SPHINXBUILD = $(POETRY) run sphinx-build
55
PAPER =
66
BUILDDIR = _build
7-
SOURCE_DIR = _source
7+
SOURCEDIR = _source
88

9-
# Internal variables.
9+
# Internal variables
1010
PAPEROPT_a4 = -D latex_paper_size=a4
1111
PAPEROPT_letter = -D latex_paper_size=letter
12-
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(SOURCE_DIR)
12+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(SOURCEDIR)
1313
TESTSPHINXOPTS = $(ALLSPHINXOPTS) -W --keep-going
14-
15-
# the i18n builder cannot share the environment and doctrees with the others
16-
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
14+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(SOURCEDIR)
1715

1816
.PHONY: all
1917
all: dirhtml
2018

19+
# Setup commands
20+
.PHONY: setupenv
21+
setupenv:
22+
pip install -q poetry
23+
24+
.PHONY: setup
25+
setup:
26+
$(POETRY) install
27+
@if [ ! -d "$(SOURCEDIR)" ]; then mkdir -p "$(SOURCEDIR)"; fi
28+
cp -RL source/* $(SOURCEDIR)
29+
cd $(SOURCEDIR) && find . -name README.md -execdir mv '{}' index.md ';'
30+
31+
.PHONY: update
32+
update:
33+
$(POETRY) update
34+
35+
# Clean commands
2136
.PHONY: pristine
2237
pristine: clean
2338
git clean -dfX
2439

25-
.PHONY: setup
26-
setup:
27-
./_utils/setup.sh
28-
cp -TLr source $(SOURCE_DIR)
29-
cd $(SOURCE_DIR) && find . -name README.md -execdir mv '{}' index.md ';'
3040
.PHONY: clean
3141
clean:
3242
rm -rf $(BUILDDIR)/*
33-
rm -rf $(SOURCE_DIR)/*
34-
35-
.PHONY: preview
36-
preview: setup
37-
cd .. && ./docs/_utils/javadoc.sh
38-
$(POETRY) run sphinx-autobuild -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml --port 5500
43+
rm -rf $(SOURCEDIR)/*
44+
rm -f poetry.lock
3945

46+
# Generate output commands
4047
.PHONY: dirhtml
4148
dirhtml: setup
49+
@$(javadoc)
4250
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
4351
@echo
4452
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
4553

46-
.PHONY: singlehtml
47-
singlehtml: setup
48-
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
54+
.PHONY: javadoc
55+
javadoc: setup
56+
cd .. && ./docs/_utils/javadoc.sh
4957
@echo
5058
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
5159

60+
.PHONY: multiversion
61+
multiversion: setup
62+
$(POETRY) run ./_utils/multiversion.sh
63+
@echo
64+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
65+
5266
.PHONY: epub
53-
epub: setup
67+
epub: setup
5468
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
5569
@echo
5670
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
5771

5872
.PHONY: epub3
59-
epub3: setup
73+
epub3:setup
6074
$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
6175
@echo
6276
@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
6377

6478
.PHONY: dummy
65-
dummy: setup
79+
dummy: setup
6680
$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
6781
@echo
6882
@echo "Build finished. Dummy builder generates no files."
6983

70-
.PHONY: linkcheck
71-
linkcheck: setup
72-
$(SPHINXBUILD) -b linkcheck $(SOURCE_DIR) $(BUILDDIR)/linkcheck
73-
74-
.PHONY: multiversion
75-
multiversion: setup
76-
@mkdir -p $(HOME)/.cache/pypoetry/virtualenvs
77-
$(POETRY) run ./_utils/multiversion.sh
78-
@echo
79-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
84+
# Preview commands
85+
.PHONY: preview
86+
preview: setup
87+
$(POETRY) run sphinx-autobuild -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml --port 5500 --re-ignore 'api/*'
8088

8189
.PHONY: multiversionpreview
8290
multiversionpreview: multiversion
83-
$(POETRY) run python3 -m http.server 5500 --directory $(BUILDDIR)/dirhtml
91+
$(POETRY) run python -m http.server 5500 --directory $(BUILDDIR)/dirhtml
92+
93+
.PHONY: redirects
94+
redirects: setup
95+
$(POETRY) run redirects-cli fromfile --yaml-file _utils/redirects.yaml --output-dir $(BUILDDIR)/dirhtml
96+
@echo
97+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
8498

99+
# Test commands
85100
.PHONY: test
86101
test: setup
87102
$(SPHINXBUILD) -b dirhtml $(TESTSPHINXOPTS) $(BUILDDIR)/dirhtml
88103
@echo
89-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
104+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
105+
106+
.PHONY: linkcheck
107+
linkcheck: setup
108+
$(SPHINXBUILD) -b linkcheck $(SOURCEDIR) $(BUILDDIR)/linkcheck

docs/_utils/deploy.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
3+
# Copy contents
4+
mkdir gh-pages
5+
cp -r ./docs/_build/dirhtml/. gh-pages
6+
7+
# Create gh-pages branch
8+
cd gh-pages
9+
git init
10+
git config --local user.email "[email protected]"
11+
git config --local user.name "GitHub Action"
12+
git remote add origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
13+
git checkout -b gh-pages
14+
15+
# Deploy
16+
git add .
17+
git commit -m "Publish docs" || true
18+
git push origin gh-pages --force

docs/_utils/javadoc.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
# Install dependencies
4-
mvn install -DskipTests
4+
mvn install -DskipTests -T 1C
55

66
# Define output folder
77
OUTPUT_DIR="docs/_build/dirhtml/api"
@@ -11,7 +11,7 @@ if [[ "$SPHINX_MULTIVERSION_OUTPUTDIR" != "" ]]; then
1111
fi
1212

1313
# Generate javadoc
14-
mvn javadoc:javadoc
14+
mvn javadoc:javadoc -T 1C
1515
[ -d $OUTPUT_DIR ] && rm -r $OUTPUT_DIR
1616
mkdir -p "$OUTPUT_DIR"
17-
mv -f core/target/site/apidocs/* $OUTPUT_DIR
17+
mv -f driver-core/target/site/apidocs/* $OUTPUT_DIR

docs/_utils/multiversion.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#! /bin/bash
22

33
cd .. && sphinx-multiversion docs/source docs/_build/dirhtml \
4-
--pre-build './docs/_utils/javadoc.sh' \
5-
--pre-build "find . -mindepth 2 -name README.md -execdir mv '{}' index.md ';'"
4+
--pre-build "find . -mindepth 2 -name README.md -execdir mv '{}' index.md ';'" \
5+
--post-build './docs/_utils/javadoc.sh'

docs/_utils/redirects.yaml

Whitespace-only changes.

0 commit comments

Comments
 (0)