autobuild 1.7.3.rc2 → 1.7.3.rc3
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/import/archive.rb +28 -10
- data/lib/autobuild/import/git.rb +12 -6
- data/lib/autobuild/package.rb +1 -1
- data/lib/autobuild/packages/autotools.rb +1 -8
- data/lib/autobuild/reporting.rb +6 -1
- data/lib/autobuild/version.rb +1 -1
- metadata +14 -14
|
@@ -44,6 +44,18 @@ module Autobuild
|
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
+
# Tells the importer that the checkout should be automatically deleted
|
|
48
|
+
# on update, without asking the user
|
|
49
|
+
# @return [Boolean] true if the archive importer should automatically
|
|
50
|
+
# delete the current checkout when the archive changed, false
|
|
51
|
+
# otherwise. The default is to set it to true if the
|
|
52
|
+
# AUTOBUILD_ARCHIVE_AUTOUPDATE environment variable is set to 1, and
|
|
53
|
+
# to false in all other cases
|
|
54
|
+
def self.auto_update?
|
|
55
|
+
@auto_update
|
|
56
|
+
end
|
|
57
|
+
@auto_update = (ENV['AUTOBUILD_ARCHIVE_AUTOUPDATE'] == '1')
|
|
58
|
+
|
|
47
59
|
def update_cached_file?; @options[:update_cached_file] end
|
|
48
60
|
|
|
49
61
|
|
|
@@ -233,20 +245,26 @@ module Autobuild
|
|
|
233
245
|
# Check whether the archive file changed, and if that is the case
|
|
234
246
|
# then ask the user about deleting the folder
|
|
235
247
|
if File.file?(checkout_digest_stamp(package)) && archive_changed?(package)
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
248
|
+
if ArchiveImporter.auto_update?
|
|
249
|
+
response = 'yes'
|
|
250
|
+
else
|
|
251
|
+
package.progress_done
|
|
252
|
+
package.message "The archive #{@url.to_s} is different from the one currently checked out at #{package.srcdir}", :bold
|
|
253
|
+
package.message "I will have to delete the current folder to go on with the update"
|
|
254
|
+
response = HighLine.new.ask " Continue (yes or no) ? If no, this update will be ignored, which can lead to build problems.", String do |q|
|
|
255
|
+
q.overwrite = true
|
|
256
|
+
q.in = ['yes', 'no']
|
|
257
|
+
q.default = 'yes'
|
|
258
|
+
q.case = :downcase
|
|
259
|
+
end
|
|
244
260
|
end
|
|
261
|
+
|
|
245
262
|
if response == "no"
|
|
246
|
-
package.message "
|
|
263
|
+
package.message "not updating #{package.srcdir}"
|
|
264
|
+
package.progress_done
|
|
247
265
|
return
|
|
248
266
|
else
|
|
249
|
-
package.message "
|
|
267
|
+
package.message "deleting #{package.srcdir} to update to new archive"
|
|
250
268
|
FileUtils.rm_rf package.srcdir
|
|
251
269
|
package.progress "checking out %s"
|
|
252
270
|
end
|
data/lib/autobuild/import/git.rb
CHANGED
|
@@ -223,16 +223,22 @@ module Autobuild
|
|
|
223
223
|
return ($?.exitstatus != 0)
|
|
224
224
|
end
|
|
225
225
|
|
|
226
|
-
|
|
227
|
-
# current directory is the package's directory
|
|
228
|
-
def on_target_branch?
|
|
226
|
+
def current_branch
|
|
229
227
|
current_branch = `git symbolic-ref HEAD -q`.chomp
|
|
230
228
|
if $?.exitstatus != 0
|
|
231
|
-
# HEAD cannot be resolved as a symbol.
|
|
229
|
+
# HEAD cannot be resolved as a symbol. We are probably on a
|
|
232
230
|
# detached HEAD
|
|
233
|
-
return
|
|
231
|
+
return
|
|
232
|
+
end
|
|
233
|
+
return current_branch
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
# Checks if the current branch is the target branch. Expects that the
|
|
237
|
+
# current directory is the package's directory
|
|
238
|
+
def on_target_branch?
|
|
239
|
+
if current_branch = self.current_branch
|
|
240
|
+
current_branch == "refs/heads/#{local_branch}"
|
|
234
241
|
end
|
|
235
|
-
current_branch == "refs/heads/#{local_branch}"
|
|
236
242
|
end
|
|
237
243
|
|
|
238
244
|
class Status < Importer::Status
|
data/lib/autobuild/package.rb
CHANGED
|
@@ -156,14 +156,7 @@ module Autobuild
|
|
|
156
156
|
|
|
157
157
|
# Add the --prefix option to the configureflags array
|
|
158
158
|
testflags = ["--prefix=#{prefix}"] + Array[*configureflags]
|
|
159
|
-
old_opt = options.find
|
|
160
|
-
if testflags.include?(o)
|
|
161
|
-
false
|
|
162
|
-
else
|
|
163
|
-
name, value = o.split("=")
|
|
164
|
-
ENV[name] != value
|
|
165
|
-
end
|
|
166
|
-
end
|
|
159
|
+
old_opt = options.find { |o| !testflags.include?(o) }
|
|
167
160
|
new_opt = testflags.find { |o| !options.include?(o) }
|
|
168
161
|
if old_opt || new_opt
|
|
169
162
|
if Autobuild.verbose
|
data/lib/autobuild/reporting.rb
CHANGED
|
@@ -87,6 +87,11 @@ module Autobuild
|
|
|
87
87
|
Autobuild.message(" WARN: #{message}", :magenta, *style)
|
|
88
88
|
end
|
|
89
89
|
|
|
90
|
+
# @return [Boolean] true if there is some progress messages for the given
|
|
91
|
+
# key
|
|
92
|
+
def self.has_progress_for?(key)
|
|
93
|
+
progress_messages.any? { |msg_key, _| msg_key == key }
|
|
94
|
+
end
|
|
90
95
|
|
|
91
96
|
def self.progress_start(key, *args)
|
|
92
97
|
if args.last.kind_of?(Hash)
|
|
@@ -108,7 +113,7 @@ module Autobuild
|
|
|
108
113
|
if block_given?
|
|
109
114
|
begin
|
|
110
115
|
yield
|
|
111
|
-
if options[:done_message]
|
|
116
|
+
if options[:done_message] && has_progress_for?(key)
|
|
112
117
|
progress(key, *options[:done_message])
|
|
113
118
|
end
|
|
114
119
|
progress_done(key, true)
|
data/lib/autobuild/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: autobuild
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.7.3.
|
|
4
|
+
version: 1.7.3.rc3
|
|
5
5
|
prerelease: 6
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2013-04-
|
|
12
|
+
date: 2013-04-24 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rake
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &13610200 !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: *13610200
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: utilrb
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &13609360 !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: *13609360
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: highline
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &13608820 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,29 +43,29 @@ dependencies:
|
|
|
43
43
|
version: '0'
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *13608820
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rdoc
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &13607660 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
54
|
+
version: '4.0'
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *13607660
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: hoe
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &13606280 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ~>
|
|
64
64
|
- !ruby/object:Gem::Version
|
|
65
|
-
version: '3.
|
|
65
|
+
version: '3.6'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *13606280
|
|
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)
|