autobuild 1.7.2 → 1.7.3.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/autobuild/environment.rb +8 -5
- data/lib/autobuild/import/archive.rb +103 -49
- data/lib/autobuild/import/git.rb +13 -13
- data/lib/autobuild/import/svn.rb +5 -5
- data/lib/autobuild/importer.rb +15 -14
- data/lib/autobuild/package.rb +6 -0
- data/lib/autobuild/reporting.rb +2 -2
- data/lib/autobuild/version.rb +1 -1
- metadata +16 -16
@@ -12,7 +12,7 @@ module Autobuild
|
|
12
12
|
@windows
|
13
13
|
end
|
14
14
|
|
15
|
-
@macos = RbConfig::CONFIG["host_os"]
|
15
|
+
@macos = RbConfig::CONFIG["host_os"] =~%r!([Dd]arwin)!
|
16
16
|
def self.macos?
|
17
17
|
@macos
|
18
18
|
end
|
@@ -212,6 +212,13 @@ module Autobuild
|
|
212
212
|
end
|
213
213
|
end
|
214
214
|
|
215
|
+
def self.env_remove_path(name, *paths)
|
216
|
+
paths.each do |p|
|
217
|
+
environment[name].delete(p)
|
218
|
+
end
|
219
|
+
env_update_var(name)
|
220
|
+
end
|
221
|
+
|
215
222
|
def self.env_push_path(name, *values)
|
216
223
|
if current = environment[name]
|
217
224
|
current = current.dup
|
@@ -385,7 +392,3 @@ module Autobuild
|
|
385
392
|
end
|
386
393
|
end
|
387
394
|
|
388
|
-
Autobuild.update_environment '/', ['PKG_CONFIG_PATH']
|
389
|
-
Autobuild.update_environment '/usr', ['PKG_CONFIG_PATH']
|
390
|
-
Autobuild.update_environment '/usr/local', ['PKG_CONFIG_PATH']
|
391
|
-
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'autobuild/importer'
|
2
|
+
require 'digest/sha1'
|
2
3
|
require 'open-uri'
|
3
4
|
require 'fileutils'
|
4
5
|
|
@@ -47,44 +48,42 @@ module Autobuild
|
|
47
48
|
|
48
49
|
|
49
50
|
def get_url_on_windows(url, filename)
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
end
|
51
|
+
uri = URI(url)
|
52
|
+
|
53
|
+
http = Net::HTTP.new(uri.host,uri.port)
|
54
|
+
http.use_ssl = true if uri.port == 443
|
55
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE #Unsure, critical?, Review this
|
56
|
+
resp = http.get(uri.request_uri)
|
57
|
+
|
58
|
+
if resp.code == "301" or resp.code == "302"
|
59
|
+
get_url_on_windows(resp.header['location'],filename)
|
60
|
+
else
|
61
|
+
if resp.message != 'OK'
|
62
|
+
raise "Could not get File from url \"#{url}\", got response #{resp.message} (#{resp.code})"
|
63
|
+
end
|
64
|
+
open(filename, "wb") do |file|
|
65
|
+
file.write(resp.body)
|
66
|
+
end
|
67
|
+
end
|
68
68
|
end
|
69
69
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
end
|
70
|
+
def extract_tar_on_windows(filename,target)
|
71
|
+
Gem::Package::TarReader.new(Zlib::GzipReader.open(filename)).each do |entry|
|
72
|
+
newname = File.join(target,entry.full_name.slice(entry.full_name.index('/'),entry.full_name.size))
|
73
|
+
if(entry.directory?)
|
74
|
+
FileUtils.mkdir_p(newname)
|
75
|
+
end
|
76
|
+
if(entry.file?)
|
77
|
+
dir = newname.slice(0,newname.rindex('/'))
|
78
|
+
if(!File.directory?(dir))
|
79
|
+
FileUtils.mkdir_p(dir)
|
80
|
+
end
|
81
|
+
open(newname, "wb") do |file|
|
82
|
+
file.write(entry.read)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
88
87
|
|
89
88
|
# Updates the downloaded file in cache only if it is needed
|
90
89
|
def update_cache(package)
|
@@ -123,24 +122,32 @@ module Autobuild
|
|
123
122
|
if do_update
|
124
123
|
FileUtils.mkdir_p(cachedir)
|
125
124
|
begin
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
125
|
+
if(WINDOWS)
|
126
|
+
get_url_on_windows(@url, "#{cachefile}.partial")
|
127
|
+
else
|
128
|
+
Subprocess.run(package, :import, Autobuild.tool('wget'), '-q', '-P', cachedir, @url, '-O', "#{cachefile}.partial")
|
129
|
+
end
|
131
130
|
rescue Exception
|
132
131
|
FileUtils.rm_f "#{cachefile}.partial"
|
133
132
|
raise
|
134
133
|
end
|
135
134
|
FileUtils.mv "#{cachefile}.partial", cachefile
|
136
|
-
true
|
137
135
|
end
|
136
|
+
|
137
|
+
@cachefile_digest = Digest::SHA1.hexdigest File.read(cachefile)
|
138
|
+
|
139
|
+
do_update
|
138
140
|
end
|
139
141
|
|
140
142
|
# The source URL
|
141
143
|
attr_reader :url
|
142
144
|
# The local file (either a downloaded file if +url+ is not local, or +url+ itself)
|
143
145
|
attr_reader :cachefile
|
146
|
+
# The SHA1 digest of the current cachefile. It is updated only once the
|
147
|
+
# cachefile has been downloaded
|
148
|
+
#
|
149
|
+
# @return [String] hexadecimal SHA1 digest of the file
|
150
|
+
attr_reader :cachefile_digest
|
144
151
|
# The unpack mode. One of Zip, Bzip, Gzip or Plain
|
145
152
|
attr_reader :mode
|
146
153
|
# The directory in which remote files are cached
|
@@ -190,15 +197,61 @@ module Autobuild
|
|
190
197
|
end
|
191
198
|
|
192
199
|
def update(package) # :nodoc:
|
193
|
-
|
200
|
+
needs_update = update_cache(package)
|
201
|
+
|
202
|
+
if !File.file?(checkout_digest_stamp(package))
|
203
|
+
write_checkout_digest_stamp(package)
|
204
|
+
end
|
205
|
+
|
206
|
+
if needs_update || archive_changed?(package)
|
194
207
|
checkout(package)
|
195
208
|
end
|
196
209
|
rescue OpenURI::HTTPError
|
197
210
|
raise Autobuild::Exception.new(package.name, :import)
|
198
211
|
end
|
199
212
|
|
213
|
+
def checkout_digest_stamp(package)
|
214
|
+
File.join(package.srcdir, "archive-autobuild-stamp")
|
215
|
+
end
|
216
|
+
|
217
|
+
def write_checkout_digest_stamp(package)
|
218
|
+
File.open(checkout_digest_stamp(package), 'w') do |io|
|
219
|
+
io.write cachefile_digest
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
# Returns true if the archive that has been used to checkout this
|
224
|
+
# package is different from the one we are supposed to checkout now
|
225
|
+
def archive_changed?(package)
|
226
|
+
checkout_digest = File.read(checkout_digest_stamp(package)).strip
|
227
|
+
checkout_digest != cachefile_digest
|
228
|
+
end
|
229
|
+
|
200
230
|
def checkout(package) # :nodoc:
|
201
231
|
update_cache(package)
|
232
|
+
|
233
|
+
# Check whether the archive file changed, and if that is the case
|
234
|
+
# then ask the user about deleting the folder
|
235
|
+
if File.file?(checkout_digest_stamp(package)) && archive_changed?(package)
|
236
|
+
package.progress_done
|
237
|
+
package.message "The archive #{@url.to_s} is different from the one currently checked out at #{package.srcdir}", :bold
|
238
|
+
package.message " I will have to delete the current folder to go on with the update"
|
239
|
+
response = HighLine.new.ask " Continue (yes or no) ? If no, this update will be ignored, which can lead to build problems.", String do |q|
|
240
|
+
q.overwrite = true
|
241
|
+
q.in = ['yes', 'no']
|
242
|
+
q.default = 'yes'
|
243
|
+
q.case = :downcase
|
244
|
+
end
|
245
|
+
if response == "no"
|
246
|
+
package.message " Not updating #{package.srcdir}"
|
247
|
+
return
|
248
|
+
else
|
249
|
+
package.message " Deleting #{package.srcdir}"
|
250
|
+
FileUtils.rm_rf package.srcdir
|
251
|
+
package.progress "checking out %s"
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
202
255
|
# Un-apply any existing patch so that, when the files get
|
203
256
|
# overwritten by the new checkout, the patch are re-applied
|
204
257
|
patch(package, [])
|
@@ -227,17 +280,18 @@ module Autobuild
|
|
227
280
|
cmd << '--strip-components=1'
|
228
281
|
end
|
229
282
|
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
283
|
+
if(WINDOWS)
|
284
|
+
extract_tar_on_windows(cachefile,package.srcdir)
|
285
|
+
else
|
286
|
+
Subprocess.run(package, :import, Autobuild.tool('tar'), *cmd)
|
287
|
+
end
|
235
288
|
end
|
289
|
+
write_checkout_digest_stamp(package)
|
236
290
|
|
237
291
|
rescue OpenURI::HTTPError
|
238
292
|
raise Autobuild::Exception.new(package.name, :import)
|
239
293
|
rescue SubcommandFailed
|
240
|
-
|
294
|
+
FileUtils.rm_f cachefile
|
241
295
|
raise
|
242
296
|
end
|
243
297
|
end
|
data/lib/autobuild/import/git.rb
CHANGED
@@ -111,9 +111,9 @@ module Autobuild
|
|
111
111
|
|
112
112
|
# Raises ConfigException if the current directory is not a git
|
113
113
|
# repository
|
114
|
-
def
|
115
|
-
if !File.directory?(File.join(package.
|
116
|
-
raise ConfigException.new(package, 'import'), "while importing #{package.name}, #{package.
|
114
|
+
def validate_importdir(package)
|
115
|
+
if !File.directory?(File.join(package.importdir, '.git'))
|
116
|
+
raise ConfigException.new(package, 'import'), "while importing #{package.name}, #{package.importdir} is not a git repository"
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
@@ -121,8 +121,8 @@ module Autobuild
|
|
121
121
|
# ID on success, nil on failure. Expects the current directory to be the
|
122
122
|
# package's source directory.
|
123
123
|
def fetch_remote(package)
|
124
|
-
|
125
|
-
Dir.chdir(package.
|
124
|
+
validate_importdir(package)
|
125
|
+
Dir.chdir(package.importdir) do
|
126
126
|
# If we are checking out a specific commit, we don't know which
|
127
127
|
# branch to refer to in git fetch. So, we have to set up the
|
128
128
|
# remotes and call git fetch directly (so that all branches get
|
@@ -186,8 +186,8 @@ module Autobuild
|
|
186
186
|
# Returns a Importer::Status object that represents the status of this
|
187
187
|
# package w.r.t. the root repository
|
188
188
|
def status(package, only_local = false)
|
189
|
-
Dir.chdir(package.
|
190
|
-
|
189
|
+
Dir.chdir(package.importdir) do
|
190
|
+
validate_importdir(package)
|
191
191
|
remote_commit = nil
|
192
192
|
if only_local
|
193
193
|
remote_commit = `git show-ref -s refs/remotes/autobuild/#{remote_branch}`.chomp
|
@@ -316,8 +316,8 @@ module Autobuild
|
|
316
316
|
end
|
317
317
|
|
318
318
|
def update(package)
|
319
|
-
|
320
|
-
Dir.chdir(package.
|
319
|
+
validate_importdir(package)
|
320
|
+
Dir.chdir(package.importdir) do
|
321
321
|
fetch_commit = fetch_remote(package)
|
322
322
|
|
323
323
|
# If we are tracking a commit/tag, just check it out and return
|
@@ -376,7 +376,7 @@ module Autobuild
|
|
376
376
|
status = merge_status(package, fetch_commit)
|
377
377
|
if status.needs_update?
|
378
378
|
if !merge? && status.status == Status::NEEDS_MERGE
|
379
|
-
raise PackageException.new(package, 'import'), "the local branch '#{local_branch}' and the remote branch #{branch} of #{package.name} have diverged, and I therefore refuse to update automatically. Go into #{package.
|
379
|
+
raise PackageException.new(package, 'import'), "the local branch '#{local_branch}' and the remote branch #{branch} of #{package.name} have diverged, and I therefore refuse to update automatically. Go into #{package.importdir} and either reset the local branch or merge the remote changes"
|
380
380
|
end
|
381
381
|
Subprocess.run(package, :import, Autobuild.tool('git'), 'merge', fetch_commit)
|
382
382
|
end
|
@@ -384,15 +384,15 @@ module Autobuild
|
|
384
384
|
end
|
385
385
|
|
386
386
|
def checkout(package)
|
387
|
-
base_dir = File.expand_path('..', package.
|
387
|
+
base_dir = File.expand_path('..', package.importdir)
|
388
388
|
if !File.directory?(base_dir)
|
389
389
|
FileUtils.mkdir_p base_dir
|
390
390
|
end
|
391
391
|
|
392
392
|
Subprocess.run(package, :import,
|
393
|
-
Autobuild.tool('git'), 'clone', '-o', 'autobuild', repository, package.
|
393
|
+
Autobuild.tool('git'), 'clone', '-o', 'autobuild', repository, package.importdir)
|
394
394
|
|
395
|
-
Dir.chdir(package.
|
395
|
+
Dir.chdir(package.importdir) do
|
396
396
|
if push_to
|
397
397
|
Subprocess.run(package, :import, Autobuild.tool('git'), 'config',
|
398
398
|
"--replace-all", "remote.autobuild.pushurl", push_to)
|
data/lib/autobuild/import/svn.rb
CHANGED
@@ -36,28 +36,28 @@ module Autobuild
|
|
36
36
|
private
|
37
37
|
|
38
38
|
def update(package) # :nodoc:
|
39
|
-
Dir.chdir(package.
|
39
|
+
Dir.chdir(package.importdir) {
|
40
40
|
old_lang, ENV['LC_ALL'] = ENV['LC_ALL'], 'C'
|
41
41
|
svninfo = IO.popen("svn info") { |io| io.readlines }
|
42
42
|
ENV['LC_ALL'] = old_lang
|
43
43
|
unless url = svninfo.grep(/^URL: /).first
|
44
44
|
if svninfo.grep(/is not a working copy/).empty?
|
45
|
-
raise ConfigException.new(package, 'import'), "#{package.
|
45
|
+
raise ConfigException.new(package, 'import'), "#{package.importdir} is not a Subversion working copy"
|
46
46
|
else
|
47
|
-
raise ConfigException.new(package, 'import'), "Bug: cannot get SVN information for #{package.
|
47
|
+
raise ConfigException.new(package, 'import'), "Bug: cannot get SVN information for #{package.importdir}"
|
48
48
|
end
|
49
49
|
end
|
50
50
|
url.chomp =~ /URL: (.+)/
|
51
51
|
source = $1
|
52
52
|
if source != @source
|
53
|
-
raise ConfigException.new(package, 'import'), "current checkout found at #{package.
|
53
|
+
raise ConfigException.new(package, 'import'), "current checkout found at #{package.importdir} is from #{source}, was expecting #{@source}"
|
54
54
|
end
|
55
55
|
Subprocess.run(package, :import, @program, 'up', "--non-interactive", *@options_up)
|
56
56
|
}
|
57
57
|
end
|
58
58
|
|
59
59
|
def checkout(package) # :nodoc:
|
60
|
-
options = [ @program, 'co', "--non-interactive" ] + @options_co + [ @source, package.
|
60
|
+
options = [ @program, 'co', "--non-interactive" ] + @options_co + [ @source, package.importdir ]
|
61
61
|
Subprocess.run(package, :import, *options)
|
62
62
|
end
|
63
63
|
end
|
data/lib/autobuild/importer.rb
CHANGED
@@ -67,6 +67,7 @@ class Importer
|
|
67
67
|
# More options are specific to each importer type.
|
68
68
|
def initialize(options)
|
69
69
|
@options = options.dup
|
70
|
+
@options[:retry_count] = Integer(@options[:retry_count] || 0)
|
70
71
|
end
|
71
72
|
|
72
73
|
# The number of times update / checkout should be retried before giving up.
|
@@ -83,7 +84,7 @@ class Importer
|
|
83
84
|
#
|
84
85
|
# See also #retry_count
|
85
86
|
def retry_count=(count)
|
86
|
-
@options[:retry_count] = count
|
87
|
+
@options[:retry_count] = Integer(count)
|
87
88
|
end
|
88
89
|
|
89
90
|
def patches
|
@@ -152,7 +153,7 @@ class Importer
|
|
152
153
|
if retry_count > self.retry_count
|
153
154
|
raise
|
154
155
|
end
|
155
|
-
package.message "update failed in #{package.
|
156
|
+
package.message "update failed in #{package.importdir}, retrying (#{retry_count}/#{self.retry_count})"
|
156
157
|
retry
|
157
158
|
ensure
|
158
159
|
package.progress_done "updated %s"
|
@@ -178,8 +179,8 @@ class Importer
|
|
178
179
|
if retry_count > self.retry_count
|
179
180
|
raise
|
180
181
|
end
|
181
|
-
package.message "checkout of %s failed, deleting the source directory #{package.
|
182
|
-
FileUtils.rm_rf package.
|
182
|
+
package.message "checkout of %s failed, deleting the source directory #{package.importdir} and retrying (#{retry_count}/#{self.retry_count})"
|
183
|
+
FileUtils.rm_rf package.importdir
|
183
184
|
retry
|
184
185
|
end
|
185
186
|
end
|
@@ -189,18 +190,18 @@ class Importer
|
|
189
190
|
rescue Interrupt
|
190
191
|
raise
|
191
192
|
rescue ::Exception
|
192
|
-
package.message "checkout of %s failed, deleting the source directory #{package.
|
193
|
-
FileUtils.rm_rf package.
|
193
|
+
package.message "checkout of %s failed, deleting the source directory #{package.importdir}"
|
194
|
+
FileUtils.rm_rf package.importdir
|
194
195
|
raise
|
195
196
|
rescue Autobuild::Exception => e
|
196
|
-
FileUtils.rm_rf package.
|
197
|
+
FileUtils.rm_rf package.importdir
|
197
198
|
fallback(e, package, :import, package)
|
198
199
|
end
|
199
200
|
|
200
201
|
# Performs the import of +package+
|
201
202
|
def import(package)
|
202
|
-
|
203
|
-
if File.directory?(
|
203
|
+
importdir = package.importdir
|
204
|
+
if File.directory?(importdir)
|
204
205
|
package.isolate_errors(false) do
|
205
206
|
if Autobuild.do_update
|
206
207
|
perform_update(package)
|
@@ -212,8 +213,8 @@ class Importer
|
|
212
213
|
end
|
213
214
|
end
|
214
215
|
|
215
|
-
elsif File.exists?(
|
216
|
-
raise ConfigException.new(package, 'import'), "#{
|
216
|
+
elsif File.exists?(importdir)
|
217
|
+
raise ConfigException.new(package, 'import'), "#{importdir} exists but is not a directory"
|
217
218
|
else
|
218
219
|
perform_checkout(package)
|
219
220
|
end
|
@@ -236,15 +237,15 @@ class Importer
|
|
236
237
|
|
237
238
|
private
|
238
239
|
|
239
|
-
# We assume that package.
|
240
|
+
# We assume that package.importdir already exists (checkout is supposed to
|
240
241
|
# have been called)
|
241
242
|
def patchlist(package)
|
242
|
-
File.join(package.
|
243
|
+
File.join(package.importdir, "patches-autobuild-stamp")
|
243
244
|
end
|
244
245
|
|
245
246
|
def call_patch(package, reverse, file, patch_level)
|
246
247
|
patch = Autobuild.tool('patch')
|
247
|
-
Dir.chdir(package.
|
248
|
+
Dir.chdir(package.importdir) do
|
248
249
|
Subprocess.run(package, :patch, patch, "-p#{patch_level}", (reverse ? '-R' : nil), '--forward', :input => file)
|
249
250
|
end
|
250
251
|
end
|
data/lib/autobuild/package.rb
CHANGED
@@ -53,6 +53,10 @@ module Autobuild
|
|
53
53
|
# set the source directory. If a relative path is given,
|
54
54
|
# it is relative to Autobuild.srcdir. Defaults to #name
|
55
55
|
attr_writer :srcdir
|
56
|
+
# set the importdir, this can be different than the sourcedir
|
57
|
+
# if the source-root is in an subfolder of the package itself
|
58
|
+
# then the importdir will be the root
|
59
|
+
attr_writer :importdir
|
56
60
|
# set the installation directory. If a relative path is given,
|
57
61
|
# it is relative to Autobuild.prefix. Defaults to ''
|
58
62
|
attr_writer :prefix
|
@@ -81,6 +85,8 @@ module Autobuild
|
|
81
85
|
|
82
86
|
# Absolute path to the source directory. See #srcdir=
|
83
87
|
def srcdir; File.expand_path(@srcdir || name, Autobuild.srcdir) end
|
88
|
+
# Absolute path to the import directory. See #importdir=
|
89
|
+
def importdir; File.expand_path(@importdir || srcdir, Autobuild.srcdir) end
|
84
90
|
# Absolute path to the installation directory. See #prefix=
|
85
91
|
def prefix; File.expand_path(@prefix || '', Autobuild.prefix) end
|
86
92
|
# Absolute path to the log directory for this package. See #logdir=
|
data/lib/autobuild/reporting.rb
CHANGED
data/lib/autobuild/version.rb
CHANGED
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autobuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
5
|
-
prerelease:
|
4
|
+
version: 1.7.3.rc1
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Sylvain Joyeux
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-04-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &13319080 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.9.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *13319080
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: utilrb
|
27
|
-
requirement: &
|
27
|
+
requirement: &13318200 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.6.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *13318200
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: highline
|
38
|
-
requirement: &
|
38
|
+
requirement: &13317360 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *13317360
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdoc
|
49
|
-
requirement: &
|
49
|
+
requirement: &13316460 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '3.10'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *13316460
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: hoe
|
60
|
-
requirement: &
|
60
|
+
requirement: &13315640 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '3.5'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *13315640
|
69
69
|
description: Collection of classes to handle build systems (CMake, autotools, ...)
|
70
70
|
and import mechanisms (tarballs, CVS, SVN, git, ...). It also offers a Rake integration
|
71
71
|
to import and build such software packages. It is the backbone of the autoproj (http://rock-robotics.org/autoproj)
|
@@ -140,9 +140,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
140
140
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
141
|
none: false
|
142
142
|
requirements:
|
143
|
-
- - ! '
|
143
|
+
- - ! '>'
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
145
|
+
version: 1.3.1
|
146
146
|
requirements: []
|
147
147
|
rubyforge_project: autobuild
|
148
148
|
rubygems_version: 1.8.11
|
@@ -150,8 +150,8 @@ signing_key:
|
|
150
150
|
specification_version: 3
|
151
151
|
summary: Library to handle build systems and import mechanisms
|
152
152
|
test_files:
|
153
|
+
- test/test_import_cvs.rb
|
153
154
|
- test/test_reporting.rb
|
154
155
|
- test/test_subcommand.rb
|
155
156
|
- test/test_import_svn.rb
|
156
|
-
- test/test_import_cvs.rb
|
157
157
|
- test/test_import_tar.rb
|