#!/usr/bin/env python import sys, os, posixpath from release import REPOSITORY_URL, getargs NAME = "mechanize" 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: sdist.tag(src, clean=options.clean) if rel: sdist.build(update=options.update, clean=options.clean, check_versions=options.check_versions, check_dates=options.check_dates) if upload: sdist.upload_to_sourceforge() if __name__ == "__main__": main(sys.argv)