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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/apps/git.rb +207 -208
  3. data/lib/apps/msbuild.rb +90 -90
  4. data/lib/apps/nbench.rb +2 -1
  5. data/lib/apps/nuget.rb +57 -59
  6. data/lib/apps/svn.rb +137 -143
  7. data/lib/apps/wix.rb +47 -50
  8. data/lib/apps/xcodebuild.rb +13 -11
  9. data/lib/apps/zip.rb +25 -25
  10. data/lib/apps.rb +3 -1
  11. data/lib/base/array.rb +66 -64
  12. data/lib/base/command.rb +237 -238
  13. data/lib/base/dir.rb +73 -76
  14. data/lib/base/environment.rb +94 -99
  15. data/lib/base/file.rb +35 -33
  16. data/lib/base/gemspec.rb +47 -45
  17. data/lib/base/giturl.rb +88 -90
  18. data/lib/base/hash.rb +20 -15
  19. data/lib/base/history.rb +36 -33
  20. data/lib/base/internet.rb +22 -20
  21. data/lib/base/project.rb +410 -423
  22. data/lib/base/projects.rb +231 -246
  23. data/lib/base/source.rb +22 -20
  24. data/lib/base/string.rb +6 -4
  25. data/lib/base/text.rb +16 -14
  26. data/lib/base/timeout.rb +29 -28
  27. data/lib/base/timer.rb +23 -19
  28. data/lib/base/version.rb +68 -72
  29. data/lib/base.rb +5 -3
  30. data/lib/commands.rb +47 -43
  31. data/lib/dev.config.rb +3 -2
  32. data/lib/dev.rb +65 -66
  33. data/lib/tasks/add.rb +34 -40
  34. data/lib/tasks/analyze.rb +17 -15
  35. data/lib/tasks/build.rb +101 -103
  36. data/lib/tasks/clean.rb +6 -4
  37. data/lib/tasks/clobber.rb +20 -18
  38. data/lib/tasks/commit.rb +42 -44
  39. data/lib/tasks/default.rb +41 -39
  40. data/lib/tasks/doc.rb +10 -8
  41. data/lib/tasks/info.rb +8 -7
  42. data/lib/tasks/package.rb +23 -20
  43. data/lib/tasks/publish.rb +20 -25
  44. data/lib/tasks/pull.rb +9 -9
  45. data/lib/tasks/push.rb +11 -13
  46. data/lib/tasks/setup.rb +180 -183
  47. data/lib/tasks/test.rb +121 -107
  48. data/lib/tasks/update.rb +13 -11
  49. data/lib/tasks.rb +38 -42
  50. metadata +7 -9
  51. data/bin/dev +0 -3
data/lib/base/gemspec.rb CHANGED
@@ -1,51 +1,53 @@
1
+ # frozen_string_literal: true
2
+
1
3
  puts __FILE__ if defined?(DEBUG)
2
- require_relative('command.rb')
4
+ require_relative("command")
3
5
 
4
6
  class Gemspec
5
- def self.update gemspec_file
6
- Text.replace_in_file gemspec_file,
7
- /('\d{4}-\d{2}-\d{2}')/,
8
- "'#{Time.now.strftime('%Y-%m-%d')}'"
9
- end
10
-
11
- def self.gemfile gemspec_file
12
- spec=Gem::Specification.load(gemspec_file)
13
- return "#{spec.name}-#{spec.version}.gem" if !spec.nil?
14
- return ""
15
- end
16
-
17
- def self.version gemspec_file
18
- spec=Gem::Specification.load(gemspec_file)
19
- return spec.version.to_s
20
- end
7
+ def self.update(gemspec_file)
8
+ Text.replace_in_file gemspec_file,
9
+ /('\d{4}-\d{2}-\d{2}')/,
10
+ "'#{Time.now.strftime("%Y-%m-%d")}'"
11
+ end
21
12
 
