[
https://issues.apache.org/jira/browse/COUCHDB-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13648367#comment-13648367
]
Dave Cottlehuber commented on COUCHDB-1787:
-------------------------------------------
Danish, not quite. In the couchdb source
https://git-wip-us.apache.org/repos/asf?p=couchdb.git;a=tree;f=share/doc/src
are the .rst format files, and also a conf.py file that uses the sphinx project
http://sphinx.pocoo.org/ to build our documentation. You should read up on
sphinx to have a better idea of how this works.
Once we enter the release process
http://wiki.apache.org/couchdb/Release_Procedure#Preparing_the_Docs , we
compile manually lists of changes from git commits, documentation, JIRA
tickets, and put them into CHANGES, NEWS, and also into blog posts. This is all
manual today.
If we can get this down to a single `make changes` target in our makefile, that
calls an extension of python sphinx to extract the information, this whole
process becomes much simpler, and more reliable. It also forces us to get
better at using docs and commits as a way of tracking these changes.
We'd like to use the .rst tags that Alex mentioned as a way of extracting all
significant changes for this current version, and hand that back to the person
doing the release to amend as needed. Potentially that amended file can go back
into the source tree and then regenerate the 3 output formats - HTML for
blog/website update, plain text for CHANGES/NEWS, and wiki content a la
http://wiki.apache.org/couchdb/Release_Procedure#Making_the_Release
There's possibly 3 parts here:
- a nice clean python module or script that extends sphinx to extract a list of
..version* tags and builds a suitable list of changes, ordered by version.
- a separate module or script that takes a manually tweaked .rst file and spits
out HTML for the blog/website, plain text for CHANGES/NEWS, and if we still do
that in future, wiki content
- work on hooking all of this into GNU Makefile which is how we build our
releases:
https://git-wip-us.apache.org/repos/asf?p=couchdb.git;a=blob;f=Makefile.am;hb=HEAD
A reminder for your submission that it's due Friday 5th May, and that you need
to follow the guidelines for GSoC. A simple "I want to do this" will be
unlikely to get in ;-)
> Automate release process documentation
> --------------------------------------
>
> Key: COUCHDB-1787
> URL: https://issues.apache.org/jira/browse/COUCHDB-1787
> Project: CouchDB
> Issue Type: Improvement
> Components: Build System, Documentation
> Reporter: Dave Cottlehuber
> Labels: gsoc2013, sphinx
>
> The release process today contains a large number of manual transformation
> steps.
> Fixing this will make the release process significantly easier for release
> managers, as well as less error-prone.
> Ideally the output formats (NEWS, CHANGES in source tree, and HTML snippets
> for http://couchdb.org/ website and http://blogs.apache.org/couchdb ) can be
> auto-generated from either the .rst files in share/doc/src using sphinx's
> .versionaddded/changed tags, or potentially from commit messages if this is
> appropriate.
> CouchDB documentation is generated today from restructured text using python
> code, and rolled into the release documentation during `make distcheck`.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira