autobuild 1.7.3.rc3 → 1.7.3

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.
@@ -9,11 +9,11 @@ lib/autobuild/config.rb
9
9
  lib/autobuild/configurable.rb
10
10
  lib/autobuild/environment.rb
11
11
  lib/autobuild/exceptions.rb
12
+ lib/autobuild/import/archive.rb
12
13
  lib/autobuild/import/cvs.rb
13
14
  lib/autobuild/import/darcs.rb
14
15
  lib/autobuild/import/git.rb
15
16
  lib/autobuild/import/svn.rb
16
- lib/autobuild/import/archive.rb
17
17
  lib/autobuild/import/tar.rb
18
18
  lib/autobuild/importer.rb
19
19
  lib/autobuild/package.rb
@@ -38,5 +38,6 @@ test/data/tarimport.tar.gz
38
38
  test/test_import_cvs.rb
39
39
  test/test_import_svn.rb
40
40
  test/test_import_tar.rb
41
+ test/test_reporting.rb
41
42
  test/test_subcommand.rb
42
43
  test/tools.rb
@@ -194,12 +194,18 @@ module Autobuild
194
194
  end
195
195
  @options[:cachedir] ||= "#{Autobuild.prefix}/cache"
196
196
 
197
+ relocate(url)
198
+ end
199
+
200
+ # Changes the URL from which we should pick the archive
201
+ def relocate(url, options = Hash.new)
197
202
  @url = URI.parse(url)
198
203
  if !VALID_URI_SCHEMES.include?(@url.scheme)
199
204
  raise ConfigException, "invalid URL #{@url} (local files must be prefixed with file://)"
200
205
  end
201
206
 
202
207
  filename = options[:filename] || File.basename(url).gsub(/\?.*/, '')
208
+
203
209
  @mode = options[:mode] || ArchiveImporter.filename_to_mode(filename)
204
210
  if @url.scheme == 'file'
205
211
  @cachefile = @url.path
@@ -427,6 +427,11 @@ module Autobuild
427
427
  end
428
428
  end
429
429
  end
430
+
431
+ # Changes the repository this importer is pointing to
432
+ def relocate(repository)
433
+ @repository = repository
434
+ end
430
435
  end
431
436
 
432
437
  # Creates a git importer which gets the source for the given repository and branch
@@ -61,6 +61,9 @@ class Importer
61
61
  end
62
62
  end
63
63
 
64
+ # @return [Hash] the original option hash as given to #initialize
65
+ attr_reader :options
66
+
64
67
  # Creates a new Importer object. The options known to Importer are:
65
68
  # [:patches] a list of patch to apply after import
66
69
  #
@@ -203,7 +206,7 @@ class Importer
203
206
  importdir = package.importdir
204
207
  if File.directory?(importdir)
205
208
  package.isolate_errors(false) do
206
- if Autobuild.do_update
209
+ if package.update?
207
210
  perform_update(package)
208
211
  else
209
212
  if Autobuild.verbose
@@ -314,6 +317,8 @@ class Importer
314
317
 
315
318
  return true
316
319
  end
320
+
321
+ def supports_relocation?; false end
317
322
  end
318
323
  end
319
324
 
@@ -106,6 +106,20 @@ module Autobuild
106
106
  File.join(logdir, "#{name}-#{STAMPFILE}")
107
107
  end
108
108
 
109
+ # Sets whether this package should update itself or not. If false, the
110
+ # only importer operation that will be performed is checkout
111
+ #
112
+ # If nil, the global setting Autobuild.do_update is used
113
+ attr_writer :update
114
+
115
+ # True if this package should update itself when #import is called
116
+ def update?
117
+ if @update.nil?
118
+ Autobuild.do_update
119
+ else @update
120
+ end
121
+ end
122
+
109
123
  attr_writer :updated
110
124
 
111
125
  # Returns true if this package has already been updated. It will not be
