relsr 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/relsr/initializer.rb +30 -9
- data/lib/relsr/release_manager.rb +13 -8
- data/lib/relsr/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2e42a687376bdf3e930c6ec27635cfe87aa755e1
         | 
| 4 | 
            +
              data.tar.gz: 0916625438359e56c7f8b228027f9503dde072d2
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b748307bb79ee8843db68b6ffcebb4bb2b5eb8656919b5a4f478dde1274e7f462491800a4d384a08acd1d91798f1f3266eef68e64ed9766bf39b0022338d268f
         | 
| 7 | 
            +
              data.tar.gz: 8c74b26cac6ee86f629cb8807c6c32c03ffd97640303b7ee679477c72752287f034d53ed07b3bede4f44bc731d363944d23f76524991af9d3835440c64339bd2
         | 
    
        data/lib/relsr/initializer.rb
    CHANGED
    
    | @@ -15,27 +15,39 @@ module Relsr | |
| 15 15 | 
             
                private
         | 
| 16 16 |  | 
| 17 17 | 
             
                def self.parse_options 
         | 
| 18 | 
            -
                  @options = { | 
| 18 | 
            +
                  @options = {
         | 
| 19 | 
            +
                    dry_run: false,
         | 
| 20 | 
            +
                    extra_branches: []
         | 
| 21 | 
            +
                  }
         | 
| 19 22 | 
             
                  OptionParser.new do |opts|
         | 
| 20 23 | 
             
                    opts.banner = "Usage: relsr [options]"
         | 
| 21 24 |  | 
| 22 | 
            -
                    opts.on("-r", "--release", "Create a release branch and open a pull request") do  | 
| 23 | 
            -
                      @options[: | 
| 25 | 
            +
                    opts.on("-r", "--release", "Create a release branch and open a pull request") do 
         | 
| 26 | 
            +
                      @options[:release_branch] = true 
         | 
| 24 27 | 
             
                      @options[:pull_request] = true 
         | 
| 25 28 | 
             
                    end
         | 
| 26 29 |  | 
| 27 | 
            -
                    opts.on("-b", "--branch", "Create a release branch only") do  | 
| 28 | 
            -
                      @options[: | 
| 30 | 
            +
                    opts.on("-b", "--branch", "Create a release branch only") do 
         | 
| 31 | 
            +
                      @options[:release_branch] = true 
         | 
| 32 | 
            +
                    end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                    opts.on("-a", "--add BRANCH", "Add a branch to the release") do |v|
         | 
| 35 | 
            +
                      @options[:extra_branches] << v 
         | 
| 29 36 | 
             
                    end
         | 
| 30 37 |  | 
| 31 | 
            -
                    opts.on("-d", "--dry-run", "Dry run") do  | 
| 38 | 
            +
                    opts.on("-d", "--dry-run", "Dry run") do 
         | 
| 32 39 | 
             
                      @options[:dry_run] = true 
         | 
| 33 40 | 
             
                    end
         | 
| 34 41 |  | 
| 35 | 
            -
                    opts.on("-i", "--init", "Create #{YAML_FILE} for project") do  | 
| 42 | 
            +
                    opts.on("-i", "--init", "Create #{YAML_FILE} for project in the current folder") do 
         | 
| 36 43 | 
             
                      create_default_yaml
         | 
| 37 44 | 
             
                      exit 0
         | 
| 38 45 | 
             
                    end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                    opts.on("-v", "--version", "Get version information") do 
         | 
| 48 | 
            +
                      version_info
         | 
| 49 | 
            +
                      exit 0
         | 
| 50 | 
            +
                    end
         | 
| 39 51 | 
             
                  end.parse!
         | 
| 40 52 | 
             
                end
         | 
| 41 53 |  | 
| @@ -58,8 +70,13 @@ module Relsr | |
| 58 70 | 
             
                end
         | 
| 59 71 |  | 
| 60 72 | 
             
                def self.process
         | 
| 61 | 
            -
                  manager = Relsr::ReleaseManager.new( | 
| 62 | 
            -
             | 
| 73 | 
            +
                  manager = Relsr::ReleaseManager.new(
         | 
| 74 | 
            +
                    repo_name: @repo, 
         | 
| 75 | 
            +
                    label: @label, 
         | 
| 76 | 
            +
                    dry_run: @options[:dry_run], 
         | 
| 77 | 
            +
                    extra_branches: @options[:extra_branches]
         | 
| 78 | 
            +
                  )
         | 
| 79 | 
            +
                  manager.create_release_branch if @options[:release_branch]
         | 
| 63 80 | 
             
                  manager.create_pull_request if @options[:pull_request]
         | 
| 64 81 | 
             
                end
         | 
| 65 82 |  | 
| @@ -70,6 +87,10 @@ module Relsr | |
| 70 87 | 
             
                  }
         | 
| 71 88 | 
             
                  File.open(YAML_FILE, 'w') {|f| f.write content.to_yaml }
         | 
| 72 89 | 
             
                end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                def self.version_info
         | 
| 92 | 
            +
                  puts "Relsr version #{Relsr::VERSION}"
         | 
| 93 | 
            +
                end
         | 
| 73 94 | 
             
              end
         | 
| 74 95 |  | 
| 75 96 | 
             
            end
         | 
| @@ -4,16 +4,17 @@ require 'colorize' | |
| 4 4 | 
             
            module Relsr
         | 
| 5 5 | 
             
              class ReleaseManager
         | 
| 6 6 |  | 
| 7 | 
            -
                def initialize(repo_name | 
| 7 | 
            +
                def initialize(repo_name:, label:, extra_branches: [], dry_run: false)
         | 
| 8 8 | 
             
                  @repo_name = repo_name
         | 
| 9 9 | 
             
                  @label = label
         | 
| 10 10 | 
             
                  @release_branch_name = Time.now.strftime('release/%Y%m%d-%H%M%S')
         | 
| 11 11 | 
             
                  @dry_run = dry_run
         | 
| 12 | 
            +
                  @extra_branches = extra_branches
         | 
| 12 13 | 
             
                  Octokit.auto_paginate = true
         | 
| 13 14 | 
             
                end
         | 
| 14 15 |  | 
| 15 | 
            -
                def  | 
| 16 | 
            -
                   | 
| 16 | 
            +
                def create_release_branch
         | 
| 17 | 
            +
                  initialize_release_branch
         | 
| 17 18 | 
             
                  merge_work_branches
         | 
| 18 19 | 
             
                end
         | 
| 19 20 |  | 
| @@ -27,14 +28,13 @@ module Relsr | |
| 27 28 | 
             
                      @release_branch_name,
         | 
| 28 29 | 
             
                      pr_body
         | 
| 29 30 | 
             
                    )
         | 
| 30 | 
            -
             | 
| 31 31 | 
             
                  end
         | 
| 32 32 | 
             
                  puts 'done'.green
         | 
| 33 33 | 
             
                end
         | 
| 34 34 |  | 
| 35 35 | 
             
                private
         | 
| 36 36 |  | 
| 37 | 
            -
                def  | 
| 37 | 
            +
                def initialize_release_branch
         | 
| 38 38 | 
             
                  print_and_flush "Creating release branch '#{@release_branch_name}' on '#{@repo_name}'..."  
         | 
| 39 39 | 
             
                  unless @dry_run
         | 
| 40 40 | 
             
                    client.create_ref(@repo_name, "heads/#{@release_branch_name}", master.object.sha)
         | 
| @@ -79,7 +79,7 @@ module Relsr | |
| 79 79 | 
             
                      end
         | 
| 80 80 | 
             
                    end
         | 
| 81 81 | 
             
                  end
         | 
| 82 | 
            -
                  branches_to_merge
         | 
| 82 | 
            +
                  branches_to_merge + @extra_branches
         | 
| 83 83 | 
             
                end
         | 
| 84 84 |  | 
| 85 85 | 
             
                def master
         | 
| @@ -91,9 +91,14 @@ module Relsr | |
| 91 91 | 
             
                end
         | 
| 92 92 |  | 
| 93 93 | 
             
                def pr_body
         | 
| 94 | 
            -
                  issues.collect do |issue|
         | 
| 94 | 
            +
                  messages = issues.collect do |issue|
         | 
| 95 95 | 
             
                    "Connects ##{issue.number} - #{issue.title}"
         | 
| 96 | 
            -
                  end | 
| 96 | 
            +
                  end 
         | 
| 97 | 
            +
                  messages += @extra_branches.collect do |branch|
         | 
| 98 | 
            +
                    "Merging in additional branch '#{branch}'"
         | 
| 99 | 
            +
                  end
         | 
| 100 | 
            +
             | 
| 101 | 
            +
                  messages.join("\n")
         | 
| 97 102 | 
             
                end
         | 
| 98 103 |  | 
| 99 104 | 
             
                def print_and_flush(msg)
         | 
    
        data/lib/relsr/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: relsr
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - John Cleary
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017-07- | 
| 11 | 
            +
            date: 2017-07-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: octokit
         |