From 72fd957448d72f376c6324d3dcc437d60a0acab3 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 7 Jan 2014 19:43:59 +0100 Subject: [PATCH] Setup for openstack-doc-tools Setup repository so that we can gate using the openstack-doc-tools tools. Update documentation with details. Change-Id: Iabc97bfd071d6d637d4b5cf83f34ff9852dfa62c --- .gitignore | 9 ++++++ README.rst | 71 +++++++++++++++++++++++++++++++++++++++++-- test-requirements.txt | 1 + tox.ini | 27 ++++++++++++++++ 4 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 test-requirements.txt create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore index 4fc15c0..c953adf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,15 @@ .DS_Store? + +# Build results target/ # NetBeans user-specific build actions nbactions.xml +# Testenvironment +.tox + +# Editors +*~ +.*.swp +.bak diff --git a/README.rst b/README.rst index 472274c..a8aaf42 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,74 @@ -This repository contains the RESTful API information for the OpenStack Object Storage Service, also known as Swift. The Swift project provides services for object storage and retrieval as well as assigning metadata. +Object Storage API +++++++++++++++++++ + +This repository contains the RESTful API information for the OpenStack +Object Storage Service, also known as Swift. The Swift project +provides services for object storage and retrieval as well as +assigning metadata. + +Prerequisites +============= +`Apache Maven `_ must be installed to build the +documentation. + +To install Maven 3 for Ubuntu 12.04 and later,and Debian wheezy and later:: + + apt-get install maven + +On Fedora 15 and later:: + + yum install maven3 + +Building +======== + +The manual is in the ``openstack-object-storage-dev`` directory. + +To build a specific guide, look for a ``pom.xml`` file within a subdirectory, +then run the ``mvn`` command in that directory. For example:: + + cd openstack-object-storage-dev + mvn clean generate-sources + +The generated PDF documentation file is:: + + openstack-object-storage-dev/target/docbkx/webhelp/api/openstack-object-storage/1.0/os-objectstorage-devguide-1.0.pdf + +The root of the generated HTML documentation is:: + + openstack-object-storage-dev/target/docbkx/webhelp/api/openstack-object-storage/1.0/content/index.html + +Testing of changes and building of the manual +============================================= + +Install the python tox package and run ``tox`` from the top-level +directory to use the same tests that are done as part of our Jenkins +gating jobs. + +If you like to run individual tests, run: +* ``tox -e checkniceness`` - to run the niceness tests +* ``tox -e checksyntax`` - to run syntax checks +* ``tox -e checkdeletions`` - to check that no deleted files are referenced +* ``tox -e checkbuild`` - to actually build the manual + +tox will use the `openstack-doc-tools package +`_ for execution of +these tests. openstack-doc-tools has a requirement on maven for the +build check. Contributing ============ -Our community welcomes all people interested in open source cloud computing, and there are no formal membership requirements. The best way to join the community is to talk with others online or at a meetup and offer contributions through Launchpad, the OpenStack wiki, or blogs. We welcome all types of contributions, from blueprint designs to documentation to testing to deployment scripts. + +Our community welcomes all people interested in open source cloud +computing, and there are no formal membership requirements. The best +way to join the community is to talk with others online or at a meetup +and offer contributions through Launchpad, the OpenStack wiki, or +blogs. We welcome all types of contributions, from blueprint designs +to documentation to testing to deployment scripts. Installing ========== -Refer to http://swift.openstack.org to learn more about installing an OpenStack Object Storage server that can respond to these API commands. \ No newline at end of file + +Refer to http://swift.openstack.org to learn more about installing an +OpenStack Object Storage server that can respond to these API +commands. diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..5090e85 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1 @@ +openstack-doc-tools diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..7ebe193 --- /dev/null +++ b/tox.ini @@ -0,0 +1,27 @@ +[tox] +minversion = 1.6 +envlist = checkniceness,checksyntax,checkdeletions,checkbuild +skipsdist = True + +[testenv] +setenv = + VIRTUAL_ENV={envdir} + LANG=en_US.UTF-8 + LANGUAGE=en_US:en + LC_ALL=C +deps = -r{toxinidir}/test-requirements.txt + +[testenv:venv] +commands = {posargs} + +[testenv:checkniceness] +commands = openstack-doc-test --api-site --check-niceness {posargs} + +[testenv:checksyntax] +commands = openstack-doc-test --api-site --check-syntax {posargs} + +[testenv:checkdeletions] +commands = openstack-doc-test --api-site --check-deletions {posargs} + +[testenv:checkbuild] +commands = openstack-doc-test --api-site --check-build {posargs}