22
- def self.latest_published_version gemname
23
- scan=`gem list -r #{gemname}`.scan(/^dev\s*\(([\d.]+)\)/)
24
- if(!scan.nil?)
25
- return scan[0][0] if(scan.length > 0 && !scan[0].nil? && scan[0].length > 0)
26
- end
27
- ''
28
- end
13
+ def self.gemfile(gemspec_file)
14
+ spec = Gem::Specification.load(gemspec_file)
15
+ return "#{spec.name}-#{spec.version}.gem" unless spec.nil?
16
+
17
+ ""
18
+ end
19
+
20
+ def self.version(gemspec_file)
21
+ spec = Gem::Specification.load(gemspec_file)
22
+ spec.version.to_s
23
+ end
29
24
 
30
- def self.published_version gemspec_file
31
- published_version=''
32
- spec=Gem::Specification.load(gemspec_file)
33
- begin
34
- published_version = latest_published_version spec.name# `gem list -r #{spec.name}`.scan(/\((\d+.\d+.\d+)\)/)[0][0]
35
- rescue
36
- published_version=''
37
- end
38
- published_version
25
+ def self.latest_published_version(gemname)
26
+ scan = `gem list -r #{gemname}`.scan(/^dev\s*\(([\d.]+)\)/)
27
+ return scan[0][0] if !scan.nil? && (scan.length.positive? && !scan[0].nil? && scan[0].length.positive?)
28
+
29
+ ""
30
+ end
31
+
32
+ def self.published_version(gemspec_file)
33
+ published_version = ""
34
+ spec = Gem::Specification.load(gemspec_file)
35
+ begin
36
+ published_version = latest_published_version spec.name # `gem list -r #{spec.name}`.scan(/\((\d+.\d+.\d+)\)/)[0][0]
37
+ rescue StandardError
38
+ published_version = ""
39
39
  end
40
- def self.published? gemspec_file
41
- published_version(gemspec_file)==version(gemspec_file) ? true : false
42
- end
43
-
44
- def self.normalize gemspec_file
45
- spec=Gem::Specification.load(gemspec_file)
46
- File.open(gemspec_file,'w'){|f|f.write(spec.to_ruby)}
47
- end
48
-
49
- def self.upgrade gemspec_file
50
- end
51
- end
40
+ published_version
41
+ end
42
+
43
+ def self.published?(gemspec_file)
44
+ published_version(gemspec_file) == version(gemspec_file)
45
+ end
46
+
47
+ def self.normalize(gemspec_file)
48
+ spec = Gem::Specification.load(gemspec_file)
49
+ File.open(gemspec_file, "w") { |f| f.write(spec.to_ruby) }
50
+ end
51
+
52
+ def self.upgrade(gemspec_file); end
53
+ end
data/lib/base/giturl.rb CHANGED
@@ -1,107 +1,105 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class GitUrl
4
+ def self.pull(url)
5
+ if url.is_a?(Array)
6
+ url.each { |u| GitUrl.pull u }
7
+ else
8
+ puts " "
9
+ work_dir = get_work_dir(url)
10
+ unless Dir.exist?(work_dir)
11
+ puts "git clone #{url} #{work_dir}"
12
+ puts `git clone #{url} #{work_dir}`
13
+ end
2
14
 
3
- def self.pull url
4
- if(url.kind_of?(Array))
5
- url.each{|u| GitUrl.pull u}
6
- else
7
- puts ' '
8
- work_dir = get_work_dir(url)
9
- if(!Dir.exists?(work_dir))
10
- puts "git clone #{url} #{work_dir}"
11
- puts `git clone #{url} #{work_dir}`
12
- end
13
-
14
- Dir.chdir(work_dir) do
15
- puts "git pull (#{work_dir})"
16
- puts `git pull`
17
- end
18
- end
15
+ Dir.chdir(work_dir) do
16
+ puts "git pull (#{work_dir})"
17
+ puts `git pull`
18
+ end
19
19
  end
20
+ end
20
21
 
