You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by mc...@apache.org on 2019/01/07 06:50:02 UTC
cassandra git commit: Prevent building website without nodetool docs
Repository: cassandra
Updated Branches:
refs/heads/trunk 77125b76c -> c68b0fec6
Prevent building website without nodetool docs
Patch by Joey Lynch; reviewed by Mick Semb Wever for CASSANDRA-14955
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c68b0fec
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c68b0fec
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c68b0fec
Branch: refs/heads/trunk
Commit: c68b0fec6f7034aa74e64abd9859ee1d481b4f62
Parents: 77125b7
Author: Mick Semb Wever <mc...@apache.org>
Authored: Mon Jan 7 17:49:32 2019 +1100
Committer: Mick Semb Wever <mc...@apache.org>
Committed: Mon Jan 7 17:49:32 2019 +1100
----------------------------------------------------------------------
doc/gen-nodetool-docs.py | 31 ++++++++++++++++++++-----------
1 file changed, 20 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/c68b0fec/doc/gen-nodetool-docs.py
----------------------------------------------------------------------
diff --git a/doc/gen-nodetool-docs.py b/doc/gen-nodetool-docs.py
index e3862f7..2ea125a 100644
--- a/doc/gen-nodetool-docs.py
+++ b/doc/gen-nodetool-docs.py
@@ -13,33 +13,42 @@
# 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.
-
"""
A script to use nodetool to generate documentation for nodetool
"""
+from __future__ import print_function
import os
import re
import subprocess
-from subprocess import PIPE, Popen
+from subprocess import PIPE
+from subprocess import Popen
+
nodetool = "../bin/nodetool"
outdir = "source/tools/nodetool"
helpfilename = outdir + "/nodetool.txt"
command_re = re.compile("( )([_a-z]+)")
-commandRSTContent = ".. _nodetool_{0}:\n\n{0}\n-------\n\nUsage\n---------\n\n.. include:: {0}.txt\n :literal:\n\n"
+commandRSTContent = ".. _nodetool_{0}:\n\n{0}\n{1}\n\nUsage\n---------\n\n.. include:: {0}.txt\n :literal:\n\n"
# create the documentation directory
if not os.path.exists(outdir):
os.makedirs(outdir)
# create the base help file to use for discovering the commands
-def createHelpfile():
- with open(helpfilename, "w+") as file:
- subprocess.call([nodetool, "help"], stdout=file)
+def create_help_file():
+ with open(helpfilename, "w+") as output_file:
+ try:
+ subprocess.check_call([nodetool, "help"], stdout=output_file)
+ except subprocess.CalledProcessError as cpe:
+ print(
+ 'ERROR: Nodetool failed to run, you likely need to build '
+ 'cassandra using ant jar from the top level directory'
+ )
+ raise cpe
# for a given command, create the help file and an RST file to contain it
-def createRST(command):
+def create_rst(command):
if command:
cmdName = command.group(0).strip()
cmdFilename = outdir + "/" + cmdName + ".txt"
@@ -49,15 +58,15 @@ def createRST(command):
(out, err) = proc.communicate()
cmdFile.write(out)
with open(rstFilename, "w+") as rstFile:
- rstFile.write(commandRSTContent.format(cmdName))
+ rstFile.write(commandRSTContent.format(cmdName, '-' * len(cmdName)))
# create base file
-createHelpfile()
+create_help_file()
# create the main usage page
with open(outdir + "/nodetool.rst", "w+") as output:
with open(helpfilename, "r+") as helpfile:
- output.write(".. _nodetool\n\nNodetool\n-------\n\nUsage\n---------\n\n")
+ output.write(".. _nodetool\n\nNodetool\n--------\n\nUsage\n---------\n\n")
for commandLine in helpfile:
command = command_re.sub(r'\n\1:doc:`\2` - ',commandLine)
output.write(command)
@@ -66,4 +75,4 @@ with open(outdir + "/nodetool.rst", "w+") as output:
with open(helpfilename, "rw+") as helpfile:
for commandLine in helpfile:
command = command_re.match(commandLine)
- createRST(command)
+ create_rst(command)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org