You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by da...@apache.org on 2017/02/20 01:40:59 UTC
[1/2] beam git commit: [BEAM-1320] Add script to generate
documentation for the python sdk
Repository: beam
Updated Branches:
refs/heads/master d03e3980c -> 92190ba5d
[BEAM-1320] Add script to generate documentation for the python sdk
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/87f20520
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/87f20520
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/87f20520
Branch: refs/heads/master
Commit: 87f205207d28d54b3a4e02465c493cb8d626d56b
Parents: d03e398
Author: Sourabh Bajaj <so...@google.com>
Authored: Thu Feb 16 16:01:36 2017 -0800
Committer: Davor Bonaci <da...@google.com>
Committed: Sun Feb 19 17:40:33 2017 -0800
----------------------------------------------------------------------
sdks/python/generate_pydoc.sh | 66 ++++++++++++++++++++++++++++++++++++++
sdks/python/pom.xml | 1 -
sdks/python/setup.py | 5 +++
sdks/python/tox.ini | 2 ++
4 files changed, 73 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/beam/blob/87f20520/sdks/python/generate_pydoc.sh
----------------------------------------------------------------------
diff --git a/sdks/python/generate_pydoc.sh b/sdks/python/generate_pydoc.sh
new file mode 100755
index 0000000..f96a649
--- /dev/null
+++ b/sdks/python/generate_pydoc.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# 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.
+#
+
+# This script will run sphinx to create documentation for python sdk
+#
+# Use "generate_pydocs.sh" to update documentation in the docs directory.
+#
+# The exit-code of the script indicates success or a failure.
+
+# Quit on any errors
+set -e
+
+# Create docs directory if it does not exist
+mkdir -p target/docs/source
+
+# Exclude autogenerated API message definition files that aren't part of SDK.
+excluded_internal_clients=(apache_beam/internal/clients/)
+python $(type -p sphinx-apidoc) -f -o target/docs/source apache_beam \
+ "${excluded_internal_clients[@]}"
+
+# Remove Cython modules from doc template; they won't load
+sed -i -e '/.. automodule:: apache_beam.coders.stream/d' \
+ target/docs/source/apache_beam.coders.rst
+
+# Create the configuration and index files
+cat > target/docs/source/conf.py <<'EOF'
+import os
+import sys
+
+sys.path.insert(0, os.path.abspath('../../..'))
+
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.napoleon',
+ 'sphinx.ext.viewcode',
+]
+master_doc = 'index'
+html_theme = 'sphinxdoc'
+project = 'Apache Beam'
+EOF
+cat > target/docs/source/index.rst <<'EOF'
+.. include:: ./modules.rst
+EOF
+
+# Build the documentation using sphinx
+python $(type -p sphinx-build) -q target/docs/source target/docs/_build -c target/docs/source \
+ -w "/tmp/sphinx-build.warnings.log"
+
+# Message is useful only when this script is run locally. In a remote
+# test environment, this path will be removed when the test completes.
+echo "Browse to file://$PWD/target/docs/_build/index.html"
http://git-wip-us.apache.org/repos/asf/beam/blob/87f20520/sdks/python/pom.xml
----------------------------------------------------------------------
diff --git a/sdks/python/pom.xml b/sdks/python/pom.xml
index 615ddc5..2b35f4d 100644
--- a/sdks/python/pom.xml
+++ b/sdks/python/pom.xml
@@ -165,5 +165,4 @@
</plugin>
</plugins>
</build>
-
</project>
http://git-wip-us.apache.org/repos/asf/beam/blob/87f20520/sdks/python/setup.py
----------------------------------------------------------------------
diff --git a/sdks/python/setup.py b/sdks/python/setup.py
index 90a4e53..59c0994 100644
--- a/sdks/python/setup.py
+++ b/sdks/python/setup.py
@@ -103,6 +103,10 @@ REQUIRED_TEST_PACKAGES = [
'pyhamcrest>=1.9,<2.0',
]
+EXTRA_REQUIRES = {
+ 'docs': ['Sphinx>=1.5.2,<2.0'],
+}
+
setuptools.setup(
name=PACKAGE_NAME,
version=PACKAGE_VERSION,
@@ -127,6 +131,7 @@ setuptools.setup(
install_requires=REQUIRED_PACKAGES,
test_suite='nose.collector',
tests_require=REQUIRED_TEST_PACKAGES,
+ extras_require=EXTRA_REQUIRES,
zip_safe=False,
# PyPI package information.
classifiers=[
http://git-wip-us.apache.org/repos/asf/beam/blob/87f20520/sdks/python/tox.ini
----------------------------------------------------------------------
diff --git a/sdks/python/tox.ini b/sdks/python/tox.ini
index 20afa58..2f5a7b5 100644
--- a/sdks/python/tox.ini
+++ b/sdks/python/tox.ini
@@ -30,9 +30,11 @@ deps=
nose
pep8
pylint
+ Sphinx
commands =
python --version
python apache_beam/examples/complete/autocomplete_test.py
python setup.py test
{toxinidir}/run_pylint.sh
+ {toxinidir}/generate_pydoc.sh
passenv = TRAVIS*
[2/2] beam git commit: This closes #2024
Posted by da...@apache.org.
This closes #2024
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/92190ba5
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/92190ba5
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/92190ba5
Branch: refs/heads/master
Commit: 92190ba5de64e1a72f3352976697e51e5d5624a9
Parents: d03e398 87f2052
Author: Davor Bonaci <da...@google.com>
Authored: Sun Feb 19 17:40:55 2017 -0800
Committer: Davor Bonaci <da...@google.com>
Committed: Sun Feb 19 17:40:55 2017 -0800
----------------------------------------------------------------------
sdks/python/generate_pydoc.sh | 66 ++++++++++++++++++++++++++++++++++++++
sdks/python/pom.xml | 1 -
sdks/python/setup.py | 5 +++
sdks/python/tox.ini | 2 ++
4 files changed, 73 insertions(+), 1 deletion(-)
----------------------------------------------------------------------