autobuild 1.7.2 → 1.7.3.rc1
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.
- 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
|