summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJason Pellerin <jpellerin@gmail.com>2007-12-22 19:00:22 +0000
committerJason Pellerin <jpellerin@gmail.com>2007-12-22 19:00:22 +0000
commit1e9e1fb6aa3a178c53ad2a29ae626926125b300f (patch)
tree9401df6aea062f37fb6d4bb61222513adf2c8ce3 /scripts
parentcd3bb6ede7025e1ed24d7a01f68533b5c5c225f6 (diff)
downloadnose-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-xscripts/mkrelease.py69
-rw-r--r--scripts/rst2wiki.py125
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())