autobuild 1.7.3.rc3 → 1.7.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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