def fail_candidate(): cwd = os.getcwd() assert cwd.endswith(status.release_version) support.backup_if_exists(cwd) scm.delete_branch(TMP_BRANCH_NAME) os.unlink(support.release_status_file) print "Restored to state before starting release. Make your fixes and try again..."
def set_to_release(): print "Snapshot version is " + local_impl.get_version() release_version = options.release_version if release_version is None: suggested = support.suggest_release_version(local_impl.get_version()) release_version = raw_input("Version number for new release [%s]: " % suggested) if not release_version: release_version = suggested scm.ensure_no_tag(release_version) status.head_before_release = scm.get_head_revision() status.save() working_copy = local_impl.id do_version_substitutions(local_impl_dir, version_substitutions, release_version) run_hooks('commit-release', cwd = working_copy, env = {'RELEASE_VERSION': release_version}) print "Releasing version", release_version support.publish(local_feed.local_path, set_released = 'today', set_version = release_version) support.backup_if_exists(release_version) os.mkdir(release_version) os.chdir(release_version) status.old_snapshot_version = local_impl.get_version() status.release_version = release_version status.head_at_release = scm.commit('Release %s' % release_version, branch = TMP_BRANCH_NAME, parent = 'HEAD') status.save()
need_set_snapshot = True # May be needed by the upload command os.environ['RELEASE_VERSION'] = status.release_version archive_name = support.make_archive_name(local_feed.get_name(), status.release_version) archive_file = archive_name + '.tar.bz2' export_prefix = archive_name if add_toplevel_dir is not None: export_prefix += os.sep + add_toplevel_dir if status.created_archive and os.path.isfile(archive_file): print "Archive already created" else: support.backup_if_exists(archive_file) scm.export(export_prefix, archive_file, status.head_at_release) has_submodules = scm.has_submodules() if phase_actions['generate-archive'] or has_submodules: try: support.unpack_tarball(archive_file) if has_submodules: scm.export_submodules(archive_name) run_hooks('generate-archive', cwd = archive_name, env = {'RELEASE_VERSION': status.release_version}) info("Regenerating archive (may have been modified by generate-archive hooks...") support.check_call(['tar', 'cjf', archive_file, archive_name]) except SafeException: scm.reset_hard(scm.get_current_branch()) fail_candidate()