diff options
author | Jason Pellerin <jpellerin@gmail.com> | 2007-12-22 19:00:22 +0000 |
---|---|---|
committer | Jason Pellerin <jpellerin@gmail.com> | 2007-12-22 19:00:22 +0000 |
commit | 1e9e1fb6aa3a178c53ad2a29ae626926125b300f (patch) | |
tree | 9401df6aea062f37fb6d4bb61222513adf2c8ce3 /scripts | |
parent | cd3bb6ede7025e1ed24d7a01f68533b5c5c225f6 (diff) | |
download | nose-1e9e1fb6aa3a178c53ad2a29ae626926125b300f.tar.gz |
MERGED 0.10.0-stable 378:411 to trunk in preparation for 0.10.1 release.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/mkrelease.py | 69 | ||||
-rw-r--r-- | scripts/rst2wiki.py | 125 |
2 files changed, 41 insertions, 153 deletions
diff --git a/scripts/mkrelease.py b/scripts/mkrelease.py index 14e21c4..a96b7f8 100755 --- a/scripts/mkrelease.py +++ b/scripts/mkrelease.py @@ -13,11 +13,20 @@ current = os.getcwd() version = nose.__version__ here = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) parts = here.split('/') -branchindex = parts.index('branches') -svnroot = os.path.join('/', *parts[:branchindex]) +if 'branches' in parts: + lindex = parts.index('branches') +elif 'tags' in parts: + lindex = parts.index('tags') +elif 'trunk' in parts: + lindex = parts.index('trunk') +else: + raise Exception("Unable to find svnroot from %s" % here) +svnroot = os.path.join('/', *parts[:lindex]) + branchroot = os.path.join(svnroot, 'branches') tagroot = os.path.join(svnroot, 'tags') svntrunk = os.path.join(svnroot, 'trunk') +svn_base_url = 'https://python-nose.googlecode.com/svn' svn_trunk_url = 'https://python-nose.googlecode.com/svn/trunk' SIMULATE = 'exec' not in sys.argv @@ -45,6 +54,9 @@ def main(): branch = 'branches/%s-stable' % version tag = 'tags/%s-release' % version + svn_branch_url = '%s/%s' % (svn_base_url, branch) + svn_tag_url = '%s/%s' % (svn_base_url, tag) + if os.path.isdir(tag): raise Exception( "Tag path %s already exists. Can't release same version twice!" @@ -52,46 +64,47 @@ def main(): # make branch, if needed if not os.path.isdir(os.path.join(svnroot, branch)): - # update trunk - cd(svntrunk) - runcmd('svn up') - cd(svnroot) - runcmd('svn copy %s %s' % (svn_trunk_url, branch)) - - # clean up setup.cfg and check in branch - cd(branch) - - # remove dev tag from setup - runcmd('cp setup.cfg.release setup.cfg') - runcmd('svn rm setup.cfg.release --force') - + # make branch + runcmd("svn copy %s %s -m 'Release branch for %s'" + % (svn_trunk_url, svn_branch_url, version)) + # clean up setup.cfg and check in tag cd(branchroot) - runcmd("svn ci -m 'Release branch for %s'" % version) - + runcmd('svn co %s' % svn_branch_url) else: # re-releasing branch cd(branch) runcmd('svn up') # make tag from branch - cd(svnroot) - runcmd('svn copy %s %s' % (branch, tag)) + runcmd('svn copy %s %s -m "Release tag for %s"' + % (svn_branch_url, svn_tag_url, version)) - # check in tag + # check out tag cd(tagroot) - runcmd("svn ci -m 'Release tag for %s'" % version) - - # make docs - cd(svnroot) + runcmd('svn co %s' % svn_tag_url) cd(tag) - runcmd('scripts/mkindex.py') - runcmd('scripts/mkdocs.py') + # remove dev tag from setup + runcmd('cp setup.cfg.release setup.cfg') + runcmd('svn rm setup.cfg.release --force') + runcmd("svn ci -m 'Updated setup.cfg to release status'") + + # wiki pages must be built from tag checkout runcmd('scripts/mkwiki.py') - # FIXME need to do this from an *export* to limit files included + # need to build dist from an *export* to limit files included # (setuptools includes too many files when run under a checkout) - # setup sdist + + # export tag + cd('/tmp') + runcmd('svn export %s nose_rel_%s' % (svn_tag_url, version)) + cd('nose_rel_%s' % version) + + # make docs + runcmd('scripts/mkindex.py') + runcmd('scripts/mkdocs.py') + + # make sdist runcmd('python setup.py sdist') # upload docs and distribution diff --git a/scripts/rst2wiki.py b/scripts/rst2wiki.py deleted file mode 100644 index 1a55223..0000000 --- a/scripts/rst2wiki.py +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/env python - -import sys -from docutils.nodes import SparseNodeVisitor, paragraph, title_reference, \ - emphasis -from docutils.writers import Writer -from docutils.core import publish_string - -class WikiWriter(Writer): - def translate(self): - visitor = WikiVisitor(self.document) - self.document.walkabout(visitor) - self.output = visitor.astext() - -class WikiVisitor(SparseNodeVisitor): - - def __init__(self, document): - SparseNodeVisitor.__init__(self, document) - self.list_depth = 0 - self.list_item_prefix = None - self.indent = self.old_indent = '' - self.output = [] - self.preformat = False - - def astext(self): - return '\n>>>\n\n'+ ''.join(self.output) + '\n\n<<<\n' - - def visit_Text(self, node): - #print "Text", node - data = node.astext() - if not self.preformat: - data = data.lstrip('\n\r') - data = data.replace('\r', '') - data = data.replace('\n', ' ') - self.output.append(data) - - def visit_bullet_list(self, node): - self.list_depth += 1 - self.list_item_prefix = (' ' * self.list_depth) + '* ' - - def depart_bullet_list(self, node): - self.list_depth -= 1 - if self.list_depth == 0: - self.list_item_prefix = None - else: - (' ' * self.list_depth) + '* ' - self.output.append('\n\n') - - def visit_list_item(self, node): - self.old_indent = self.indent - self.indent = self.list_item_prefix - - def depart_list_item(self, node): - self.indent = self.old_indent - - def visit_literal_block(self, node): - self.output.extend(['{{{', '\n']) - self.preformat = True - - def depart_literal_block(self, node): - self.output.extend(['\n', '}}}', '\n\n']) - self.preformat = False - - def visit_paragraph(self, node): - self.output.append(self.indent) - - def depart_paragraph(self, node): - self.output.append('\n\n') - if self.indent == self.list_item_prefix: - # we're in a sub paragraph of a list item - self.indent = ' ' * self.list_depth - - def visit_reference(self, node): - if node.has_key('refuri'): - href = node['refuri'] - elif node.has_key('refid'): - href = '#' + node['refid'] - else: - href = None - self.output.append('[' + href + ' ') - - def depart_reference(self, node): - self.output.append(']') - - def visit_subtitle(self, node): - self.output.append('=== ') - - def depart_subtitle(self, node): - self.output.append(' ===\n\n') - self.list_depth = 0 - self.indent = '' - - def visit_title(self, node): - self.output.append('== ') - - def depart_title(self, node): - self.output.append(' ==\n\n') - self.list_depth = 0 - self.indent = '' - - def visit_title_reference(self, node): - self.output.append("`") - - def depart_title_reference(self, node): - self.output.append("`") - - def visit_emphasis(self, node): - self.output.append('*') - - def depart_emphasis(self, node): - self.output.append('*') - - def visit_literal(self, node): - self.output.append('`') - - def depart_literal(self, node): - self.output.append('`') - - -def main(source): - output = publish_string(source, writer=WikiWriter()) - print output - -if __name__ == '__main__': - main(sys.stdin.read()) |