def publish_cmd(args): label = None if args.prerelease == False else "pre" project = Project(os.getcwd(), "release", label) print "Preparing release {}".format(project.release_tag_name()) if not args.force: helpers.assert_clean() helpers.assert_branch(project.release_branch()) helpers.set_version(project.build_version(), project.label()) print("Building: {}".format(project.build_product())) build.build(project) print("Signing product with identity \"{}\"".format(project.codesign_identity())) sign.sign_everything_in_app(project.build_product(), project.codesign_identity()) print("Packaging {} to {} as {}".format(project.build_product(), project.image_path(), project.image_name())) package(project.build_product(), project.image_path(), project.image_name()) print("Generating release notes...") generate_release_notes(project) print("Committing and tagging \"{}\"".format(project.release_tag_name())) if not args.force: # We didn't set_version, so nothing should have changed commit_release(project) tag_release(project.release_tag_name(), args.force) publish_release(project, args.prerelease, args.draft, args.dry_run)
def publish_cmd(args): label = None if args.prerelease == False else "pre" project = Project(os.getcwd(), "release", label) print "Preparing release {}".format(project.release_tag_name()) if not args.force: helpers.assert_clean() helpers.assert_branch(project.release_branch()) helpers.set_version(project.build_version(), project.label()) print("Building: {}".format(project.build_product())) build.build(project) print("Signing product with identity \"{}\"".format( project.codesign_identity())) sign.sign_everything_in_app(project.build_product(), project.codesign_identity()) print("Packaging {} to {} as {}".format(project.build_product(), project.image_path(), project.image_name())) package(project.build_product(), project.image_path(), project.image_name()) print("Generating release notes...") generate_release_notes(project) print("Committing and tagging \"{}\"".format(project.release_tag_name())) if not args.force: # We didn't set_version, so nothing should have changed commit_release(project) tag_release(project.release_tag_name(), args.force) publish_release(project, args.prerelease, args.draft, args.dry_run)
def commit_release(project): add = ['git', 'add'] add += [ "GitX.xcodeproj/project.pbxproj", "Resources/Info-gitx.plist", "Resources/Info.plist", ] subprocess.check_call(add) commit_msg = "Release {}".format(project.labelled_build_version()) commit = ['git', 'commit', '-m', commit_msg] subprocess.check_call(commit) helpers.assert_clean()