release-gem 0.1.4 → 0.1.5
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/Gemfile.lock +3 -3
- data/lib/release/gem/gem_action.rb +8 -1
- data/lib/release/gem/gem_cli_action.rb +86 -17
- data/lib/release/gem/gemdep.rb +7 -0
- data/lib/release/gem/vcs_cli_action.rb +39 -21
- data/lib/release/gem/version.rb +1 -1
- data/lib/release/gem.rb +1 -0
- data/templates/standard_cli_flow.rb +1 -1
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4a3f43d3c0b887a2346a0ee9b126a6f7a2edd0715f77b910762caeec3056bd76
         | 
| 4 | 
            +
              data.tar.gz: 937d525b33b1695c16ddd1ff3edd77a554ea8be086832cc1052d27e468d4b7a0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ca0da466583bf5191772d82a08507acaca1db045a6e93c6dc9573ed5a445f58a31570328f73a0f1840fcc328bfadf92fc40b03696a46086628ebfe1a99d828ea
         | 
| 7 | 
            +
              data.tar.gz: b2a5f5d9ec4d3bda1fb86bed8b001b85ca7b1e12fefe585dba8297dcda51cd76f7b9acccddd63192c6119bb0237ba671dd0cb7662847c9d7cf9960f0e0b74b91
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                release-gem (0.1. | 
| 4 | 
            +
                release-gem (0.1.5)
         | 
| 5 5 | 
             
                  colorize
         | 
| 6 6 | 
             
                  git_cli
         | 
| 7 7 | 
             
                  gvcs
         | 
| @@ -15,7 +15,7 @@ GEM | |
| 15 15 | 
             
              specs:
         | 
| 16 16 | 
             
                colorize (0.8.1)
         | 
| 17 17 | 
             
                diff-lcs (1.5.0)
         | 
| 18 | 
            -
                git_cli (0.11. | 
| 18 | 
            +
                git_cli (0.11.3)
         | 
| 19 19 | 
             
                  gvcs
         | 
| 20 20 | 
             
                  ptools (~> 1.4.0)
         | 
| 21 21 | 
             
                  teLogger
         | 
| @@ -39,7 +39,7 @@ GEM | |
| 39 39 | 
             
                  rspec-support (~> 3.12.0)
         | 
| 40 40 | 
             
                rspec-support (3.12.0)
         | 
| 41 41 | 
             
                teLogger (0.2.2)
         | 
| 42 | 
            -
                toolrack (0. | 
| 42 | 
            +
                toolrack (0.22.0)
         | 
| 43 43 | 
             
                tty-color (0.6.0)
         | 
| 44 44 | 
             
                tty-command (0.10.1)
         | 
| 45 45 | 
             
                  pastel (~> 0.8)
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 |  | 
| 2 2 | 
             
            #require 'rake'
         | 
| 3 3 | 
             
            require "bundler/gem_tasks"
         | 
| 4 | 
            -
            require "rspec/core/rake_task"
         | 
| 4 | 
            +
            #require "rspec/core/rake_task"
         | 
| 5 5 | 
             
            require 'yaml'
         | 
| 6 6 | 
             
            require_relative 'gemdep'
         | 
| 7 7 |  | 
| @@ -36,6 +36,13 @@ module Release | |
| 36 36 | 
             
                        if block
         | 
| 37 37 |  | 
| 38 38 | 
             
                          block.call(:action_start, :relase_dependencies)
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                          gemdepInst.development_gem.each do |k,v|
         | 
| 41 | 
            +
                            gemdepInst.infect_gem(v, k, &block)
         | 
| 42 | 
            +
                            block.call(:block_until_dev_gem_done, { name: k, path: v })
         | 
| 43 | 
            +
                          end
         | 
| 44 | 
            +
                          
         | 
| 45 | 
            +
             | 
| 39 46 | 
             
                          keys = gemdepInst.development_gem.keys
         | 
| 40 47 | 
             
                          loop do
         | 
| 41 48 | 
             
                            begin
         | 
| @@ -12,6 +12,8 @@ module Release | |
| 12 12 | 
             
                      opts[:ui] = TTY::Prompt.new
         | 
| 13 13 | 
             
                      @inst = Action::GemAction.new(root, opts)
         | 
| 14 14 | 
             
                      @pmt = opts[:tty] || opts[:ui]
         | 
| 15 | 
            +
                      @msgColor = opts[:msgColor] || :yellow 
         | 
| 16 | 
            +
                      @discardColor = opts[:discardColor] || false
         | 
| 15 17 | 
             
                    end
         | 
| 16 18 |  | 
| 17 19 | 
             
                    def exec(&block)
         | 
| @@ -22,7 +24,58 @@ module Release | |
| 22 24 | 
             
                      @inst.release_dependencies do |ops, *args|
         | 
| 23 25 | 
             
                        case ops
         | 
| 24 26 | 
             
                        when :action_start
         | 
| 25 | 
            -
                          @pmt.say "\n Release dependencies starting...\n" | 
| 27 | 
            +
                          @pmt.say pmsg("\n Release dependencies starting...\n")
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                        ## from release_infector
         | 
| 30 | 
            +
                        when :multiple_gemspec
         | 
| 31 | 
            +
                          v = args.first
         | 
| 32 | 
            +
                          @pmt.select(pmsg("\n There are multiple gemspecs found. Please select one to proceed : ")) do |m|
         | 
| 33 | 
            +
                            v.each do |vv|
         | 
| 34 | 
            +
                              m.choice vv, vv
         | 
| 35 | 
            +
                            end
         | 
| 36 | 
            +
                          end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                        when :adding_to_gemspec
         | 
| 39 | 
            +
                          v = args.first
         | 
| 40 | 
            +
                          @pmt.say pmsg("\n Adding release-gem to gemspec '#{v[:gemspec]}'")
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                        when :gemspec_updated
         | 
| 43 | 
            +
                          v = args.first
         | 
| 44 | 
            +
                          @pmt.say pmsg("\n Gemspec file of GEM '#{v[:name]}' updated with release-gem gem")
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                        when :adding_to_rackfile
         | 
| 47 | 
            +
                          v = args.first
         | 
| 48 | 
            +
                          @pmt.say pmsg("\n Adding require to Rakefile at #{v[:rakefile]}")
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                        when :creating_new_rakefile
         | 
| 51 | 
            +
                          v = args.first
         | 
| 52 | 
            +
                          @pmt.say pmsg("\n Creating new Rakefile at #{v[:rakefile]}")
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                        when :rakefile_updated
         | 
| 55 | 
            +
                          v = args.first
         | 
| 56 | 
            +
                          @pmt.say pmsg("\n Rakefile '#{v[:rakefile]}' updated!")
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                        when :select_terminal
         | 
| 59 | 
            +
                          v = args.first
         | 
| 60 | 
            +
                          @pmt.select(pmsg("\n Please select a terminal for development GEM '#{v[:name]}' release : ")) do |m|
         | 
| 61 | 
            +
                            v[:options].each do |t|
         | 
| 62 | 
            +
                              m.choice t, t
         | 
| 63 | 
            +
                            end
         | 
| 64 | 
            +
                          end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                        when :new_terminal_launching
         | 
| 67 | 
            +
                          v = args.first
         | 
| 68 | 
            +
                          @pmt.say pmsg("\n New terminal lanching for GEM '#{v[:name]}' using terminal '#{v[:terminal]}'")
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                        when :new_terminal_launched
         | 
| 71 | 
            +
                          v = args.first
         | 
| 72 | 
            +
                          @pmt.say pmsg("\n New terminal launched for GEM '#{v[:name]}' using terminal '#{v[:terminal]}'")
         | 
| 73 | 
            +
             | 
| 74 | 
            +
                        when :block_until_dev_gem_done
         | 
| 75 | 
            +
                          v = args.first
         | 
| 76 | 
            +
                          @pmt.yes? pmsg("\n Development GEM '#{v[:name]}' has separate windows for release. Is it done? ")
         | 
| 77 | 
            +
             | 
| 78 | 
            +
                        ### End release_infector
         | 
| 26 79 |  | 
| 27 80 | 
             
                        when :define_gem_prod_config
         | 
| 28 81 |  | 
| @@ -31,7 +84,7 @@ module Release | |
| 31 84 |  | 
| 32 85 | 
             
                          loop do
         | 
| 33 86 |  | 
| 34 | 
            -
                            sel = @pmt.select("\n The following development gems requires configuration. Please select one to configure " | 
| 87 | 
            +
                            sel = @pmt.select(pmsg("\n The following development gems requires configuration. Please select one to configure ")) do |m|
         | 
| 35 88 | 
             
                              selections.each do |g|
         | 
| 36 89 | 
             
                                m.choice g, g
         | 
| 37 90 | 
             
                              end
         | 
| @@ -39,17 +92,17 @@ module Release | |
| 39 92 |  | 
| 40 93 | 
             
                            config[sel] = {} if config[sel].nil?
         | 
| 41 94 |  | 
| 42 | 
            -
                            type = @pmt.select("\n The gem in production will be runtime or development ? " | 
| 95 | 
            +
                            type = @pmt.select(pmsg("\n The gem in production will be runtime or development ? ")) do |m|
         | 
| 43 96 | 
             
                              m.choice "Runtime", :runtime
         | 
| 44 97 | 
             
                              m.choice "Development only", :dev
         | 
| 45 98 | 
             
                            end
         | 
| 46 99 |  | 
| 47 100 | 
             
                            config[sel][:type] = type
         | 
| 48 101 |  | 
| 49 | 
            -
                            ver = @pmt.ask("\n Is there specific version pattern (including the ~>/>/>=/= of gemspec) for the gem in production? (Not mandatory) : " | 
| 102 | 
            +
                            ver = @pmt.ask(pmsg("\n Is there specific version pattern (including the ~>/>/>=/= of gemspec) for the gem in production? (Not mandatory) : "))
         | 
| 50 103 | 
             
                            config[sel][:version] = ver if not_empty?(ver)
         | 
| 51 104 |  | 
| 52 | 
            -
                            @pmt.puts " ** Done configure for gem #{sel}" | 
| 105 | 
            +
                            @pmt.puts pmsg(" ** Done configure for gem #{sel}")
         | 
| 53 106 | 
             
                            selections.delete_if { |v| v == sel }
         | 
| 54 107 | 
             
                            break if selections.length == 0
         | 
| 55 108 |  | 
| @@ -58,10 +111,10 @@ module Release | |
| 58 111 | 
             
                          config
         | 
| 59 112 |  | 
| 60 113 | 
             
                        when :development_gem_temporary_promoted
         | 
| 61 | 
            -
                          @pmt.puts "\n Development gem(s) temporary promoted to production status" | 
| 114 | 
            +
                          @pmt.puts pmsg("\n Development gem(s) temporary promoted to production status")
         | 
| 62 115 |  | 
| 63 116 | 
             
                        when :no_development_gems_found
         | 
| 64 | 
            -
                          @pmt.puts "\n No development gem(s) in used found" | 
| 117 | 
            +
                          @pmt.puts pmsg("\n No development gem(s) in used found")
         | 
| 65 118 |  | 
| 66 119 | 
             
                        end
         | 
| 67 120 | 
             
                      end
         | 
| @@ -73,7 +126,7 @@ module Release | |
| 73 126 | 
             
                      @inst.build do |ops, *args|
         | 
| 74 127 | 
             
                        case ops
         | 
| 75 128 | 
             
                        when :action_start
         | 
| 76 | 
            -
                          @pmt.say " Gem building starting...\n" | 
| 129 | 
            +
                          @pmt.say pmsg(" Gem building starting...\n")
         | 
| 77 130 | 
             
                        when :select_version
         | 
| 78 131 | 
             
                          preset = false
         | 
| 79 132 | 
             
                          if block
         | 
| @@ -90,7 +143,7 @@ module Release | |
| 90 143 | 
             
                          if preset
         | 
| 91 144 |  | 
| 92 145 | 
             
                            opts = args.first
         | 
| 93 | 
            -
                            res = @pmt.select("\n Please select new gem version : \n" | 
| 146 | 
            +
                            res = @pmt.select(pmsg("\n Please select new gem version : \n")) do |m|
         | 
| 94 147 | 
             
                              opts[:proposed_next].reverse.each do |v|
         | 
| 95 148 | 
             
                                m.choice v,v
         | 
| 96 149 | 
             
                              end
         | 
| @@ -103,8 +156,8 @@ module Release | |
| 103 156 |  | 
| 104 157 | 
             
                            if res == :custom
         | 
| 105 158 | 
             
                              loop do
         | 
| 106 | 
            -
                                res = @pmt.ask("\n Please provide custom version number for the release : " | 
| 107 | 
            -
                                confirmed = @pmt.yes?("\n Use version '#{res}'? No to try again")
         | 
| 159 | 
            +
                                res = @pmt.ask(pmsg("\n Please provide custom version number for the release : "),required: true)
         | 
| 160 | 
            +
                                confirmed = @pmt.yes?(pmsg("\n Use version '#{res}'? No to try again"))
         | 
| 108 161 | 
             
                                break if confirmed
         | 
| 109 162 | 
             
                              end
         | 
| 110 163 | 
             
                            end
         | 
| @@ -128,7 +181,7 @@ module Release | |
| 128 181 |  | 
| 129 182 | 
             
                          if preset
         | 
| 130 183 |  | 
| 131 | 
            -
                            res = @pmt.select("\n There are multiple version file found. Please select which one to update : " | 
| 184 | 
            +
                            res = @pmt.select(pmsg("\n There are multiple version file found. Please select which one to update : ")) do |m|
         | 
| 132 185 | 
             
                              opts = args.first
         | 
| 133 186 | 
             
                              opts.each do |f|
         | 
| 134 187 | 
             
                                m.choice f,f
         | 
| @@ -144,7 +197,7 @@ module Release | |
| 144 197 | 
             
                          @selVersion = args.first
         | 
| 145 198 |  | 
| 146 199 | 
             
                        when :gem_build_successfully
         | 
| 147 | 
            -
                          @pmt.puts "\n Gem version '#{args.first}' built successfully" | 
| 200 | 
            +
                          @pmt.puts pmsg("\n Gem version '#{args.first}' built successfully", :green)
         | 
| 148 201 | 
             
                          @inst.register(:selected_version, args.first)
         | 
| 149 202 | 
             
                          [true, args.first]
         | 
| 150 203 | 
             
                        end
         | 
| @@ -158,7 +211,7 @@ module Release | |
| 158 211 | 
             
                        case ops
         | 
| 159 212 | 
             
                        when :multiple_rubygems_account
         | 
| 160 213 | 
             
                          creds = args.first
         | 
| 161 | 
            -
                          res = @pmt.select("\n Multiple rubygems account detected. Please select one : " | 
| 214 | 
            +
                          res = @pmt.select(pmsg("\n Multiple rubygems account detected. Please select one : ")) do |m|
         | 
| 162 215 | 
             
                            creds.each do |k,v|
         | 
| 163 216 | 
             
                              m.choice k,k
         | 
| 164 217 | 
             
                            end
         | 
| @@ -173,9 +226,9 @@ module Release | |
| 173 226 | 
             
                          st = pargs.first
         | 
| 174 227 | 
             
                          res = pargs[1]
         | 
| 175 228 | 
             
                          if st
         | 
| 176 | 
            -
                            @pmt.puts "\n Gem push successful." | 
| 229 | 
            +
                            @pmt.puts pmsg("\n Gem push successful.", :green)
         | 
| 177 230 | 
             
                          else
         | 
| 178 | 
            -
                            @pmt.puts "\n Gem push failed. Error was :\n #{res}" | 
| 231 | 
            +
                            @pmt.puts pmsg("\n Gem push failed. Error was :\n #{res}", :red)
         | 
| 179 232 | 
             
                          end
         | 
| 180 233 | 
             
                        end
         | 
| 181 234 | 
             
                      end
         | 
| @@ -184,7 +237,7 @@ module Release | |
| 184 237 |  | 
| 185 238 | 
             
                    def install(*args, &block)
         | 
| 186 239 |  | 
| 187 | 
            -
                      sysInst = @pmt.yes?("\n Install release into system? " | 
| 240 | 
            +
                      sysInst = @pmt.yes?(pmsg("\n Install release into system? "))
         | 
| 188 241 | 
             
                      if sysInst
         | 
| 189 242 | 
             
                        @inst.install(*args)
         | 
| 190 243 | 
             
                      end
         | 
| @@ -195,6 +248,22 @@ module Release | |
| 195 248 | 
             
                      @inst.send(mtd,*args, &block)
         | 
| 196 249 | 
             
                    end
         | 
| 197 250 |  | 
| 251 | 
            +
                    def pmsg(msg, color = nil)
         | 
| 252 | 
            +
                      if not msg.nil?
         | 
| 253 | 
            +
                        if @discardColor == true
         | 
| 254 | 
            +
                          msg
         | 
| 255 | 
            +
                        else
         | 
| 256 | 
            +
                          if not_empty?(color)
         | 
| 257 | 
            +
                            msg.send(color)
         | 
| 258 | 
            +
                          elsif not_empty?(@msgColor)
         | 
| 259 | 
            +
                            msg.send(@msgColor)
         | 
| 260 | 
            +
                          else
         | 
| 261 | 
            +
                            msg
         | 
| 262 | 
            +
                          end
         | 
| 263 | 
            +
                        end
         | 
| 264 | 
            +
                      end
         | 
| 265 | 
            +
                    end
         | 
| 266 | 
            +
             | 
| 198 267 | 
             
                  end
         | 
| 199 268 | 
             
                end
         | 
| 200 269 | 
             
              end
         | 
    
        data/lib/release/gem/gemdep.rb
    CHANGED
    
    | @@ -11,6 +11,7 @@ module Release | |
| 11 11 |  | 
| 12 12 | 
             
                  def initialize(root, opts = {  })
         | 
| 13 13 | 
             
                    @root = root
         | 
| 14 | 
            +
                    @discardColor = opts[:discardColor] || false
         | 
| 14 15 | 
             
                    @devGems = {}
         | 
| 15 16 | 
             
                    @gemConfig = {}
         | 
| 16 17 | 
             
                    @fileHistory = {}
         | 
| @@ -82,6 +83,12 @@ module Release | |
| 82 83 | 
             
                    @fileHistory.clear
         | 
| 83 84 | 
             
                  end
         | 
| 84 85 |  | 
| 86 | 
            +
                  def infect_gem(gem_root,name, &block)
         | 
| 87 | 
            +
                    ri = ReleaseInfector.new(gem_root, name)
         | 
| 88 | 
            +
                    ri.infect(&block)
         | 
| 89 | 
            +
                    ri.trigger_release_gem(&block)
         | 
| 90 | 
            +
                  end
         | 
| 91 | 
            +
             | 
| 85 92 | 
             
                  private
         | 
| 86 93 | 
             
                  def remove_dev_gem_from_gemfile
         | 
| 87 94 | 
             
                    if has_development_gem?
         | 
| @@ -12,6 +12,8 @@ module Release | |
| 12 12 | 
             
                      opts[:ui] = TTY::Prompt.new
         | 
| 13 13 | 
             
                      @inst = Action::VcsAction.new(root,opts)
         | 
| 14 14 | 
             
                      @prmt = TTY::Prompt.new
         | 
| 15 | 
            +
                      @color = opts[:msgColor] || :yellow
         | 
| 16 | 
            +
                      @discardColor = opts[:discardColor] || false
         | 
| 15 17 | 
             
                    end
         | 
| 16 18 |  | 
| 17 19 | 
             
                    def exec(&block)
         | 
| @@ -38,7 +40,7 @@ module Release | |
| 38 40 | 
             
                          case ops
         | 
| 39 41 | 
             
                          when :select_files_to_commit
         | 
| 40 42 | 
             
                            mfiles = args.first
         | 
| 41 | 
            -
                            @prmt.puts "\n Files already added to staging : " | 
| 43 | 
            +
                            @prmt.puts pmsg("\n Files already added to staging : ")
         | 
| 42 44 | 
             
                            mfiles[:staged].each do |k,v|
         | 
| 43 45 | 
             
                              v.each do |vv|
         | 
| 44 46 | 
             
                                @prmt.puts " * #{vv}"
         | 
| @@ -47,7 +49,7 @@ module Release | |
| 47 49 |  | 
| 48 50 | 
             
                            @prmt.puts ""
         | 
| 49 51 |  | 
| 50 | 
            -
                            sel = @prmt.multi_select "\n Following are files that could be added to version control : " | 
| 52 | 
            +
                            sel = @prmt.multi_select pmsg("\n Following are files that could be added to version control : ") do |m|
         | 
| 51 53 |  | 
| 52 54 | 
             
                              [:modified, :new, :deleted].each do |cat|
         | 
| 53 55 | 
             
                                mfiles[cat].each do |k,v|
         | 
| @@ -74,9 +76,9 @@ module Release | |
| 74 76 | 
             
                              if not_empty?(s)
         | 
| 75 77 | 
             
                                st, cres = add_to_staging(*s) if not_empty?(s)
         | 
| 76 78 | 
             
                                if st
         | 
| 77 | 
            -
                                  @prmt.puts "\n Files added successfully" | 
| 79 | 
            +
                                  @prmt.puts pmsg("\n Files added successfully", :green)
         | 
| 78 80 | 
             
                                else
         | 
| 79 | 
            -
                                  @prmt.puts "\n Files failed to be added. Message was : #{cres}" | 
| 81 | 
            +
                                  @prmt.puts pmsg("\n Files failed to be added. Message was : #{cres}", :red)
         | 
| 80 82 | 
             
                                end
         | 
| 81 83 | 
             
                              end
         | 
| 82 84 |  | 
| @@ -87,8 +89,8 @@ module Release | |
| 87 89 | 
             
                          when :commit_message
         | 
| 88 90 | 
             
                            msg = ""
         | 
| 89 91 | 
             
                            loop do
         | 
| 90 | 
            -
                              msg = @prmt.ask("\n Commit message : " | 
| 91 | 
            -
                              confirm = @prmt.yes?(" Commit message : #{msg}\n Proceed? No to provide a new commit message " | 
| 92 | 
            +
                              msg = @prmt.ask(pmsg("\n Commit message : "), required: true)
         | 
| 93 | 
            +
                              confirm = @prmt.yes?(pmsg(" Commit message : #{msg}\n Proceed? No to provide a new commit message "))
         | 
| 92 94 | 
             
                              if confirm
         | 
| 93 95 | 
             
                                break
         | 
| 94 96 | 
             
                              end
         | 
| @@ -99,7 +101,7 @@ module Release | |
| 99 101 | 
             
                          when :staged_elements_of_commit
         | 
| 100 102 |  | 
| 101 103 | 
             
                            elements = args.first
         | 
| 102 | 
            -
                            @prmt.puts "\n Following files/directories shall be committed in this session : " | 
| 104 | 
            +
                            @prmt.puts pmsg("\n Following files/directories shall be committed in this session : ")
         | 
| 103 105 | 
             
                            elements.each do |k,v|
         | 
| 104 106 | 
             
                              v.each do |vv|
         | 
| 105 107 | 
             
                                @prmt.puts " * #{vv}"
         | 
| @@ -107,11 +109,11 @@ module Release | |
| 107 109 | 
             
                            end
         | 
| 108 110 |  | 
| 109 111 | 
             
                          when :commit_successful
         | 
| 110 | 
            -
                            @prmt.puts "\n Changes committed" | 
| 112 | 
            +
                            @prmt.puts pmsg("\n Changes committed",:green)
         | 
| 111 113 | 
             
                            @prmt.puts args.first
         | 
| 112 114 |  | 
| 113 115 | 
             
                          when :commit_failed
         | 
| 114 | 
            -
                            @prmt.puts "\n Changes failed to be committed. Error was : #{args.first}"
         | 
| 116 | 
            +
                            @prmt.puts pmsg("\n Changes failed to be committed. Error was : #{args.first}")
         | 
| 115 117 |  | 
| 116 118 | 
             
                          end
         | 
| 117 119 | 
             
                        end
         | 
| @@ -139,17 +141,17 @@ module Release | |
| 139 141 |  | 
| 140 142 | 
             
                          case ops
         | 
| 141 143 | 
             
                          when :tag_message
         | 
| 142 | 
            -
                            @prmt.ask("\n Please provide message for the tag : " | 
| 144 | 
            +
                            @prmt.ask(pmsg("\n Please provide message for the tag : "), value: "Auto tagging by gem-release gem during releasing version #{@selVer}", required: true)
         | 
| 143 145 |  | 
| 144 146 | 
             
                          when :tagging_success
         | 
| 145 | 
            -
                            @prmt.puts "\n Tagging of source code is successful." | 
| 147 | 
            +
                            @prmt.puts pmsg("\n Tagging of source code is successful.", :green)
         | 
| 146 148 | 
             
                            @prmt.puts args.first
         | 
| 147 149 |  | 
| 148 150 | 
             
                          when :tagging_failed
         | 
| 149 | 
            -
                            @prmt.puts "\n Tagging of source code failed. Error was : #{args.first}" | 
| 151 | 
            +
                            @prmt.puts pmsg("\n Tagging of source code failed. Error was : #{args.first}", :red)
         | 
| 150 152 |  | 
| 151 153 | 
             
                          when :no_tagging_required
         | 
| 152 | 
            -
                            @prmt.puts "\n No tagging required. Source head is the tagged item " | 
| 154 | 
            +
                            @prmt.puts pmsg("\n No tagging required. Source head is the tagged item ", :green)
         | 
| 153 155 |  | 
| 154 156 | 
             
                          end
         | 
| 155 157 | 
             
                        end # preset ?
         | 
| @@ -178,7 +180,7 @@ module Release | |
| 178 180 | 
             
                          case ops
         | 
| 179 181 | 
             
                          when :select_remote
         | 
| 180 182 | 
             
                            val = args.first
         | 
| 181 | 
            -
                            sel = @prmt.select("\n Please select one of the remote config below : ") do |m|
         | 
| 183 | 
            +
                            sel = @prmt.select(pmsg("\n Please select one of the remote config below : ")) do |m|
         | 
| 182 184 | 
             
                              val.each do |k,v|
         | 
| 183 185 | 
             
                                m.choice k, k
         | 
| 184 186 | 
             
                              end
         | 
| @@ -190,14 +192,14 @@ module Release | |
| 190 192 | 
             
                            sel
         | 
| 191 193 |  | 
| 192 194 | 
             
                          when :no_remote_repos_defined
         | 
| 193 | 
            -
                            add = @prmt.yes?("\n No remote configuration defined. Add one now?")
         | 
| 195 | 
            +
                            add = @prmt.yes?(pmsg("\n No remote configuration defined. Add one now?"))
         | 
| 194 196 | 
             
                            if add
         | 
| 195 | 
            -
                              name = @prmt.ask("\n Name of the repository : ", value: "origin", required: true)
         | 
| 196 | 
            -
                              url = @prmt.ask(" | 
| 197 | 
            +
                              name = @prmt.ask(pmsg("\n Name of the repository : "), value: "origin", required: true)
         | 
| 198 | 
            +
                              url = @prmt.ask(pmsg(" URL of the repository : "), required: true)
         | 
| 197 199 |  | 
| 198 200 | 
             
                              st, res = add_remote(name, url)
         | 
| 199 201 | 
             
                              if st
         | 
| 200 | 
            -
                                @prmt.puts "\n Remote configuration added successfully" | 
| 202 | 
            +
                                @prmt.puts pmsg("\n Remote configuration added successfully",:green)
         | 
| 201 203 | 
             
                                name
         | 
| 202 204 | 
             
                              else
         | 
| 203 205 | 
             
                                raise Release::Gem::Abort, "Failed to add remote configuration. Error was : #{res}"
         | 
| @@ -205,15 +207,15 @@ module Release | |
| 205 207 | 
             
                            end
         | 
| 206 208 |  | 
| 207 209 | 
             
                          when :push_successful
         | 
| 208 | 
            -
                            @prmt.puts "\n Push success!" | 
| 210 | 
            +
                            @prmt.puts pmsg("\n Push success!",:green)
         | 
| 209 211 | 
             
                            @prmt.puts args.first
         | 
| 210 212 |  | 
| 211 213 | 
             
                          when :push_failed
         | 
| 212 | 
            -
                            @prmt.puts "\nPush failed. Error was : #{args.first}" | 
| 214 | 
            +
                            @prmt.puts pmsg("\nPush failed. Error was : #{args.first}",:red)
         | 
| 213 215 |  | 
| 214 216 | 
             
                          when :no_changes_to_push
         | 
| 215 217 | 
             
                            val = args.first
         | 
| 216 | 
            -
                            @prmt.puts "\n Local is in sync with remote (#{val[:remote]}/#{val[:branch]}). Push is not required. "
         | 
| 218 | 
            +
                            @prmt.puts pmsg("\n Local is in sync with remote (#{val[:remote]}/#{val[:branch]}). Push is not required. ")
         | 
| 217 219 | 
             
                          end
         | 
| 218 220 | 
             
                        end
         | 
| 219 221 |  | 
| @@ -225,6 +227,22 @@ module Release | |
| 225 227 | 
             
                      @inst.send(mtd, *args, &block)
         | 
| 226 228 | 
             
                    end
         | 
| 227 229 |  | 
| 230 | 
            +
                    def pmsg(msg, color = nil)
         | 
| 231 | 
            +
                      if not msg.nil?
         | 
| 232 | 
            +
                        if @discardColor == true
         | 
| 233 | 
            +
                          msg
         | 
| 234 | 
            +
                        else
         | 
| 235 | 
            +
                          if not_empty?(color)
         | 
| 236 | 
            +
                            msg.send(color)
         | 
| 237 | 
            +
                          elsif not_empty?(@msgColor)
         | 
| 238 | 
            +
                            msg.send(@msgColor)
         | 
| 239 | 
            +
                          else
         | 
| 240 | 
            +
                            msg
         | 
| 241 | 
            +
                          end
         | 
| 242 | 
            +
                        end
         | 
| 243 | 
            +
                      end
         | 
| 244 | 
            +
                    end
         | 
| 245 | 
            +
             | 
| 228 246 | 
             
                  end
         | 
| 229 247 | 
             
                end
         | 
| 230 248 | 
             
              end
         | 
    
        data/lib/release/gem/version.rb
    CHANGED
    
    
    
        data/lib/release/gem.rb
    CHANGED
    
    
| @@ -47,7 +47,7 @@ Release::Gem.engine(:gem, root: Dir.getwd) do | |
| 47 47 | 
             
              rescue TTY::Reader::InputInterrupt => ex
         | 
| 48 48 | 
             
              rescue Exception => ex
         | 
| 49 49 | 
             
                STDERR.puts "\n -- Error thrown. Message was : #{ex.message}".red
         | 
| 50 | 
            -
                STDERR.puts "\n#{ex.backtrace.join("\n")}" if ENV["RELGEM_DEBUG"] == true
         | 
| 50 | 
            +
                STDERR.puts "\n#{ex.backtrace.join("\n")}" if ENV["RELGEM_DEBUG"] == "true"
         | 
| 51 51 | 
             
              ensure 
         | 
| 52 52 | 
             
                gem_dependency_restore
         | 
| 53 53 | 
             
              end
         |