21
- def self.build url
22
+ def self.build(url)
23
+ if url.is_a?(Array)
24
+ url.each { |u| GitUrl.build u }
25
+ else
26
+ GitUrl.pull url
27
+ puts "build #{url}"
28
+ work_dir = get_work_dir(url)
29
+ puts "work_dir #{work_dir}"
22
30
 
23
- if(url.kind_of?(Array))
24
- url.each{|u| GitUrl.build u}
25
- else
26
- GitUrl.pull url
27
- puts "build #{url}"
28
- work_dir = get_work_dir(url)
29
- puts "work_dir #{work_dir}"
31
+ Dir.chdir(work_dir) do
32
+ puts "rake #{work_dir}"
33
+ puts `rake`
34
+ puts "rake clobber"
35
+ puts `rake clobber`
36
+ end
37
+ end
38
+ end
30
39
 
31
- Dir.chdir(work_dir) do
32
- puts "rake #{work_dir}"
33
- puts `rake`
34
- puts "rake clobber"
35
- puts `rake clobber`
36
- end
37
- end
40
+ def self.update_build_repo(url)
41
+ local_dir = "#{Environment.dev_root}/build/#{get_relative_dir(url)}"
42
+ unless Dir.exist?(local_dir)
43
+ puts "git clone #{url} #{local_dir}"
44
+ puts `git clone #{url} #{local_dir}`
38
45
  end
46
+ stags = ""
47
+ Dir.chdir(local_dir) do
48
+ puts `git pull`
49
+ end
50
+ end
39
51
 
40
- def self.update_build_repo url
41
- local_dir = Environment.dev_root + "/build/" + get_relative_dir(url)
42
- if(!Dir.exists?(local_dir))
43
- puts "git clone #{url} #{local_dir}"
44
- puts `git clone #{url} #{local_dir}`
45
- end
46
- stags=''
47
- Dir.chdir(local_dir) do
48
- puts `git pull`
49
- end
52
+ def self.build_tags(url)
53
+ if url.is_a?(Array)
54
+ url.each { |u| GitUrl.build_tags u }
55
+ else
56
+ puts "GitUrl.build_tags #{url}"
57
+ local_dir = "#{Environment.dev_root}/build/#{get_relative_dir(url)}"
58
+ unless Dir.exist?(local_dir)
59
+ puts "git clone #{url} #{local_dir}"
60
+ puts `git clone #{url} #{local_dir}`
61
+ end
62
+ stags = ""
63
+ Dir.chdir(local_dir) do
64
+ puts `git pull`
65
+ stags = `git tag`.gsub('\r', "")
66
+ end
67
+ tags = stags.split("\n").reverse
68
+ puts "tags: #{tags}"
69
+ tags.each do |tag|
70
+ build_tag url, tag.strip
71
+ end
50
72
  end
73
+ end
51
74
 
52
- def self.build_tags url
75
+ def self.build_tag(url, tag)
76
+ build_dir = get_build_dir_tag(url, tag)
77
+ unless Dir.exist?(build_dir)
78
+ puts "git clone -b #{tag} --single-branch --depth 1 #{url} #{build_dir}"
79
+ puts `git clone -b #{tag} --single-branch --depth 1 #{url} #{build_dir}`
53
80
 
54
- if(url.kind_of?(Array))
55
- url.each{|u| GitUrl.build_tags u}
56
- else
57
- puts "GitUrl.build_tags #{url}"
58
- local_dir = Environment.dev_root + "/build/" + get_relative_dir(url)
59
- if(!Dir.exists?(local_dir))
60
- puts "git clone #{url} #{local_dir}"
61
- puts `git clone #{url} #{local_dir}`
62
- end
63
- stags=''
64
- Dir.chdir(local_dir) do
65
- puts `git pull`
66
- stags = `git tag`.gsub('\r','')
67
-
68
- end
69
- tags = stags.split("\n").reverse
70
- puts "tags: #{tags}"
71
- tags.each{|tag|
72
- build_tag url, tag.strip
73
- }
81
+ if Dir.exist?(build_dir)
82
+ Dir.chdir(build_dir) do
83
+ puts "rake #{build_dir}"
84
+ puts `rake`
74
85
  end
86
+ end
75
87
  end
88
+ end
76
89
 
77
- def self.build_tag url, tag
78
- build_dir = get_build_dir_tag(url,tag)
79
- if(!Dir.exists?(build_dir))
80
- puts "git clone -b #{tag} --single-branch --depth 1 #{url} #{build_dir}"
81
- puts `git clone -b #{tag} --single-branch --depth 1 #{url} #{build_dir}`
90
+ def self.get_work_dir(url)
91
+ "#{Environment.dev_root}/work/#{get_relative_dir(url)}"
92
+ end
82
93
 
83
- if(Dir.exists?(build_dir))
84
- Dir.chdir(build_dir) do
85
- puts "rake #{build_dir}"
86
- puts `rake`
87
- end
88
- end
89
- end
90
- end
91
-
92
- def self.get_work_dir url
93
- Environment.dev_root + "/work/" + get_relative_dir(url)
94
- end
94
+ def self.get_build_dir(url)
95
+ "#{Environment.dev_root}/build/#{get_relative_dir(url)}"
96
+ end
95
97
 
96
- def self.get_build_dir url
97
- Environment.dev_root + "/build/" + get_relative_dir(url)
98
- end
98
+ def self.get_build_dir_tag(url, tag)
99
+ "#{Environment.dev_root}/build/#{get_relative_dir(url)}-#{tag}"
100
+ end
99
101
 
100
- def self.get_build_dir_tag url, tag
101
- Environment.dev_root + "/build/" + get_relative_dir(url) + "-#{tag}"
102
- end
103
-
104
- def self.get_relative_dir url
105
- url.gsub('http://','').gsub('https://','').gsub('.git','')
106
- end
107
- end
102
+ def self.get_relative_dir(url)
103
+ url.gsub("http://", "").gsub("https://", "").gsub(".git", "")
104
+ end
105
+ end
data/lib/base/hash.rb CHANGED
@@ -1,21 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  puts __FILE__ if defined?(DEBUG)
2
4
 
3
5
  class Hash
4
- def execute value=nil
5
- self.each{|k,v|
6
+ def execute(value = nil)
7
+ each do |k, v|
6
8
  v.update if v.respond_to?(:update)
7
- if(v.is_a?(Array) && v.length==0)
8
- self.delete k
9
- else
10
- v.execute(value) if v.respond_to?(:execute)
9
+ if v.is_a?(Array) && v.length.zero?
10
+ delete k
11
+ elsif v.respond_to?(:execute)
12
+ v.execute(value)
11
13
  end
12
- }
13
- end
14
- def to_html
15
- [
16
- '<div>',
17
- map { |k, v| ["<br/><div><strong>#{k}</strong>", v.respond_to?(:to_html) ? v.to_html : "<span>#{v}</span></div><br/>"] },
18
- '</div>'
19
- ].join
20
14
  end
21
- end
15
+ end
16
+
17
+ def to_html
18
+ [
19
+ "<div>",
20
+ map do |k, v|
21
+ ["<br/><div><strong>#{k}</strong>", v.respond_to?(:to_html) ? v.to_html : "<span>#{v}</span></div><br/>"]
22
+ end,
23
+ "</div>",
24
+ ].join
25
+ end
26
+ end
data/lib/base/history.rb CHANGED
@@ -1,39 +1,42 @@
1
+ # frozen_string_literal: true
2
+
1
3
  puts __FILE__ if defined?(DEBUG)
2
4
 
3
5
  class History
