Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
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()
Beispiel #4
0
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()