dev 2.1.153 → 2.1.154
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/apps/git.rb +207 -208
- data/lib/apps/msbuild.rb +90 -90
- data/lib/apps/nbench.rb +2 -1
- data/lib/apps/nuget.rb +57 -59
- data/lib/apps/svn.rb +137 -143
- data/lib/apps/wix.rb +47 -50
- data/lib/apps/xcodebuild.rb +13 -11
- data/lib/apps/zip.rb +25 -25
- data/lib/apps.rb +3 -1
- data/lib/base/array.rb +66 -64
- data/lib/base/command.rb +237 -238
- data/lib/base/dir.rb +73 -76
- data/lib/base/environment.rb +94 -99
- data/lib/base/file.rb +35 -33
- data/lib/base/gemspec.rb +47 -45
- data/lib/base/giturl.rb +88 -90
- data/lib/base/hash.rb +20 -15
- data/lib/base/history.rb +36 -33
- data/lib/base/internet.rb +22 -20
- data/lib/base/project.rb +410 -423
- data/lib/base/projects.rb +231 -246
- data/lib/base/source.rb +22 -20
- data/lib/base/string.rb +6 -4
- data/lib/base/text.rb +16 -14
- data/lib/base/timeout.rb +29 -28
- data/lib/base/timer.rb +23 -19
- data/lib/base/version.rb +68 -72
- data/lib/base.rb +5 -3
- data/lib/commands.rb +47 -43
- data/lib/dev.config.rb +3 -2
- data/lib/dev.rb +65 -66
- data/lib/tasks/add.rb +34 -40
- data/lib/tasks/analyze.rb +17 -15
- data/lib/tasks/build.rb +101 -103
- data/lib/tasks/clean.rb +6 -4
- data/lib/tasks/clobber.rb +20 -18
- data/lib/tasks/commit.rb +42 -44
- data/lib/tasks/default.rb +41 -39
- data/lib/tasks/doc.rb +10 -8
- data/lib/tasks/info.rb +8 -7
- data/lib/tasks/package.rb +23 -20
- data/lib/tasks/publish.rb +20 -25
- data/lib/tasks/pull.rb +9 -9
- data/lib/tasks/push.rb +11 -13
- data/lib/tasks/setup.rb +180 -183
- data/lib/tasks/test.rb +121 -107
- data/lib/tasks/update.rb +13 -11
- data/lib/tasks.rb +38 -42
- metadata +7 -9
- data/bin/dev +0 -3
    
        data/lib/base/dir.rb
    CHANGED
    
    | @@ -1,114 +1,111 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require "fileutils"
         | 
| 2 4 |  | 
| 3 5 | 
             
            class Dir
         | 
| 4 | 
            -
              def self.make | 
| 5 | 
            -
             | 
| 6 | 
            +
              def self.make(directory)
         | 
| 7 | 
            +
                FileUtils.mkdir_p directory unless File.exist? directory
         | 
| 6 8 | 
             
              end
         | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
                  end
         | 
| 15 | 
            -
                rescue
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              def self.remove(directory, remove_empty_parents = false)
         | 
| 11 | 
            +
                FileUtils.rm_rf directory unless Dir.empty?(directory)
         | 
| 12 | 
            +
                FileUtils.rm_r directory if File.exist?(directory)
         | 
| 13 | 
            +
                if remove_empty_parents
         | 
| 14 | 
            +
                  parent_dir = File.dirname(directory)
         | 
| 15 | 
            +
                  Dir.remove parent_dir, true if Dir.empty?(parent_dir)
         | 
| 16 16 | 
             
                end
         | 
| 17 | 
            +
              rescue StandardError
         | 
| 17 18 | 
             
              end
         | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 19 | 
            +
             | 
| 20 | 
            +
              def self.empty?(directory)
         | 
| 21 | 
            +
                return true if (Dir.entries(directory) - %w[. ..]).empty?
         | 
| 22 | 
            +
             | 
| 22 23 | 
             
                false
         | 
| 23 24 | 
             
              end
         | 
| 24 25 |  | 
| 25 | 
            -
              def self.get_latest_mtime | 
| 26 | 
            -
                mtime=Time.new(1980)
         | 
| 27 | 
            -
                Dir.chdir(directory) | 
| 28 | 
            -
                  latest_filename= | 
