[wwwsearch-commits] r25596 - wwwsearch/release_scripts

jjlee at codespeak.net jjlee at codespeak.net
Sat Apr 8 22:02:34 CEST 2006


Author: jjlee
Date: Sat Apr  8 22:02:33 2006
New Revision: 25596

Modified:
   wwwsearch/release_scripts/pprelease.py
Log:
Update pullparser release script to new scheme

Modified: wwwsearch/release_scripts/pprelease.py
==============================================================================
--- wwwsearch/release_scripts/pprelease.py	(original)
+++ wwwsearch/release_scripts/pprelease.py	Sat Apr  8 22:02:33 2006
@@ -1,67 +1,65 @@
 #!/usr/bin/env python
 
-"""
-pprelease.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
+import sys, os, posixpath
+from release import REPOSITORY_URL, getargs
 
 NAME = "pullparser"
 
-def main():
-    if len(sys.argv) <= 1:
-        sys.exit("usage: %s version [branch]" % sys.argv[0])
-    version = sys.argv[1]
-    if len(sys.argv) > 2 and sys.argv[2] != "--tag":
-        branch = sys.argv[2]
-    else:
-        branch = "trunk"
-    if "--tag" in sys.argv:
-        maketag(version, REPOSITORY_URL, NAME, branch)
-        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("mv 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.py" % NAME, "README.html"], 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("python setup.py sdist --formats=gztar,zip")
-    os.chdir("dist")
-    distutils_zip = "%s-%s.zip" % (NAME, version)
-    zip = "%s-%s.zip" % (NAME, win_version(version))
-    tarball = "%s-%s.tar.gz" % (NAME, version)
-    os.system("mv %s ../../%s/%s" % (distutils_zip, release_dir, zip))
-    os.system("mv %s ../../%s" % (tarball, release_dir))
-    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)
+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,4), (2,3), (2,2)]
+    sdist.add_svn_working_copies([www, common, src])
+    def make_readmes(fn, pretend=False):
+        readme_html = release.empy(fn, pretend=pretend)
+        readme_txt = release.lynx_dump(readme_html, pretend=pretend)
+        return [readme_html, readme_txt]
+    sdist.add_file_builders([
+        lambda pretend: make_readmes(src.filename("README.html.in"),
+                                     pretend=pretend),
+        lambda pretend: [release.empy(www.filename("GeneralFAQ.html.in"),
+                                      pretend=pretend)],
+        ])
+    sdist.add_files([
+        (common.filename("ChangeLog"), src.filename("ChangeLog.txt")),
+        ])
+    sdist.add_versioned_files([
+        NAME+".py", "ChangeLog.txt", "README.html", "setup.py"])
+    sdist.add_uploadable_files([
+        (src.filename("ChangeLog.txt"), None),
+        (src.filename("README.html"), ("README-%s.html" % version)),
+        ])
+
+    if tag:
+        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)


More information about the wwwsearch-commits mailing list