4
- attr_accessor :dev
6
+ attr_accessor :dev
7
+
8
+ def initialize(dev = nil)
9
+ @dev = dev
10
+ @dev = Dev.new if @dev.nil?
11
+ end
12
+
13
+ # .0. for 0 exit codes
14
+ # .X. for non 0 exit codes
15
+ # project name is contained in directory name
16
+ def get_commands(pattern)
17
+ commands = []
18
+ Dir.chdir(@dev.log_dir) do
19
+ Dir.glob("*#{pattern.gsub("/", "-")}*.*").each do |logfile|
20
+ commands << Command.new(JSON.parse(IO.read(logfile)))
21
+ end
22
+ end
23
+ commands
24
+ end
5
25
 
6
- def initialize dev=nil
7
- @dev=dev
8
- @dev=Dev.new if @dev.nil?
9
- end
10
-
11
- # .0. for 0 exit codes
12
- # .X. for non 0 exit codes
13
- # project name is contained in directory name
14
- def get_commands pattern
15
- commands=Array.new
16
- Dir.chdir(@dev.log_dir) do
17
- Dir.glob("*#{pattern.gsub('/','-')}*.*").each{|logfile|
18
- commands << Command.new(JSON.parse(IO.read(logfile)))
19
- }
20
- end
21
- commands
22
- end
26
+ def add_command(command)
27
+ code = "0"
28
+ code = "X" if command[:exit_code] != 0
29
+ directory = command[:directory].gsub(@dev.root_dir, "").gsub("/", "-")
30
+ name = "#{command[:input]}.#{code}.#{directory}.json"
31
+ filename = "#{@dev.log_dir}/#{name}"
32
+ puts "add command #{filename}" if @dev.debug?
33
+ File.open(filename, "w") { |f| f.write(command.to_json) }
34
+ end
23
35
 
24
- def add_command command
25
- code="0"
26
- code="X" if command[:exit_code] !=0
27
- directory=command[:directory].gsub(@dev.root_dir,'').gsub('/','-')
28
- name="#{command[:input]}.#{code}.#{directory}.json"
29
- filename="#{@dev.log_dir}/#{name}"
30
- puts "add command #{filename}" if @dev.debug?
31
- File.open(filename,'w'){|f|f.write(command.to_json)}
32
- end
36
+ def get_wrk_command(project_fullname)
37
+ commands = get_commands(project_fullname.to_s.gsub("/", "-"))
38
+ return commands[0] if commands.length.positive?
33
39
 
34
- def get_wrk_command project_fullname
35
- commands=get_commands("#{project_fullname}".gsub('/','-'))
36
- return commands[0] if commands.length > 0
37
- nil
38
- end
39
- end
40
+ nil
41
+ end
42
+ end
data/lib/base/internet.rb CHANGED
@@ -1,25 +1,27 @@
1
+ # frozen_string_literal: true
2
+
1
3
  puts __FILE__ if defined?(DEBUG)
2
4
 
3
- require 'open-uri'
4
- require 'timeout'
5
- class Internet
5
+ require "open-uri"
6
+ require "timeout"
6
7
 
7
- @@available=true
8
+ class Internet
9
+ @@available = true
8
10
 
9
- def self.available?
10
- return @@available if !@@available.nil?
11
+ def self.available?
12
+ return @@available unless @@available.nil?
11
13
 
12
- begin
13
- index=open('http://www.google.com').read
14
- if index.include?('<Title>Google')
15
- @@available = true
16
- else
17
- puts "open('http://www.google.com') returned false"
18
- end
19
- rescue Exception => e
20
- puts "open('http://www.google.com') raised an exception: #{e.to_s}"
21
- @@available = false
22
- end
23
- @@available
24
- end
25
- end
14
+ begin
15
+ index = open("http://www.google.com").read
16
+ if index.include?("<Title>Google")
17
+ @@available = true
18
+ else
19
+ puts "open('http://www.google.com') returned false"
20
+ end
21
+ rescue Exception => e
22
+ puts "open('http://www.google.com') raised an exception: #{e}"
23
+ @@available = false
24
+ end
25
+ @@available
26
+ end
27
+ end