| 29 | 
            -
                  Dir.glob( | 
| 26 | 
            +
              def self.get_latest_mtime(directory)
         | 
| 27 | 
            +
                mtime = Time.new(1980)
         | 
| 28 | 
            +
                Dir.chdir(directory) do
         | 
| 29 | 
            +
                  latest_filename = ""
         | 
| 30 | 
            +
                  Dir.glob("**/*.*").each do |f|
         | 
| 30 31 | 
             
                    if mtime.nil? || File.mtime(f) > mtime
         | 
| 31 | 
            -
                      mtime=File.mtime(f) | 
| 32 | 
            -
                      latest_filename=f
         | 
| 32 | 
            +
                      mtime = File.mtime(f)
         | 
| 33 | 
            +
                      latest_filename = f
         | 
| 33 34 | 
             
                    end
         | 
| 34 | 
            -
                   | 
| 35 | 
            -
                  puts "   latest_mtime #{mtime | 
| 35 | 
            +
                  end
         | 
| 36 | 
            +
                  puts "   latest_mtime #{mtime} #{latest_filename}" if Environment.default.debug?
         | 
| 36 37 | 
             
                end
         | 
| 37 38 | 
             
                mtime
         | 
| 38 39 | 
             
              end
         | 
| 39 40 |  | 
| 40 | 
            -
              def self.get_project_name | 
| 41 | 
            -
                name = directory.split( | 
| 41 | 
            +
              def self.get_project_name(directory)
         | 
| 42 | 
            +
                name = directory.split("/").last
         | 
| 42 43 | 
             
                rakefile = "#{directory}/rakefile.rb"
         | 
| 43 | 
            -
                if | 
| 44 | 
            -
                  txt=IO.read(rakefile)
         | 
| 45 | 
            -
                  if | 
| 44 | 
            +
                if File.exist?(rakefile)
         | 
| 45 | 
            +
                  txt = IO.read(rakefile)
         | 
| 46 | 
            +
                  if txt.include?("NAME=")
         | 
| 46 47 | 
             
                    scan = txt.scan(/NAME=['"]([\w.]+)/)
         | 
| 47 | 
            -
                    if(!scan.nil?)
         | 
| 48 | 
            -
                      name = scan[0][0] if(scan.length > 0 && !scan[0].nil? && scan[0].length > 0)
         | 
| 49 | 
            -
                    end
         | 
| 48 | 
            +
                    name = scan[0][0] if !scan.nil? && (scan.length.positive? && !scan[0].nil? && scan[0].length.positive?)
         | 
| 50 49 | 
             
                  end
         | 
| 51 50 | 
             
                end
         | 
| 52 51 | 
             
                name
         | 
| 53 52 | 
             
              end
         | 
| 54 53 |  | 
| 55 | 
            -
              def self.zip(directory,files,zipfilename)
         | 
| 56 | 
            -
                if Gem::Specification | 
| 57 | 
            -
                  require  | 
| 58 | 
            -
                  File.delete(zipfilename) if | 
| 59 | 
            -
                  Zip::File.open(zipfilename,Zip::File::CREATE) do |zipfile|
         | 
| 54 | 
            +
              def self.zip(directory, files, zipfilename)
         | 
| 55 | 
            +
                if Gem::Specification.find_all_by_name("rubyzip").any?
         | 
| 56 | 
            +
                  require "zip"
         | 
| 57 | 
            +
                  File.delete(zipfilename) if File.exist?(zipfilename)
         | 
| 58 | 
            +
                  Zip::File.open(zipfilename, Zip::File::CREATE) do |zipfile|
         | 
| 60 59 | 
             
                    Dir.chdir(directory) do
         | 
| 61 60 | 
             
                      count = 0
         | 
| 62 | 
            -
                      files.each | 
| 63 | 
            -
                        zipfile.add(source_file,"#{directory}/#{source_file}")
         | 
| 64 | 
            -
                        count  | 
| 65 | 
            -
                       | 
| 61 | 
            +
                      files.each do |source_file|
         | 
| 62 | 
            +
                        zipfile.add(source_file, "#{directory}/#{source_file}")
         | 
| 63 | 
            +
                        count += 1
         | 
| 64 | 
            +
                      end
         | 
| 66 65 | 
             
                      puts "added #{count} files to #{zipfilename}"
         | 
| 67 66 | 
             
                    end
         | 
| 68 67 | 
             
                  end
         | 
| 69 68 | 
             
                else
         | 
| 70 69 | 
             
                  puts "rubyzip gem is not installed 'gem install rubyzip'"
         | 
| 71 70 | 
             
                end
         | 
| 72 | 
            -
            end
         | 
| 71 | 
            +
              end
         | 
| 73 72 |  | 
| 74 | 
            -
            def self.unzip(zipfilename,directory)
         | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 73 | 
            +
              def self.unzip(zipfilename, directory)
         | 
| 74 | 
            +
                if Gem::Specification.find_all_by_name("rubyzip").any?
         | 
| 75 | 
            +
                  require "zip"
         | 
| 76 | 
            +
                  count = 0
         | 
| 77 | 
            +
                  Zip::File.open(zipfilename) do |zip_file|
         | 
| 78 | 
            +
                    zip_file.each do |entry|
         | 
| 79 | 
            +
                      dest = "#{directory}/#{entry}"
         | 
| 80 | 
            +
                      parent_dir = File.dirname(dest)
         | 
| 81 | 
            +
                      FileUtils.mkdir_p parent_dir unless Dir.exist?(parent_dir)
         | 
| 82 | 
            +
                      entry.extract("#{directory}/#{entry}")
         | 
| 83 | 
            +
                      count += 1
         | 
| 84 | 
            +
                    end
         | 
| 85 85 | 
             
                  end
         | 
| 86 | 
            +
                  puts "extracted #{count} files to #{directory}"
         | 
| 87 | 
            +
                else
         | 
| 88 | 
            +
                  puts "rubyzip gem is not installed 'gem install rubyzip'"
         | 
| 86 89 | 
             
                end
         | 
| 87 | 
            -
                puts "extracted #{count} files to #{directory}"
         | 
| 88 | 
            -
              else
         | 
| 89 | 
            -
                puts "rubyzip gem is not installed 'gem install rubyzip'"
         | 
| 90 90 | 
             
              end
         | 
| 91 | 
            -
            end
         | 
| 92 91 |  | 
| 93 | 
            -
            def self.copy_files(src_dir,glob_pattern,exclude_patterns,target_dir)
         | 
| 94 | 
            -
             | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 97 | 
            -
             | 
| 92 | 
            +
              def self.copy_files(src_dir, glob_pattern, exclude_patterns, target_dir)
         | 
| 93 | 
            +
                if Dir.exist?(src_dir)
         | 
| 94 | 
            +
                  Dir.chdir(src_dir) do
         | 
| 95 | 
            +
                    Dir.glob(glob_pattern).each do |f|
         | 
| 96 | 
            +
                      next unless File.file?(f)
         | 
| 97 | 
            +
             | 
| 98 98 | 
             
                      exclude = false
         | 
| 99 | 
            -
                       | 
| 100 | 
            -
                         | 
| 101 | 
            -
                          exclude = true if(f.include?(p))
         | 
| 102 | 
            -
                        }
         | 
| 103 | 
            -
                      end
         | 
| 104 | 
            -
                      if(!exclude)
         | 
| 105 | 
            -
                        dest = "#{target_dir}/#{f}"
         | 
| 106 | 
            -
                        FileUtils.mkdir_p(File.dirname(dest)) if(!Dir.exists?(File.dirname(dest)))
         | 
| 107 | 
            -
                        FileUtils.cp(f,dest)
         | 
| 99 | 
            +
                      exclude_patterns&.each do |p|
         | 
| 100 | 
            +
                        exclude = true if f.include?(p)
         | 
| 108 101 | 
             
                      end
         | 
| 102 | 
            +
                      next if exclude
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                      dest = "#{target_dir}/#{f}"
         | 
| 105 | 
            +
                      FileUtils.mkdir_p(File.dirname(dest)) unless Dir.exist?(File.dirname(dest))
         | 
| 106 | 
            +
                      FileUtils.cp(f, dest)
         | 
| 109 107 | 
             
                    end
         | 
| 110 | 
            -
                   | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 108 | 
            +
                  end
         | 
| 109 | 
            +
                end
         | 
| 110 | 
            +
              end
         | 
| 113 111 | 
             
            end
         | 
| 114 | 
            -
            end
         | 
    
        data/lib/base/environment.rb
    CHANGED
    
    | @@ -1,138 +1,135 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            puts DELIMITER if defined?(DEBUG)
         | 
| 2 4 | 
             
            puts __FILE__ if defined?(DEBUG)
         | 
| 3 5 |  | 
| 4 | 
            -
            require_relative( | 
| 6 | 
            +
            require_relative("string")
         | 
| 5 7 |  | 
| 6 8 | 
             
            class Environment < Hash
         | 
| 7 | 
            -
              attr_accessor :output | 
| 8 | 
            -
             | 
| 9 | 
            +
              attr_accessor :output, :publish_dir
         | 
| 10 | 
            +
             | 
| 11 | 
            +
              @@default = nil
         | 
| 9 12 | 
             
              def self.default
         | 
| 10 | 
            -
                @@default=Environment.new if @@default.nil?
         | 
| 13 | 
            +
                @@default = Environment.new if @@default.nil?
         | 
| 11 14 | 
             
                @@default
         | 
| 12 15 | 
             
              end
         | 
| 13 16 |  | 
| 14 | 
            -
              def initialize  | 
| 15 | 
            -
                @output= | 
| 17 | 
            +
              def initialize(env = nil)
         | 
| 18 | 
            +
                @output = ""
         | 
| 16 19 |  | 
| 17 | 
            -
                @env= | 
| 18 | 
            -
                @env_aliases={ | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
                }
         | 
| 22 | 
            -
                 | 
| 23 | 
            -
                @@default=self if @@default.nil?
         | 
| 20 | 
            +
                @env = {}
         | 
| 21 | 
            +
                @env_aliases = { "HOME" => ["USERPROFILE"],
         | 
| 22 | 
            +
                                 "DEV_ROOT" => %w[DEV_HOME HOME USERPROFILE],
         | 
| 23 | 
            +
                                 "USERNAME" => %w[USER USR] }
         | 
| 24 | 
            +
                env&.each { |k, v| @env[k.to_s] = v }
         | 
| 25 | 
            +
                @@default = self if @@default.nil?
         | 
| 24 26 |  | 
| 25 | 
            -
                @publish_dir="#{root_dir}/publish"
         | 
| 26 | 
            -
                FileUtils.mkdir_p @publish_dir  | 
| 27 | 
            +
                @publish_dir = "#{root_dir}/publish"
         | 
| 28 | 
            +
                FileUtils.mkdir_p @publish_dir unless File.exist? @publish_dir
         | 
| 27 29 | 
             
              end
         | 
| 28 30 |  | 
| 29 | 
            -
               | 
| 31 | 
            +
              # ####Begin LEGACY support
         | 
| 30 32 | 
             
              def self.dev_root
         | 
| 31 33 | 
             
                default.root_dir
         | 
| 32 34 | 
             
              end
         | 
| 33 | 
            -
               | 
| 35 | 
            +
              # ####End LEGACY support
         | 
| 34 36 |  | 
| 35 37 | 
             
              def admin?
         | 
| 36 | 
            -
                rights | 
| 37 | 
            -
                 | 
| 38 | 
            +
                rights = `whoami /priv`
         | 
| 39 | 
            +
                rights.include?("SeCreateGlobalPrivilege")
         | 
| 38 40 | 
             
              end
         | 
| 41 | 
            +
             | 
| 39 42 | 
             
              def root_dir
         | 
| 40 | 
            -
                get_env( | 
| 43 | 
            +
                get_env("DEV_ROOT").gsub('\\', "/")
         | 
| 41 44 | 
             
              end
         | 
| 42 | 
            -
             | 
| 45 | 
            +
             | 
| 43 46 | 
             
              def home_dir
         | 
| 44 | 
            -
                get_env( | 
| 47 | 
            +
                get_env("HOME").gsub('\\', "/")
         | 
| 45 48 | 
             
              end
         | 
| 46 49 |  | 
| 47 50 | 
             
              def log_dir
         | 
| 48 | 
            -
                dir="#{root_dir}/log/#{user}@#{machine}"
         | 
| 49 | 
            -
                FileUtils.mkdir_p dir  | 
| 51 | 
            +
                dir = "#{root_dir}/log/#{user}@#{machine}"
         | 
| 52 | 
            +
                FileUtils.mkdir_p dir unless File.exist? dir
         | 
| 50 53 | 
             
                dir
         | 
| 51 54 | 
             
              end
         | 
| 52 55 |  | 
| 53 56 | 
             
              def dropbox_dir
         | 
| 54 | 
            -
                dropbox_info = "#{ENV[ | 
| 55 | 
            -
                if | 
| 57 | 
            +
                dropbox_info = "#{ENV["LOCALAPPDATA"]}/Dropbox/info.json"
         | 
| 58 | 
            +
                if File.exist?(dropbox_info)
         | 
| 56 59 | 
             
                  info = JSON.parse(IO.read(dropbox_info))
         | 
| 57 | 
            -
                  if | 
| 58 | 
            -
                    if(info['personal'].has_key?('path'))
         | 
| 59 | 
            -
                      return info['personal']['path']
         | 
| 60 | 
            -
                    end
         | 
| 61 | 
            -
                  end
         | 
| 60 | 
            +
                  return info["personal"]["path"] if info.key?("personal") && info["personal"].key?("path")
         | 
| 62 61 | 
             
                end
         | 
| 63 62 | 
             
                ""
         | 
| 64 63 | 
             
              end
         | 
| 65 64 |  | 
| 66 65 | 
             
              def tmp_dir
         | 
| 67 | 
            -
                dir="#{root_dir}/tmp"
         | 
| 68 | 
            -
                FileUtils.mkdir_p dir  | 
| 66 | 
            +
                dir = "#{root_dir}/tmp"
         | 
| 67 | 
            +
                FileUtils.mkdir_p dir unless File.exist? dir
         | 
| 69 68 | 
             
                dir
         | 
| 70 69 | 
             
              end
         | 
| 71 70 |  | 
| 72 71 | 
             
              def make_dir
         | 
| 73 | 
            -
                dir="#{root_dir}/make"
         | 
| 74 | 
            -
                FileUtils.mkdir_p dir  | 
| 72 | 
            +
                dir = "#{root_dir}/make"
         | 
| 73 | 
            +
                FileUtils.mkdir_p dir unless File.exist? dir
         | 
| 75 74 | 
             
                dir
         | 
| 76 75 | 
             
              end
         | 
| 77 76 |  | 
| 78 77 | 
             
              def wrk_dir
         | 
| 79 | 
            -
                dir="#{root_dir}/work"
         | 
| 80 | 
            -
                FileUtils.mkdir_p dir  | 
| 78 | 
            +
                dir = "#{root_dir}/work"
         | 
| 79 | 
            +
                FileUtils.mkdir_p dir unless File.exist? dir
         | 
| 81 80 | 
             
                dir
         | 
| 82 81 | 
             
              end
         | 
| 83 82 |  | 
| 84 83 | 
             
              def machine
         | 
| 85 | 
            -
                return ENV[ | 
| 84 | 
            +
                return ENV["COMPUTERNAME"] unless ENV["COMPUTERNAME"].nil?
         | 
| 85 | 
            +
             | 
| 86 86 | 
             
                machine = `hostname`
         | 
| 87 | 
            -
                machine = machine.split( | 
| 88 | 
            -
                 | 
| 87 | 
            +
                machine = machine.split(".")[0] if machine.include?(".")
         | 
| 88 | 
            +
                machine.strip
         | 
| 89 89 | 
             
              end
         | 
| 90 90 |  | 
| 91 91 | 
             
              def user
         | 
| 92 | 
            -
                get_env( | 
| 92 | 
            +
                get_env("USERNAME")
         | 
| 93 93 | 
             
              end
         | 
| 94 94 |  | 
| 95 | 
            -
              def get_env | 
| 96 | 
            -
                if | 
| 97 | 
            -
             | 
| 98 | 
            -
                  end
         | 
| 95 | 
            +
              def get_env(key)
         | 
| 96 | 
            +
                return @env[key] if !@env.nil? && @env.key?(key)
         | 
| 97 | 
            +
             | 
| 99 98 | 
             
                value = ENV[key]
         | 
| 100 | 
            -
                if | 
| 101 | 
            -
                   | 
| 102 | 
            -
                     | 
| 103 | 
            -
                      value=get_env(akey) if value.nil?
         | 
| 104 | 
            -
                    }
         | 
| 99 | 
            +
                if value.nil? && @env_aliases.key?(key)
         | 
| 100 | 
            +
                  @env_aliases[key].each do |akey|
         | 
| 101 | 
            +
                    value = get_env(akey) if value.nil?
         | 
| 105 102 | 
             
                  end
         | 
| 106 103 | 
             
                end
         | 
| 107 104 | 
             
                value
         | 
| 108 105 | 
             
              end
         | 
| 109 106 |  | 
| 110 | 
            -
              def set_env | 
| 111 | 
            -
                @env[key]=value
         | 
| 107 | 
            +
              def set_env(key, value)
         | 
| 108 | 
            +
                @env[key] = value
         | 
| 112 109 | 
             
              end
         | 
| 113 110 |  | 
| 114 111 | 
             
              def debug?
         | 
| 115 112 | 
             
                return true if defined?(DEBUG)
         | 
| 113 | 
            +
             | 
| 116 114 | 
             
                false
         | 
| 117 115 | 
             
              end
         | 
| 118 116 |  | 
| 119 117 | 
             
              def colorize?
         | 
| 120 | 
            -
                colorize=true
         | 
| 118 | 
            +
                colorize = true
         | 
| 121 119 | 
             
                if Environment.windows?
         | 
| 122 | 
            -
                  if | 
| 123 | 
            -
                    require  | 
| 120 | 
            +
                  if `gem list win32console`.include?("win32console")
         | 
| 121 | 
            +
                    require "ansi/code"
         | 
| 124 122 | 
             
                  else
         | 
| 125 | 
            -
                    colorize=false
         | 
| 123 | 
            +
                    colorize = false
         | 
| 126 124 | 
             
                  end
         | 
| 127 125 | 
             
                end
         | 
| 128 | 
            -
                if Environment.mac?
         | 
| 129 | 
            -
                  colorize=false
         | 
| 130 | 
            -
                end
         | 
| 126 | 
            +
                colorize = false if Environment.mac?
         | 
| 131 127 | 
             
                colorize
         | 
| 132 128 | 
             
              end
         | 
| 133 129 |  | 
| 134 130 | 
             
              def working?
         | 
| 135 131 | 
             
                return true if Rake.application.original_dir.include? wrk_dir
         | 
| 132 | 
            +
             | 
| 136 133 | 
             
                false
         | 
| 137 134 | 
             
              end
         | 
| 138 135 |  | 
| @@ -140,9 +137,9 @@ class Environment < Hash | |
| 140 137 | 
             
                true
         | 
| 141 138 | 
             
              end
         | 
| 142 139 |  | 
| 143 | 
            -
              def out | 
| 144 | 
            -
             | 
| 145 | 
            -
             | 
| 140 | 
            +
              def out(message)
         | 
| 141 | 
            +
                puts message unless get_env("SUPPRESS_CONSOLE_OUTPUT")
         | 
| 142 | 
            +
                @output = "#{@output}#{message}\\n"
         | 
| 146 143 | 
             
              end
         | 
| 147 144 |  | 
| 148 145 | 
             
              def show_success?
         | 
| @@ -151,17 +148,13 @@ class Environment < Hash | |
| 151 148 |  | 
| 152 149 | 
             
              def self.OS
         | 
| 153 150 | 
             
                if windows?
         | 
| 154 | 
            -
                   | 
| 151 | 
            +
                  "windows"
         | 
| 152 | 
            +
                elsif mac?
         | 
| 153 | 
            +
                  "mac"
         | 
| 154 | 
            +
                elsif linux?
         | 
| 155 | 
            +
                  "linux"
         | 
| 155 156 | 
             
                else
         | 
| 156 | 
            -
                   | 
| 157 | 
            -
                    return "mac"
         | 
| 158 | 
            -
                  else
         | 
| 159 | 
            -
                    if linux?
         | 
| 160 | 
            -
                      return "linux"
         | 
| 161 | 
            -
                    else
         | 
| 162 | 
            -
                      return "unix"
         | 
| 163 | 
            -
                    end
         | 
| 164 | 
            -
                  end
         | 
| 157 | 
            +
                  "unix"
         | 
| 165 158 | 
             
                end
         | 
| 166 159 | 
             
              end
         | 
| 167 160 |  | 
| @@ -170,7 +163,7 @@ class Environment < Hash | |
| 170 163 | 
             
              end
         | 
| 171 164 |  | 
| 172 165 | 
             
              def self.mac?
         | 
| 173 | 
            -
             | 
| 166 | 
            +
                (/darwin/ =~ RUBY_PLATFORM) != nil
         | 
| 174 167 | 
             
              end
         | 
| 175 168 |  | 
| 176 169 | 
             
              def self.unix?
         | 
| @@ -178,46 +171,48 @@ class Environment < Hash | |
| 178 171 | 
             
              end
         | 
| 179 172 |  | 
| 180 173 | 
             
              def self.linux?
         | 
| 181 | 
            -
                unix? and  | 
| 174 | 
            +
                unix? and !mac?
         | 
| 182 175 | 
             
              end
         | 
| 183 176 |  | 
| 184 177 | 
             
              def self.check
         | 
| 185 | 
            -
                puts  | 
| 186 | 
            -
                missing_command=false
         | 
| 187 | 
            -
                [ | 
| 188 | 
            -
             | 
| 189 | 
            -
                  command | 
| 190 | 
            -
                  command[: | 
| 178 | 
            +
                puts "checking commands..."
         | 
| 179 | 
            +
                missing_command = false
         | 
| 180 | 
            +
                ["ruby --version", "svn --version --quiet", "git --version", "msbuild /version", "nunit-console", "nuget", "candle",
         | 
| 181 | 
            +
                 "light", "gem --version"].each do |cmd|
         | 
| 182 | 
            +
                  command = Command.new(cmd)
         | 
| 183 | 
            +
                  command[:quiet] = true
         | 
| 184 | 
            +
                  command[:ignore_failure] = true
         | 
| 191 185 | 
             
                  command.execute
         | 
| 192 | 
            -
                  if(command[:exit_code] | 
| 193 | 
            -
                    puts "#{cmd.split( | 
| 186 | 
            +
                  if (command[:exit_code]).zero?
         | 
| 187 | 
            +
                    puts "#{cmd.split(" ")[0]} #{get_version(command[:output])}"
         | 
| 194 188 | 
             
                  else
         | 
| 195 | 
            -
                    puts "#{cmd.split( | 
| 196 | 
            -
             | 
| 189 | 
            +
                    puts "#{cmd.split(" ")[0]} not found."
         | 
| 190 | 
            +
                    missing_command = true
         | 
| 197 191 | 
             
                  end
         | 
| 198 | 
            -
             | 
| 199 | 
            -
                 | 
| 200 | 
            -
             | 
| 192 | 
            +
                end
         | 
| 193 | 
            +
                if missing_command
         | 
| 194 | 
            +
                  puts "missing commands may be resolved by making sure that are installed and in PATH environment variable."
         | 
| 195 | 
            +
                end
         | 
| 201 196 | 
             
              end
         | 
| 202 197 |  | 
| 203 | 
            -
              def self.get_version | 
| 198 | 
            +
              def self.get_version(text)
         | 
| 204 199 | 
             
                text.match(/(\d+\.\d+\.[\d\w]+)/)
         | 
| 205 200 | 
             
              end
         | 
| 206 201 |  | 
| 207 | 
            -
              def info | 
| 202 | 
            +
              def info
         | 
| 208 203 | 
             
                puts "Environment"
         | 
| 209 204 | 
             
                puts "  ruby version: #{`ruby --version`}"
         | 
| 210 205 | 
             
                puts " ruby platform: #{RUBY_PLATFORM}"
         | 
| 211 | 
            -
                puts "      dev_root: #{ | 
| 212 | 
            -
                puts "       machine: #{ | 
| 213 | 
            -
                puts "          user: #{ | 
| 206 | 
            +
                puts "      dev_root: #{root_dir}"
         | 
| 207 | 
            +
                puts "       machine: #{machine}"
         | 
| 208 | 
            +
                puts "          user: #{user}"
         | 
| 214 209 | 
             
                puts "            os: #{Environment.OS}"
         | 
| 215 | 
            -
                #puts " configuration: #{self.configuration}"
         | 
| 216 | 
            -
                puts "         debug: #{ | 
| 217 | 
            -
                #puts "git user.email: #{Git.user_email}" | 
| 210 | 
            +
                # puts " configuration: #{self.configuration}"
         | 
| 211 | 
            +
                puts "         debug: #{debug?}"
         | 
| 212 | 
            +
                # puts "git user.email: #{Git.user_email}"
         | 
| 218 213 | 
             
                puts " "
         | 
| 219 | 
            -
                #puts "Path Commands"
         | 
| 220 | 
            -
                #['svn --version --quiet','git --version','msbuild /version','nuget','candle','light','gem --version'].each{|cmd|
         | 
| 214 | 
            +
                # puts "Path Commands"
         | 
| 215 | 
            +
                # ['svn --version --quiet','git --version','msbuild /version','nuget','candle','light','gem --version'].each{|cmd|
         | 
| 221 216 | 
             
                #  command=Command.new(cmd)
         | 
| 222 217 | 
             
                #  command[:quiet]=true
         | 
| 223 218 | 
             
                #  command[:ignore_failure]=true
         | 
| @@ -228,9 +223,9 @@ class Environment < Hash | |
| 228 223 | 
             
                #    puts "#{cmd.split(' ')[0].fix(14)} not found."
         | 
| 229 224 | 
             
                #      missing_command=true
         | 
| 230 225 | 
             
                #  end
         | 
| 231 | 
            -
                #}
         | 
| 226 | 
            +
                # }
         | 
| 232 227 | 
             
              end
         | 
| 233 228 | 
             
            end
         | 
| 234 229 |  | 
| 235 230 | 
             
            puts "" if defined?(DEBUG)
         | 
| 236 | 
            -
            puts Environment.default.info if defined?(DEBUG)
         | 
| 231 | 
            +
            puts Environment.default.info if defined?(DEBUG)
         | 
    
        data/lib/base/file.rb
    CHANGED
    
    | @@ -1,40 +1,42 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            puts __FILE__ if defined?(DEBUG)
         | 
| 2 4 |  | 
| 3 | 
            -
            require  | 
| 5 | 
            +
            require "fileutils"
         | 
| 4 6 |  | 
| 5 7 | 
             
            class File
         | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
            	def self.publish destination, source_dir, source_glob='**/*', exclude_glob=nil# overwrite_existing=false
         | 
| 8 | 
            +
              def self.amalgamate(filename, source)
         | 
| 9 | 
            +
                File.open(filename, "w") do |file|
         | 
| 10 | 
            +
                  source.each do |source_file|
         | 
| 11 | 
            +
                    file.puts IO.read(source_file)
         | 
| 12 | 
            +
                  end
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
              end
         | 
| 15 15 |  | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 16 | 
            +
              # overwrite_existing=false
         | 
| 17 | 
            +
              def self.publish(destination, source_dir, source_glob = "**/*", exclude_glob = nil)
         | 
| 18 | 
            +
                output = "\n"
         | 
| 19 | 
            +
                FileUtils.mkdir_p destination unless File.exist? destination
         | 
| 18 20 |  | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 21 | 
            +
                files = nil
         | 
| 22 | 
            +
                Dir.chdir(source_dir) do
         | 
| 23 | 
            +
                  files = FileList.new(source_glob).to_a
         | 
| 24 | 
            +
                  unless exclude_glob.nil?
         | 
| 25 | 
            +
                    FileList.new(exclude_glob).to_a.each do |f|
         | 
| 26 | 
            +
                      files.delete(f) if files.include?(f)
         | 
| 27 | 
            +
                    end
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
                end
         | 
| 30 | 
            +
                output += "\nfiles: #{files}.to_s"
         | 
| 29 31 |  | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
            end
         | 
| 32 | 
            +
                Dir.chdir(source_dir) do
         | 
| 33 | 
            +
                  files.each do |f|
         | 
| 34 | 
            +
                    file = "#{destination}/#{f}"
         | 
| 35 | 
            +
                    dirname = File.dirname(file)
         | 
| 36 | 
            +
                    FileUtils.mkdir_p dirname unless File.exist? dirname
         | 
| 37 | 
            +
                    FileUtils.cp(f, file) unless File.exist? file # || overwrite_existing
         | 
| 38 | 
            +
                  end
         | 
| 39 | 
            +
                end
         | 
| 40 | 
            +
                output
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
            end
         |