#!/usr/bin/env python # This file is Copyright 2009, 2010 Dean Hall. # # This file is part of the Python-on-a-Chip program. # Python-on-a-Chip is free software: you can redistribute it and/or modify # it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. # # Python-on-a-Chip is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # A copy of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 # is seen in the file COPYING in this directory. """Creates a release package for PyMite Makes fresh export (no .svn folders), builds the docs, makes pymite-RR.tar.gz and creates release tag in the svn repository """ ## @file # @brief Creates a release package for PyMite # # Makes fresh export (no .svn folders), builds the docs, makes pymite-RR.tar.gz # and creates release tag in the svn repository import os, string, subprocess, sys, tempfile REPOS = "https://python-on-a-chip.googlecode.com/svn/" RELEASE_NUM = sys.argv[1] assert string.atoi(RELEASE_NUM, 16) > 6 print "Building package for release", RELEASE_NUM, "..." PM_RELEASE = "pymite-%s" % RELEASE_NUM # Tag the release in the repository subprocess.check_call(["svn", "cp", REPOS + "trunk", REPOS + "tags/%s" % PM_RELEASE, '-m "Tagging PyMite release %s"' % RELEASE_NUM], cwd = tempdir) # Export (no .svn folders) the tagged release in a temporary directory tempdir = tempfile.gettempdir() subprocess.check_call(["svn", "export", REPOS + "tags/%s" % PM_RELEASE, PM_RELEASE], cwd = tempdir) # Build html docs subprocess.check_call(["make", "html"], cwd = os.path.join(tempdir, PM_RELEASE)) # Make pymite-RR.tar.gz and copy it to the current directory subprocess.check_call(["tar -cz %s/ > %s.tar.gz" % (PM_RELEASE, PM_RELEASE)], cwd = tempdir, shell=True) subprocess.check_call(["cp %s.tar.gz ." % os.path.join(tempdir, PM_RELEASE)], shell=True) print "Done."