[wwwsearch-commits] r31955 - wwwsearch/release_scripts
jjlee at codespeak.net
jjlee at codespeak.net
Sat Sep 2 21:12:54 CEST 2006
Author: jjlee
Date: Sat Sep 2 21:12:52 2006
New Revision: 31955
Modified:
wwwsearch/release_scripts/mrelease.py
wwwsearch/release_scripts/release.py
Log:
New version of mechanize release script that should have been committed ages ago when the last release happened; Move web page menu items around a bit to reflect mechanize / pullparser / ClientCookie merger
Modified: wwwsearch/release_scripts/mrelease.py
==============================================================================
--- wwwsearch/release_scripts/mrelease.py (original)
+++ wwwsearch/release_scripts/mrelease.py Sat Sep 2 21:12:52 2006
@@ -1,68 +1,75 @@
#!/usr/bin/env python
-"""
-mrelease.py version [branch]
-
-version is the version string, eg. "0.0.1a"
-branch is the svn branch, eg. "trunk", or "branch/stable"
-
-"""
-
-import sys, os
-from release import clean, check_versions, win_version, check_date, \
- REPOSITORY_URL, maketag, getargs
+import sys, os, posixpath
+from release import REPOSITORY_URL, getargs
NAME = "mechanize"
-def main():
- tag, version, branch, revision, pretend = getargs(sys.argv)
+def main(argv):
+ import release
+ tag, rel, upload, version, branch, revision, options = getargs(argv)
+
+ release.display_log_messages()
+
+ pretend = options.pretend
+
+ if branch == "tagged":
+ last_tag = release.gettags(NAME)[-1]
+ project_svn_base = posixpath.join(REPOSITORY_URL, NAME)
+ branch = release.relative_location(project_svn_base, last_tag)
+ print "using tagged branch", branch
+
+ build_dir = os.path.abspath("build")
+ www = release.create_svn_www_wc_instance(
+ build_dir,
+ pretend=pretend)
+ common = release.create_svn_common_wc_instance(
+ build_dir, NAME,
+ pretend=pretend)
+ src = release.create_svn_proj_wc_instance(
+ build_dir, NAME, branch, revision,
+ pretend=pretend)
+
+ sdist = release.SDist(NAME, src.fs_path, version, pretend=pretend)
+
+ sdist.test_pythons = [(2,5), (2,4), (2,3)]
+ sdist.add_svn_working_copies([www, common, src])
+ def readmes_builder(fn):
+ def build_readmes(pretend):
+ readme_html = release.empy(
+ fn, pretend=pretend)
+ readme_html_with_base = release.empy(
+ fn, defines=["base=True"], pretend=pretend)
+ readme_txt = release.lynx_dump(readme_html_with_base,
+ pretend=pretend)
+ return [readme_html, readme_txt]
+ return build_readmes
+ def empy_builder(fn):
+ def empy_build(pretend):
+ return [release.empy(fn, pretend=pretend)]
+ return empy_build
+ sdist.add_file_builders([
+ readmes_builder(src.filename("README.html.in")),
+ empy_builder(www.filename("GeneralFAQ.html.in")),
+ empy_builder(src.filename("doc.html.in")),
+ ])
+ sdist.add_files([
+ (common.filename("ChangeLog"), src.filename("ChangeLog.txt")),
+ ])
+ sdist.add_versioned_files([
+ "%s/_%s.py" % (NAME, NAME), "ChangeLog.txt", "README.html", "setup.py"])
+ sdist.add_uploadable_files([
+ (src.filename("ChangeLog.txt"), None),
+ (src.filename("GeneralFAQ.html"), None),
+ (src.filename("README.html"), ("README-%s.html" % version)),
+ ])
if tag:
- maketag(version, REPOSITORY_URL, NAME, branch, revision, pretend)
- sys.exit()
-
- os.system("svn co %s/%s/%s %s" % (REPOSITORY_URL, NAME, branch, NAME))
-
- os.system("svn co %s/www" % REPOSITORY_URL)
- os.system("svn co %s/%s/common" % (REPOSITORY_URL, NAME))
- os.system("em.py www/GeneralFAQ.html.in > www/GeneralFAQ.html")
- os.system("cp www/GeneralFAQ.html common/ChangeLog %s" % NAME)
-
- release_dir = "%s-%s" % (NAME, version)
- os.mkdir(release_dir)
- os.chdir(NAME)
- os.system("em.py README.html.in > README.html")
- bad_files = check_versions(
- ["%s/_%s.py" % (NAME, NAME), "ChangeLog", "README.html", "setup.py"],
- version)
- if bad_files:
- sys.exit("version doesn't match in %s" % " ".join(bad_files))
- os.system("lynx -dump README.html > README.txt")
- os.system("cp README.html ../%s/README-%s.html" % (
- release_dir, win_version(version)))
- os.system("cp ChangeLog ../%s/ChangeLog.txt" % release_dir)
- os.system("rm MANIFEST")
- os.system("cp ../www/GeneralFAQ.html ../%s/" % release_dir)
- os.system("python setup.py sdist --formats=gztar,zip")
- os.chdir("dist")
- import glob
- distutils_zip = glob.glob("%s-%s*.zip" % (NAME, version))[0]
- zip = "%s-%s.zip" % (NAME, win_version(version))
- distutils_tarball = glob.glob("%s-%s*.tar.gz" % (NAME, version))[0]
- tarball = "%s-%s.tar.gz" % (NAME, version)
- import shutil
- shutil.move(distutils_zip, os.path.join('..','..', release_dir, zip))
- shutil.move(distutils_tarball, os.path.join('..','..', release_dir, tarball))
- os.chdir("..")
- os.system("rm -rf dist")
- os.system("rm -rf build")
- os.chdir("..")
- print "tarring:"
- os.system("tar -cvf %s.tar %s" % (release_dir, release_dir))
- os.system("rm -rf %s" % release_dir)
-
- os.chdir(NAME)
- for py in ("python2.4", "python2.3", "python2.2"):
- os.system("%s test.py" % py)
+ sdist.tag(src, clean=options.clean)
+ if rel:
+ sdist.build(update=options.update, clean=options.clean)
+ if upload:
+ sdist.upload_to_sourceforge()
-main()
+if __name__ == "__main__":
+ main(sys.argv)
Modified: wwwsearch/release_scripts/release.py
==============================================================================
--- wwwsearch/release_scripts/release.py (original)
+++ wwwsearch/release_scripts/release.py Sat Sep 2 21:12:52 2006
@@ -332,9 +332,14 @@
chdir(cwd, pretend)
return out_fn
-def empy(filename, pretend=False):
+def empy(filename, defines=None, pretend=False):
+ def_text = ""
+ if defines:
+ def_text = " %s " % (" ".join(["-D%s" % define for define in defines]))
+ def cmd(fn):
+ return system("em.py %s%s > %s" % (filename, def_text, fn), pretend)
out_fn = wrap_command(
- lambda fn: system("em.py %s > %s" % (filename, fn), pretend),
+ cmd,
os.path.dirname(filename),
os.path.splitext(os.path.basename(filename))[0],
pretend=pretend,
@@ -530,13 +535,15 @@
Page("GeneralFAQ",
title="General FAQs", url="../bits/GeneralFAQ.html"),
Sep(),
- Page("mechanize"),
- Page("pullparser"),
- Page("ClientCookie",
+ Page("mechanize",
child=Page("ccdocs",
- title="ClientCookie docs", url="../ClientCookie/doc.html")),
+ title="mechanize docs", url="../mechanize/doc.html")),
Page("ClientForm"),
Sep(),
+ Page("ClientCookie",
+ child=Page("ccdocs",
+ title="ClientCookie docs", url="../ClientCookie/doc.html")),
+ Page("pullparser"),
Page("DOMForm"),
Page("python-spidermonkey"),
Page("ClientTable"),
More information about the wwwsearch-commits
mailing list