Example #1
0
	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..."
Example #2
0
	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()
Example #3
0
	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..."
Example #4
0
	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()
Example #5
0
		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()
Example #6
0
		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()