aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2012-06-03 14:37:45 -0400
committerJason R. Coombs <jaraco@jaraco.com>2012-06-03 14:37:45 -0400
commit722052b5dff3066947f2051e4b0dd85166912f85 (patch)
tree8269b9e4809d6e5835a1bdeff2061d567e09cd86
parent7b49853cb59e15b9c7432584bc57f18b38845333 (diff)
downloadexternal_python_setuptools-722052b5dff3066947f2051e4b0dd85166912f85.tar.gz
external_python_setuptools-722052b5dff3066947f2051e4b0dd85166912f85.tar.bz2
external_python_setuptools-722052b5dff3066947f2051e4b0dd85166912f85.zip
Added improvements to release script to better support other projects (as this script has been copied to keyring).
--HG-- branch : distribute extra : rebase_source : e8ffb18f4415c4146b78a9515fe7539e00445e34
-rw-r--r--release.py27
1 files changed, 21 insertions, 6 deletions
diff --git a/release.py b/release.py
index 3ca2445c..487e6d58 100644
--- a/release.py
+++ b/release.py
@@ -32,6 +32,16 @@ NEXT_VERSION = get_next_version()
files_with_versions = ('docs/conf.py', 'setup.py', 'release.py',
'README.txt', 'distribute_setup.py')
+def get_repo_name():
+ """
+ Get the repo name from the hgrc default path.
+ """
+ default = subprocess.check_output('hg paths default').strip()
+ parts = default.split('/')
+ if parts[-1] == '':
+ parts.pop()
+ return '/'.join(parts[-2:])
+
def get_mercurial_creds(system='https://bitbucket.org', username=None):
"""
Return named tuple of username,password in much the same way that
@@ -59,12 +69,12 @@ def add_milestone_and_version(version=NEXT_VERSION):
base = 'https://api.bitbucket.org'
for type in 'milestones', 'versions':
url = (base + '/1.0/repositories/{repo}/issues/{type}'
- .format(repo = 'tarek/distribute', type=type))
+ .format(repo = get_repo_name(), type=type))
req = urllib2.Request(url = url, headers = headers,
data='name='+version)
try:
urllib2.urlopen(req)
- except Exception as e:
+ except urllib2.HTTPError as e:
print(e.fp.read())
def bump_versions():
@@ -96,12 +106,14 @@ def do_release():
subprocess.check_call(['hg', 'update', VERSION])
- build_docs()
+ has_docs = build_docs()
if os.path.isdir('./dist'):
shutil.rmtree('./dist')
- subprocess.check_call([sys.executable, 'setup.py',
- '-q', 'egg_info', '-RD', '-b', '', 'sdist', 'register',
- 'upload', 'upload_docs'])
+ cmd = [sys.executable, 'setup.py', '-q', 'egg_info', '-RD', '-b', '',
+ 'sdist', 'register', 'upload']
+ if has_docs:
+ cmd.append('upload_docs')
+ subprocess.check_call(cmd)
upload_bootstrap_script()
# update to the tip for the next operation
@@ -119,6 +131,8 @@ def do_release():
add_milestone_and_version()
def build_docs():
+ if not os.path.isdir('docs'):
+ return
if os.path.isdir('docs/build'):
shutil.rmtree('docs/build')
subprocess.check_call([
@@ -129,6 +143,7 @@ def build_docs():
'build/html',
],
cwd='docs')
+ return True
def upload_bootstrap_script():
scp_command = 'pscp' if sys.platform.startswith('win') else 'scp'