[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