@@ -156,7 +156,23 @@ 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 { |o| !testflags.include?(o) }
159
+ old_opt = options.find do |o|
160
+ if testflags.include?(o)
161
+ false
162
+ elsif o =~ /^-/
163
+ # Configuration option that is not specified, have to
164
+ # reconfigure
165
+ true
166
+ else
167
+ # This is an envvar entry. Ignore it if it is not
168
+ # explicitely given in configureflags
169
+ varname, value = o.split("=").first
170
+ if current_flag = testflags.find { |fl| fl =~ /^#{varname}=/ }
171
+ current_flag != value
172
+ else false
173
+ end
174
+ end
175
+ end
160
176
  new_opt = testflags.find { |o| !options.include?(o) }
161
177
  if old_opt || new_opt
162
178
  if Autobuild.verbose
@@ -69,6 +69,10 @@ module Autobuild
69
69
  end
70
70
 
71
71
  def timestamp
72
+ if @newest_time
73
+ return @newest_time
74
+ end
75
+
72
76
  @newest_file, @newest_time =
73
77
  Autobuild.tree_timestamp(name, %r#(?:^|/)(?:CVS|_darcs|\.svn)$#, *@exclude)
74
78
  @newest_time
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.7.3.rc3" unless defined? Autobuild::VERSION
2
+ VERSION = "1.7.3" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
 
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.3.rc3
5
- prerelease: 6
4
+ version: 1.7.3
5
+ prerelease:
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-04-24 00:00:00.000000000 Z
12
+ date: 2013-07-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &13610200 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 0.9.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *13610200
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.9.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: utilrb
27
- requirement: &13609360 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 1.6.0
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *13609360
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.6.0
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: highline
38
- requirement: &13608820 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *13608820
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rdoc
49
- requirement: &13607660 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ~>
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '4.0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *13607660
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '4.0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: hoe
60
- requirement: &13606280 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ~>
@@ -65,7 +85,12 @@ dependencies:
65
85
  version: '3.6'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *13606280
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '3.6'
69
94
  description: Collection of classes to handle build systems (CMake, autotools, ...)
70
95
  and import mechanisms (tarballs, CVS, SVN, git, ...). It also offers a Rake integration
71
96
  to import and build such software packages. It is the backbone of the autoproj (http://rock-robotics.org/autoproj)
@@ -90,11 +115,11 @@ files:
90
115
  - lib/autobuild/configurable.rb
91
116
  - lib/autobuild/environment.rb
92
117
  - lib/autobuild/exceptions.rb
118
+ - lib/autobuild/import/archive.rb
93
119
  - lib/autobuild/import/cvs.rb
94
120
  - lib/autobuild/import/darcs.rb
95
121
  - lib/autobuild/import/git.rb
96
122
  - lib/autobuild/import/svn.rb
97
- - lib/autobuild/import/archive.rb
98
123
  - lib/autobuild/import/tar.rb
99
124
  - lib/autobuild/importer.rb
100
125
  - lib/autobuild/package.rb
@@ -119,9 +144,9 @@ files:
119
144
  - test/test_import_cvs.rb
120
145
  - test/test_import_svn.rb
121
146
  - test/test_import_tar.rb
147
+ - test/test_reporting.rb
122
148
  - test/test_subcommand.rb
123
149
  - test/tools.rb
124
- - test/test_reporting.rb
125
150
  - .gemtest
126
151
  homepage: http://rock-robotics.org/stable/documentation/autoproj
127
152
  licenses: []
@@ -140,18 +165,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
140
165
  required_rubygems_version: !ruby/object:Gem::Requirement
141
166
  none: false
142
167
  requirements:
143
- - - ! '>'
168
+ - - ! '>='
144
169
  - !ruby/object:Gem::Version
145
- version: 1.3.1
170
+ version: '0'
146
171
  requirements: []
147
172
  rubyforge_project: autobuild
148
- rubygems_version: 1.8.11
173
+ rubygems_version: 1.8.23
149
174
  signing_key:
150
175
  specification_version: 3
151
176
  summary: Library to handle build systems and import mechanisms
152
177
  test_files:
153
- - test/test_import_cvs.rb
154
- - test/test_reporting.rb
178
+ - test/test_import_tar.rb
155
179
  - test/test_subcommand.rb
180
+ - test/test_reporting.rb
156
181
  - test/test_import_svn.rb
157
- - test/test_import_tar.rb
182
+ - test/test_import_cvs.rb