autobuild 1.17.0 → 1.18.0
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/.rubocop.yml +107 -0
- data/Gemfile +2 -1
- data/Rakefile +1 -4
- data/autobuild.gemspec +14 -11
- data/bin/autobuild +4 -3
- data/lib/autobuild.rb +4 -5
- data/lib/autobuild/build_logfile.rb +6 -4
- data/lib/autobuild/config.rb +90 -40
- data/lib/autobuild/configurable.rb +30 -18
- data/lib/autobuild/environment.rb +126 -120
- data/lib/autobuild/exceptions.rb +48 -31
- data/lib/autobuild/import/archive.rb +134 -82
- data/lib/autobuild/import/cvs.rb +28 -24
- data/lib/autobuild/import/darcs.rb +13 -16
- data/lib/autobuild/import/git-lfs.rb +37 -30
- data/lib/autobuild/import/git.rb +231 -179
- data/lib/autobuild/import/hg.rb +23 -18
- data/lib/autobuild/import/svn.rb +48 -29
- data/lib/autobuild/importer.rb +530 -499
- data/lib/autobuild/mail_reporter.rb +77 -77
- data/lib/autobuild/package.rb +171 -101
- data/lib/autobuild/packages/autotools.rb +47 -42
- data/lib/autobuild/packages/cmake.rb +71 -65
- data/lib/autobuild/packages/dummy.rb +9 -8
- data/lib/autobuild/packages/genom.rb +1 -1
- data/lib/autobuild/packages/gnumake.rb +19 -13
- data/lib/autobuild/packages/import.rb +2 -6
- data/lib/autobuild/packages/orogen.rb +32 -31
- data/lib/autobuild/packages/pkgconfig.rb +2 -2
- data/lib/autobuild/packages/python.rb +7 -2
- data/lib/autobuild/packages/ruby.rb +22 -17
- data/lib/autobuild/parallel.rb +35 -39
- data/lib/autobuild/pkgconfig.rb +25 -13
- data/lib/autobuild/progress_display.rb +23 -23
- data/lib/autobuild/rake_task_extension.rb +6 -6
- data/lib/autobuild/reporting.rb +38 -26
- data/lib/autobuild/subcommand.rb +72 -65
- data/lib/autobuild/test.rb +8 -7
- data/lib/autobuild/test_utility.rb +10 -9
- data/lib/autobuild/timestamps.rb +28 -23
- data/lib/autobuild/tools.rb +17 -16
- data/lib/autobuild/utility.rb +16 -18
- data/lib/autobuild/version.rb +1 -1
- metadata +39 -38
data/lib/autobuild/test.rb
CHANGED
@@ -44,7 +44,7 @@ def setup
|
|
44
44
|
@temp_dirs = Array.new
|
45
45
|
|
46
46
|
@tempdir = make_tmpdir
|
47
|
-
FileUtils.mkdir_p(@tempdir, :
|
47
|
+
FileUtils.mkdir_p(@tempdir, mode: 0o700)
|
48
48
|
Autobuild.logdir = "#{tempdir}/log"
|
49
49
|
FileUtils.mkdir_p Autobuild.logdir
|
50
50
|
Autobuild.silent = true
|
@@ -75,20 +75,21 @@ def data_dir
|
|
75
75
|
attr_reader :tempdir
|
76
76
|
|
77
77
|
def build_config(bind, template)
|
78
|
-
|
79
|
-
ryml = File.open(File.join(data_dir, "#{template}.ryml")
|
78
|
+
bind.local_variable_set(:basedir, tempdir.to_s)
|
79
|
+
ryml = File.open(File.join(data_dir, "#{template}.ryml"), &:readlines)
|
80
|
+
.join('')
|
80
81
|
result = ERB.new(ryml).result(bind)
|
81
82
|
|
82
83
|
yml = File.join(tempdir, "#{template}.yml")
|
83
84
|
File.open(yml, 'w+') { |f| f.write(result) }
|
84
|
-
|
85
|
-
|
85
|
+
|
86
|
+
yml
|
86
87
|
end
|
87
88
|
|
88
89
|
def untar(file)
|
89
90
|
file = File.expand_path(file, data_dir)
|
90
|
-
dir =
|
91
|
-
Dir.chdir(dir) do
|
91
|
+
dir = tempdir
|
92
|
+
Dir.chdir(dir) do
|
92
93
|
system("tar xf #{file}")
|
93
94
|
end
|
94
95
|
|
@@ -29,16 +29,14 @@ def coverage_enabled?
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def coverage_available?
|
32
|
-
|
32
|
+
@coverage_source_dir
|
33
33
|
end
|
34
34
|
|
35
35
|
# Controls whether code coverage should be measured
|
36
36
|
#
|
37
37
|
# @param [Boolean,nil] flag enable or disable code coverage. If set to
|
38
38
|
# nil, will use the default from {TestUtility.coverage?}
|
39
|
-
|
40
|
-
@coverage_enabled = flag
|
41
|
-
end
|
39
|
+
attr_writer :coverage_enabled
|
42
40
|
|
43
41
|
# Where the code coverage will be generated
|
44
42
|
#
|
@@ -85,21 +83,24 @@ def install
|
|
85
83
|
if !coverage_enabled?
|
86
84
|
return
|
87
85
|
elsif !coverage_available?
|
88
|
-
package.warn "%s: #coverage_source_dir not set on #test_utility,
|
86
|
+
package.warn "%s: #coverage_source_dir not set on #test_utility, "\
|
87
|
+
"skipping installation of the code coverage results"
|
89
88
|
end
|
90
89
|
|
91
90
|
coverage_target_dir = self.coverage_target_dir
|
92
91
|
coverage_source_dir = self.coverage_source_dir
|
93
92
|
if "#{coverage_source_dir}/".start_with?("#{source_dir}/")
|
94
|
-
raise ArgumentError, "#coverage_source_dir cannot be a subdirectory
|
93
|
+
raise ArgumentError, "#coverage_source_dir cannot be a subdirectory "\
|
94
|
+
"of #source_dir in #{package.name}"
|
95
95
|
elsif target_dir == coverage_target_dir
|
96
|
-
raise ArgumentError, "#coverage_target_dir cannot be the same than of
|
96
|
+
raise ArgumentError, "#coverage_target_dir cannot be the same than of "\
|
97
|
+
"#target_dir in #{package.name}"
|
97
98
|
end
|
98
99
|
|
99
100
|
FileUtils.mkdir_p File.dirname(coverage_target_dir)
|
100
101
|
FileUtils.cp_r coverage_source_dir, coverage_target_dir
|
101
|
-
package.message "%s: copied test coverage results for #{package.name} from
|
102
|
+
package.message "%s: copied test coverage results for #{package.name} from "\
|
103
|
+
"#{coverage_source_dir} to #{coverage_target_dir}"
|
102
104
|
end
|
103
105
|
end
|
104
106
|
end
|
105
|
-
|
data/lib/autobuild/timestamps.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Autobuild
|
2
|
-
STAMPFILE = "autobuild-stamp"
|
2
|
+
STAMPFILE = "autobuild-stamp".freeze
|
3
3
|
|
4
4
|
class << self
|
5
5
|
# The set of global ignores for SourceTreeTask
|
@@ -15,17 +15,18 @@ class << self
|
|
15
15
|
# The matching paths will not be considered when looking if a source tree
|
16
16
|
# has been updated or not.
|
17
17
|
def self.ignore(path)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
ignored_files <<
|
19
|
+
if path.kind_of?(Regexp)
|
20
|
+
path
|
21
|
+
else
|
22
|
+
Regexp.new("^#{Regexp.quote(path)}")
|
23
|
+
end
|
23
24
|
end
|
24
25
|
|
25
26
|
def self.tree_timestamp(path, *exclude)
|
26
27
|
# Exclude autobuild timestamps
|
27
|
-
exclude <<
|
28
|
-
exclude <<
|
28
|
+
exclude << /#{Regexp.quote(STAMPFILE)}$/
|
29
|
+
exclude << /\.autobuild-patches$/
|
29
30
|
|
30
31
|
Autobuild.message "getting tree timestamp for #{path}" if Autobuild.debug
|
31
32
|
latest = Time.at(0)
|
@@ -33,13 +34,15 @@ def self.tree_timestamp(path, *exclude)
|
|
33
34
|
|
34
35
|
Find.find(path) do |p|
|
35
36
|
Find.prune if File.basename(p) =~ /^\./
|
36
|
-
exclude.each do |pattern|
|
37
|
+
exclude.each do |pattern|
|
37
38
|
if pattern === p
|
38
|
-
|
39
|
+
if Autobuild.debug
|
40
|
+
Autobuild.message " excluding #{p} because of #{pattern}"
|
41
|
+
end
|
39
42
|
Find.prune
|
40
43
|
end
|
41
44
|
end
|
42
|
-
next
|
45
|
+
next unless File.file?(p)
|
43
46
|
|
44
47
|
p_time = File.mtime(p)
|
45
48
|
if latest < p_time
|
@@ -49,7 +52,7 @@ def self.tree_timestamp(path, *exclude)
|
|
49
52
|
end
|
50
53
|
|
51
54
|
Autobuild.message " newest file: #{latest_file} at #{latest}" if Autobuild.debug
|
52
|
-
|
55
|
+
[latest_file, latest]
|
53
56
|
end
|
54
57
|
|
55
58
|
class SourceTreeTask < Rake::Task
|
@@ -62,26 +65,28 @@ def initialize(*args, &block)
|
|
62
65
|
@exclude = Autobuild.ignored_files.dup
|
63
66
|
super
|
64
67
|
end
|
65
|
-
|
68
|
+
|
66
69
|
def timestamp
|
67
|
-
if @newest_time
|
68
|
-
return @newest_time
|
69
|
-
end
|
70
|
+
return @newest_time if @newest_time
|
70
71
|
|
71
72
|
@newest_file, @newest_time =
|
72
|
-
Autobuild.tree_timestamp(name,
|
73
|
+
Autobuild.tree_timestamp(name,
|
74
|
+
%r{(?:^|/)(?:CVS|_darcs|\.svn)$}, *@exclude)
|
73
75
|
@newest_time
|
74
76
|
end
|
75
77
|
end
|
76
78
|
def self.source_tree(path, &block)
|
77
79
|
task = SourceTreeTask.define_task(path)
|
78
|
-
block
|
80
|
+
block&.call(task)
|
79
81
|
task
|
80
82
|
end
|
81
|
-
|
83
|
+
|
82
84
|
def self.get_stamp(stampfile)
|
83
|
-
|
84
|
-
|
85
|
+
if File.exist?(stampfile)
|
86
|
+
File.mtime(stampfile)
|
87
|
+
else
|
88
|
+
Time.at(0)
|
89
|
+
end
|
85
90
|
end
|
86
91
|
|
87
92
|
def self.hires_modification_time?
|
@@ -103,9 +108,10 @@ def self.touch_stamp(stampfile)
|
|
103
108
|
elsif !File.exist?(dir)
|
104
109
|
FileUtils.mkdir_p dir
|
105
110
|
end
|
111
|
+
|
106
112
|
FileUtils.touch(stampfile)
|
107
113
|
|
108
|
-
|
114
|
+
unless hires_modification_time?
|
109
115
|
# File modification times on most Unix filesystems have a granularity of
|
110
116
|
# one second, so we (unfortunately) have to sleep 1s to make sure that
|
111
117
|
# time comparisons will work as expected.
|
@@ -113,4 +119,3 @@ def self.touch_stamp(stampfile)
|
|
113
119
|
end
|
114
120
|
end
|
115
121
|
end
|
116
|
-
|
data/lib/autobuild/tools.rb
CHANGED
@@ -2,7 +2,7 @@ module Autobuild
|
|
2
2
|
class << self
|
3
3
|
# Configure the programs used by different packages
|
4
4
|
attr_reader :programs
|
5
|
-
# A cache of entries in programs to their resolved full path
|
5
|
+
# A cache of entries in programs to their resolved full path
|
6
6
|
#
|
7
7
|
# @return [{String=>[String,String,String]}] the triplet (full path,
|
8
8
|
# tool name, value of ENV['PATH']). The last two values are used to
|
@@ -13,7 +13,7 @@ class << self
|
|
13
13
|
|
14
14
|
# Get a given program, using its name as default value. For
|
15
15
|
# instance
|
16
|
-
# tool('automake')
|
16
|
+
# tool('automake')
|
17
17
|
# will return 'automake' unless the autobuild script defined
|
18
18
|
# another automake program in Autobuild.programs by doing
|
19
19
|
# Autobuild.programs['automake'] = 'automake1.9'
|
@@ -30,29 +30,30 @@ def find_in_path(file, envvar = 'PATH')
|
|
30
30
|
def tool_in_path(name, env: self.env)
|
31
31
|
path, path_name, path_env = programs_in_path[name]
|
32
32
|
current = tool(name)
|
33
|
-
|
34
|
-
if (path_env !=
|
33
|
+
env_path = env.resolved_env['PATH']
|
34
|
+
if (path_env != env_path) || (path_name != current)
|
35
35
|
# Delete the current entry given that it is invalid
|
36
36
|
programs_in_path.delete(name)
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
37
|
+
path =
|
38
|
+
if current[0, 1] == "/"
|
39
|
+
# This is already a full path
|
40
|
+
current
|
41
|
+
else
|
42
|
+
env.find_executable_in_path(current)
|
43
|
+
end
|
44
|
+
|
45
|
+
unless path
|
46
|
+
raise ArgumentError, "tool #{name}, set to #{current}, "\
|
47
|
+
"can not be found in PATH=#{env_path}"
|
42
48
|
end
|
43
49
|
|
44
|
-
|
45
|
-
raise ArgumentError, "tool #{name}, set to #{current}, can not be found in PATH=#{env_PATH}"
|
46
|
-
end
|
47
|
-
|
48
|
-
programs_in_path[name] = [path, current, env_PATH]
|
50
|
+
programs_in_path[name] = [path, current, env_path]
|
49
51
|
end
|
50
52
|
|
51
|
-
|
53
|
+
path
|
52
54
|
end
|
53
55
|
end
|
54
56
|
|
55
57
|
@programs = Hash.new
|
56
58
|
@programs_in_path = Hash.new
|
57
59
|
end
|
58
|
-
|
data/lib/autobuild/utility.rb
CHANGED
@@ -28,7 +28,7 @@ def initialize(name, package, install_on_error: false)
|
|
28
28
|
@source_ref_dir = nil
|
29
29
|
@source_dir = nil
|
30
30
|
@target_dir = nil
|
31
|
-
@install_on_error =
|
31
|
+
@install_on_error = install_on_error
|
32
32
|
end
|
33
33
|
|
34
34
|
# Directory in which the utility will generate some files The
|
@@ -43,9 +43,7 @@ def initialize(name, package, install_on_error: false)
|
|
43
43
|
# Absolute path to where this utulity should output its results. Returns nil if
|
44
44
|
# {source_dir} has not been set.
|
45
45
|
def source_dir
|
46
|
-
if @source_dir
|
47
|
-
File.expand_path(@source_dir, source_ref_dir || package.srcdir)
|
48
|
-
end
|
46
|
+
File.expand_path(@source_dir, source_ref_dir || package.srcdir) if @source_dir
|
49
47
|
end
|
50
48
|
|
51
49
|
# Directory in which the utility would install some files.
|
@@ -62,7 +60,9 @@ def source_dir
|
|
62
60
|
# @return [String,nil]
|
63
61
|
def target_dir
|
64
62
|
if @target_dir
|
65
|
-
|
63
|
+
utility_prefix = Autobuild.send("#{name}_prefix") || name
|
64
|
+
File.expand_path(@target_dir,
|
65
|
+
File.expand_path(utility_prefix, package.prefix))
|
66
66
|
else
|
67
67
|
File.join(package.logdir, "#{name}-results", package.name)
|
68
68
|
end
|
@@ -79,6 +79,7 @@ def target_dir
|
|
79
79
|
# @return [Rake::Task]
|
80
80
|
def task(&block)
|
81
81
|
return if @task
|
82
|
+
|
82
83
|
@task = package.task task_name do
|
83
84
|
# This flag allows to disable this utility's task
|
84
85
|
# once {task} has been called
|
@@ -92,7 +93,7 @@ def task(&block)
|
|
92
93
|
end
|
93
94
|
end
|
94
95
|
|
95
|
-
package.task name => task_name
|
96
|
+
package.task name => task_name
|
96
97
|
@task
|
97
98
|
end
|
98
99
|
|
@@ -101,16 +102,11 @@ def call_task_block
|
|
101
102
|
|
102
103
|
# Allow the user to install manually in the task
|
103
104
|
# block
|
104
|
-
if !@installed && target_dir
|
105
|
-
install
|
106
|
-
end
|
107
|
-
|
105
|
+
install if !@installed && target_dir
|
108
106
|
rescue Interrupt
|
109
107
|
raise
|
110
108
|
rescue ::Exception => e
|
111
|
-
if install_on_error? && !@installed && target_dir
|
112
|
-
install
|
113
|
-
end
|
109
|
+
install if install_on_error? && !@installed && target_dir
|
114
110
|
|
115
111
|
if Autobuild.send("pass_#{name}_errors")
|
116
112
|
raise
|
@@ -154,8 +150,10 @@ def enabled?
|
|
154
150
|
attr_writer :enabled
|
155
151
|
|
156
152
|
def install
|
157
|
-
|
158
|
-
raise "#{source_dir} was expected to be a directory, but it is not.
|
153
|
+
unless File.directory?(source_dir)
|
154
|
+
raise "#{source_dir} was expected to be a directory, but it is not. "\
|
155
|
+
"Check the package's #{name} generation. "\
|
156
|
+
"The generated #{name} products should be in #{source_dir}"
|
159
157
|
end
|
160
158
|
|
161
159
|
target_dir = self.target_dir
|
@@ -163,7 +161,8 @@ def install
|
|
163
161
|
FileUtils.rm_rf target_dir
|
164
162
|
FileUtils.mkdir_p File.dirname(target_dir)
|
165
163
|
FileUtils.cp_r source_dir, target_dir
|
166
|
-
Autoproj.message " copied #{name} results for #{package.name}
|
164
|
+
Autoproj.message " copied #{name} results for #{package.name} "\
|
165
|
+
"from #{source_dir} to #{target_dir}"
|
167
166
|
|
168
167
|
@installed = true
|
169
168
|
end
|
@@ -188,8 +187,7 @@ def task_name
|
|
188
187
|
#
|
189
188
|
# @return [Boolean]
|
190
189
|
def has_task?
|
191
|
-
|
190
|
+
Rake.application.lookup(task_name)
|
192
191
|
end
|
193
192
|
end
|
194
193
|
end
|
195
|
-
|
data/lib/autobuild/version.rb
CHANGED
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autobuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Joyeux
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: pastel
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.7.0
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 0.7.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 0.7.0
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 0.7.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: rake
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
39
|
+
version: '12.0'
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 12.3.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
49
|
+
version: '12.0'
|
50
50
|
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
52
|
+
version: 12.3.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
-
name: tty-
|
54
|
+
name: tty-cursor
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
59
|
+
version: 0.5.0
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: 0.
|
66
|
+
version: 0.5.0
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
|
-
name: tty-
|
68
|
+
name: tty-prompt
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: 0.
|
73
|
+
version: 0.15.0
|
74
74
|
type: :runtime
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
78
|
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version: 0.
|
80
|
+
version: 0.15.0
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: tty-screen
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,25 +93,39 @@ dependencies:
|
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: 0.6.4
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
96
|
+
name: utilrb
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
99
|
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
101
|
+
version: '3.0'
|
102
102
|
- - ">="
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
104
|
+
version: '3.0'
|
105
105
|
type: :runtime
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
111
|
+
version: '3.0'
|
112
112
|
- - ">="
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version:
|
114
|
+
version: '3.0'
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: fakefs
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
type: :development
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
115
129
|
- !ruby/object:Gem::Dependency
|
116
130
|
name: flexmock
|
117
131
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,20 +166,6 @@ dependencies:
|
|
152
166
|
- - ">="
|
153
167
|
- !ruby/object:Gem::Version
|
154
168
|
version: '5.0'
|
155
|
-
- !ruby/object:Gem::Dependency
|
156
|
-
name: fakefs
|
157
|
-
requirement: !ruby/object:Gem::Requirement
|
158
|
-
requirements:
|
159
|
-
- - ">="
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
version: '0'
|
162
|
-
type: :development
|
163
|
-
prerelease: false
|
164
|
-
version_requirements: !ruby/object:Gem::Requirement
|
165
|
-
requirements:
|
166
|
-
- - ">="
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
version: '0'
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: simplecov
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,6 +191,7 @@ extra_rdoc_files: []
|
|
191
191
|
files:
|
192
192
|
- ".gitattributes"
|
193
193
|
- ".gitignore"
|
194
|
+
- ".rubocop.yml"
|
194
195
|
- ".travis.yml"
|
195
196
|
- Changes.txt
|
196
197
|
- Gemfile
|
@@ -252,7 +253,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
252
253
|
requirements:
|
253
254
|
- - ">="
|
254
255
|
- !ruby/object:Gem::Version
|
255
|
-
version:
|
256
|
+
version: 2.3.0
|
256
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
257
258
|
requirements:
|
258
259
|
- - ">="
|