autoproj 1.10.2 → 1.11.0.b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Manifest.txt +9 -0
  3. data/Rakefile +4 -0
  4. data/bin/aup +5 -1
  5. data/bin/autolocate +1 -82
  6. data/bin/autoproj +6 -56
  7. data/bin/autoproj-bootstrap +31 -3
  8. data/bin/autoproj-cache +3 -60
  9. data/bin/autoproj-clean +1 -1
  10. data/bin/autoproj-create-set +0 -0
  11. data/bin/autoproj-doc +1 -1
  12. data/bin/autoproj-envsh +0 -0
  13. data/bin/autoproj-list +1 -1
  14. data/bin/autoproj-locate +17 -16
  15. data/bin/autoproj-query +0 -0
  16. data/bin/autoproj-show +0 -0
  17. data/bin/autoproj-switch-config +23 -0
  18. data/bin/autoproj-test +2 -2
  19. data/bin/autoproj_bootstrap +354 -210
  20. data/bin/autoproj_bootstrap.in +8 -0
  21. data/bin/autoproj_stress_test +1 -1
  22. data/lib/autoproj.rb +7 -0
  23. data/lib/autoproj/autobuild.rb +14 -35
  24. data/lib/autoproj/build_option.rb +104 -0
  25. data/lib/autoproj/cmdline.rb +62 -355
  26. data/lib/autoproj/configuration.rb +161 -0
  27. data/lib/autoproj/gitorious.rb +31 -20
  28. data/lib/autoproj/installation_manifest.rb +7 -1
  29. data/lib/autoproj/manifest.rb +124 -342
  30. data/lib/autoproj/ops/build.rb +107 -0
  31. data/lib/autoproj/ops/cache.rb +82 -0
  32. data/lib/autoproj/ops/configuration.rb +302 -0
  33. data/lib/autoproj/ops/loader.rb +97 -0
  34. data/lib/autoproj/ops/main_config_switcher.rb +271 -0
  35. data/lib/autoproj/ops/tools.rb +54 -0
  36. data/lib/autoproj/options.rb +26 -178
  37. data/lib/autoproj/osdeps.rb +49 -9
  38. data/lib/autoproj/package_set.rb +168 -87
  39. data/lib/autoproj/system.rb +6 -23
  40. data/lib/autoproj/variable_expansion.rb +0 -1
  41. data/lib/autoproj/vcs_definition.rb +23 -0
  42. data/lib/autoproj/version.rb +1 -1
  43. metadata +17 -7
@@ -202,33 +202,16 @@ module Autoproj
202
202
  end
203
203
  end
204
204
 
205
- # Load a definition file given at +path+. +source+ is the package set from
206
- # which the file is taken.
207
- #
208
- # If any error is detected, the backtrace will be filtered so that it is
209
- # easier to understand by the user. Moreover, if +source+ is non-nil, the
210
- # package set name will be mentionned.
205
+ # @deprecated use Ops.loader.load or add a proper Loader object to your
206
+ # class
211
207
  def self.load(package_set, *path)
212
- path = File.join(*path)
213
- in_package_set(package_set, File.expand_path(path).gsub(/^#{Regexp.quote(Autoproj.root_dir)}\//, '')) do
214
- begin
215
- Kernel.load path
216
- rescue Interrupt
217
- raise
218
- rescue ConfigError => e
219
- raise
220
- rescue Exception => e
221
- filter_load_exception(e, package_set, path)
222
- end
223
- end
208
+ Ops.loader.load(package_set, *path)
224
209
  end
225
210
 
226
- # Same as #load, but runs only if the file exists.
211
+ # @deprecated use Ops.loader.load_if_present or add a proper Loader object
212
+ # to your class
227
213
  def self.load_if_present(package_set, *path)
228
- path = File.join(*path)
229
- if File.file?(path)
230
- self.load(package_set, *path)
231
- end
214
+ Ops.loader.load_if_present(package_set, *path)
232
215
  end
233
216
 
234
217
  # Look into +dir+, searching for shared libraries. For each library, display
@@ -10,7 +10,6 @@ module Autoproj
10
10
  options.each_key do |k|
11
11
  options[k] = options[k].to_s
12
12
  end
13
- options = options.merge(option_overrides)
14
13
 
15
14
  loop do
16
15
  new_value = Autoproj.single_expansion(value, options)
@@ -30,6 +30,21 @@ module Autoproj
30
30
  Hash[:type => type, :url => url].merge(options)
31
31
  end
32
32
 
33
+ # Update this VCS definition with new information / options and return
34
+ # the updated definition
35
+ #
36
+ # @return [VCSDefinition]
37
+ def update(spec, new_raw_entry)
38
+ new = self.class.vcs_definition_to_hash(spec)
39
+ if new.has_key?(:type) && (type != new[:type])
40
+ # The type changed. We replace the old definition by the new one
41
+ # completely
42
+ self.class.from_raw(new, new_raw_entry)
43
+ else
44
+ self.class.from_raw(to_hash.merge(new), raw + new_raw_entry)
45
+ end
46
+ end
47
+
33
48
  # Updates the VCS specification +old+ by the information contained in
34
49
  # +new+
35
50
  #
@@ -133,6 +148,14 @@ module Autoproj
133
148
  end
134
149
  end
135
150
 
151
+ def hash
152
+ to_hash.hash
153
+ end
154
+
155
+ def eql?(other_vcs)
156
+ to_hash == other_vcs.to_hash
157
+ end
158
+
136
159
  def self.to_absolute_url(url, root_dir = nil)
137
160
  # NOTE: we MUST use nil as default argument of root_dir as we don't
138
161
  # want to call Autoproj.root_dir unless completely necessary
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "1.10.2"
2
+ VERSION = "1.11.0.b1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoproj
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.2
4
+ version: 1.11.0.b1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rock Core Developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-03 00:00:00.000000000 Z
11
+ date: 2014-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autobuild
@@ -101,6 +101,7 @@ executables:
101
101
  - autoproj-query
102
102
  - autoproj-show
103
103
  - autoproj-snapshot
104
+ - autoproj-switch-config
104
105
  - autoproj-test
105
106
  - autoproj_bootstrap
106
107
  - autoproj_bootstrap.in
@@ -133,6 +134,7 @@ files:
133
134
  - bin/autoproj-query
134
135
  - bin/autoproj-show
135
136
  - bin/autoproj-snapshot
137
+ - bin/autoproj-switch-config
136
138
  - bin/autoproj-test
137
139
  - bin/autoproj_bootstrap
138
140
  - bin/autoproj_bootstrap.in
@@ -140,13 +142,21 @@ files:
140
142
  - lib/autoproj.rb
141
143
  - lib/autoproj/autobuild.rb
142
144
  - lib/autoproj/base.rb
145
+ - lib/autoproj/build_option.rb
143
146
  - lib/autoproj/cmdline.rb
147
+ - lib/autoproj/configuration.rb
144
148
  - lib/autoproj/default.osdeps
145
149
  - lib/autoproj/environment.rb
146
150
  - lib/autoproj/gitorious.rb
147
151
  - lib/autoproj/installation_manifest.rb
148
152
  - lib/autoproj/manifest.rb
149
153
  - lib/autoproj/metapackage.rb
154
+ - lib/autoproj/ops/build.rb
155
+ - lib/autoproj/ops/cache.rb
156
+ - lib/autoproj/ops/configuration.rb
157
+ - lib/autoproj/ops/loader.rb
158
+ - lib/autoproj/ops/main_config_switcher.rb
159
+ - lib/autoproj/ops/tools.rb
150
160
  - lib/autoproj/options.rb
151
161
  - lib/autoproj/osdeps.rb
152
162
  - lib/autoproj/package_definition.rb
@@ -205,9 +215,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
215
  version: 1.9.2
206
216
  required_rubygems_version: !ruby/object:Gem::Requirement
207
217
  requirements:
208
- - - ">="
218
+ - - ">"
209
219
  - !ruby/object:Gem::Version
210
- version: '0'
220
+ version: 1.3.1
211
221
  requirements: []
212
222
  rubyforge_project:
213
223
  rubygems_version: 2.2.2
@@ -215,9 +225,9 @@ signing_key:
215
225
  specification_version: 4
216
226
  summary: Easy installation and management of sets of software packages
217
227
  test_files:
228
+ - test/test_os_dependencies.rb
229
+ - test/test_manifest.rb
230
+ - test/package_managers/test_apt_dpkg_manager.rb
218
231
  - test/package_managers/test_gem.rb
219
232
  - test/package_managers/test_pip.rb
220
- - test/package_managers/test_apt_dpkg_manager.rb
221
233
  - test/test_package_manifest.rb
222
- - test/test_manifest.rb
223
- - test/test_os_dependencies.rb