autoproj 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ = Version 1.4.1
2
+ * add the envsh build mode: only update env.sh
3
+ * rebuild <package> and force-build <package> only apply by default on the
4
+ selected packages, not on their dependencies
5
+ * fix rebuild for Ruby packages
6
+
1
7
  = Version 1.4.0
2
8
  * ruby 1.9 compatible
3
9
  * fixes w.r.t. running autoproj under a Ruby interpreter that is not called
data/bin/autoproj CHANGED
@@ -28,6 +28,7 @@ mail_config = Hash.new
28
28
  only_update_sources = false
29
29
  only_do_status = false
30
30
  no_os_deps = false
31
+ force_re_build_with_depends = false
31
32
  debug = false
32
33
 
33
34
  # Parse the configuration options
@@ -35,32 +36,42 @@ parser = OptionParser.new do |opts|
35
36
  opts.banner = <<-EOBANNER
36
37
  autoproj mode [options]
37
38
  where 'mode' is one of:
39
+
40
+ -- Build
38
41
  build: import, build and install all packages that need it. A package or package
39
42
  set name can be given, in which case only this package and its dependencies
40
43
  will be taken into account. Example:
41
44
 
42
45
  autoproj build drivers/hokuyo
43
46
 
44
- force-build: triggers all build commands, i.e. don't be lazy like in "build"
45
47
  fast-build: builds without updating and without considering OS dependencies
46
- rebuild: clean and then rebuild
48
+ force-build: triggers all build commands, i.e. don't be lazy like in "build".
49
+ If packages are selected on the command line, only those packages
50
+ will be affected unless the --with-depends option is used.
51
+ rebuild: clean and then rebuild. If packages are selected on the command line,
52
+ only those packages will be affected unless the --with-depends option
53
+ is used.
47
54
  doc: generate and install documentation for packages that have some
48
- update: only import/update packages, do not build them
55
+
56
+ -- Status & Update
57
+ envsh: update the env.sh script
49
58
  status: displays the state of the packages w.r.t. their source VCS
59
+ list-sets: list all available package sets
60
+ update: only import/update packages, do not build them
61
+ update-sets: update the package sets definitions, but not the packages themselves
62
+
63
+ -- Autoproj Configuration
50
64
  bootstrap: starts a new autoproj installation. Usage:
51
65
  autoproj bootstrap [manifest_url|source_vcs source_url opt1=value1 opt2=value2 ...]
52
-
53
- list-sets: list all available package sets
54
- update-sets: update the package sets definitions
55
66
  switch-config: change where the configuration should be taken from. Syntax:
56
67
  autoproj switch-config source_vcs source_url opt1=value1 opt2=value2 ...
57
68
 
58
69
  For example:
59
70
  autoproj switch-config git git://github.com/doudou/rubim-all.git branch=all
60
71
 
61
- Additional options:
72
+ -- Additional options:
62
73
  EOBANNER
63
- opts.on("--reconfigure", "re-ask all configuration options (build mode only)") do
74
+ opts.on("--reconfigure", "re-ask all configuration options (build modes only)") do
64
75
  Autoproj.reconfigure = true
65
76
  end
66
77
  opts.on("--no-update", "do not update already checked-out packages (build mode only)") do
@@ -70,6 +81,9 @@ Additional options:
70
81
  opts.on("--no-osdeps", "do not install prepackaged dependencies") do
71
82
  no_os_deps = true
72
83
  end
84
+ opts.on("--with-depends", "apply rebuild and force-build to both packages selected on the command line and their dependencies") do
85
+ force_re_build_with_depends = true
86
+ end
73
87
 
74
88
  opts.on("--verbose", "verbose output") do
75
89
  Autoproj.verbose = true
@@ -410,6 +424,10 @@ report(debug) do
410
424
  only_do_status = true
411
425
  Autobuild.do_update = false
412
426
  no_os_deps = true
427
+ when "envsh"
428
+ Autobuild.do_build = false
429
+ Autobuild.do_update = false
430
+ no_os_deps = true
413
431
  when "update-sets"
414
432
  only_update_sources = true
415
433
  when "list-sets"
@@ -767,6 +785,20 @@ report(debug) do
767
785
  manifest.install_os_dependencies(all_enabled_packages)
768
786
  end
769
787
 
788
+ if !selected_packages.empty? && !force_re_build_with_depends
789
+ if Autobuild.do_rebuild
790
+ selected_packages.each do |pkg_name|
791
+ Autobuild::Package[pkg_name].prepare_for_rebuild
792
+ end
793
+ Autobuild.do_rebuild = false
794
+ elsif Autobuild.do_forced_build
795
+ selected_packages.each do |pkg_name|
796
+ Autobuild::Package[pkg_name].prepare_for_forced_build
797
+ end
798
+ Autobuild.do_forced_build = false
799
+ end
800
+ end
801
+
770
802
  Autobuild.apply(all_enabled_packages, "autoproj-build")
771
803
  elsif !no_os_deps
772
804
  manifest.install_os_dependencies(all_enabled_packages)
@@ -238,7 +238,10 @@ module Autoproj
238
238
  # call-seq:
239
239
  # partition_packages(package_names) => os_packages, gem_packages
240
240
  def partition_packages(package_set, package_osdeps = Hash.new)
241
- package_set = package_set.map { |name| OSDependencies.aliases[name] || name }.to_set
241
+ package_set = package_set.
242
+ map { |name| OSDependencies.aliases[name] || name }.
243
+ to_set
244
+
242
245
  osdeps, gems = [], []
243
246
  package_set.to_set.each do |name|
244
247
  pkg_def = definitions[name]
@@ -181,13 +181,14 @@ def ruby_common(pkg) # :nodoc:
181
181
  extdir = File.join(srcdir, 'ext')
182
182
  if File.directory?(extdir)
183
183
  Find.find(extdir) do |file|
184
- if file =~ /Makefile/
185
- Autobuild::Subprocess.run self, 'build', Autobuild.tool("make"), "-C", File.dirname(file), "clean"
184
+ if File.directory?(file) && File.basename(file) == "build"
185
+ FileUtils.rm_rf file
186
+ Find.prune
186
187
  end
187
188
  end
188
189
  Find.find(extdir) do |file|
189
- if File.directory?(file) && file == "build"
190
- FileUtils.rm_rf file
190
+ if File.basename(file) == "Makefile"
191
+ Autobuild::Subprocess.run self, 'build', Autobuild.tool("make"), "-C", File.dirname(file), "clean"
191
192
  end
192
193
  end
193
194
  end
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "1.4.0"
2
+ VERSION = "1.4.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoproj
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-02-06 00:00:00 +01:00
12
+ date: 2010-02-15 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency