autoproj 1.4.0 → 1.4.1

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/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