autoproj 1.13.7 → 2.0.0.b1
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.
- checksums.yaml +4 -4
- data/.gemtest +0 -0
- data/Manifest.txt +27 -21
- data/Rakefile +4 -6
- data/bin/alocate +5 -1
- data/bin/amake +3 -53
- data/bin/aup +3 -50
- data/bin/autoproj +3 -264
- data/bin/autoproj_bootstrap +294 -349
- data/bin/autoproj_bootstrap.in +27 -3
- data/lib/autoproj.rb +23 -1
- data/lib/autoproj/autobuild.rb +51 -89
- data/lib/autoproj/base.rb +0 -9
- data/lib/autoproj/build_option.rb +1 -3
- data/lib/autoproj/cli.rb +1 -0
- data/lib/autoproj/cli/base.rb +155 -0
- data/lib/autoproj/cli/bootstrap.rb +119 -0
- data/lib/autoproj/cli/build.rb +72 -0
- data/lib/autoproj/cli/cache.rb +31 -0
- data/lib/autoproj/cli/clean.rb +37 -0
- data/lib/autoproj/cli/commit.rb +41 -0
- data/lib/autoproj/cli/doc.rb +22 -0
- data/lib/autoproj/cli/envsh.rb +22 -0
- data/lib/autoproj/cli/inspection_tool.rb +73 -0
- data/lib/autoproj/cli/locate.rb +96 -0
- data/lib/autoproj/cli/log.rb +26 -0
- data/lib/autoproj/cli/main.rb +249 -0
- data/lib/autoproj/cli/main_test.rb +57 -0
- data/lib/autoproj/cli/osdeps.rb +30 -0
- data/lib/autoproj/cli/query.rb +43 -0
- data/lib/autoproj/cli/reconfigure.rb +19 -0
- data/lib/autoproj/cli/reset.rb +7 -32
- data/lib/autoproj/cli/show.rb +219 -0
- data/lib/autoproj/cli/snapshot.rb +1 -1
- data/lib/autoproj/cli/status.rb +149 -0
- data/lib/autoproj/cli/switch_config.rb +28 -0
- data/lib/autoproj/cli/tag.rb +9 -35
- data/lib/autoproj/cli/test.rb +34 -55
- data/lib/autoproj/cli/update.rb +158 -0
- data/lib/autoproj/cli/versions.rb +32 -69
- data/lib/autoproj/configuration.rb +95 -34
- data/lib/autoproj/default.osdeps +25 -35
- data/lib/autoproj/environment.rb +85 -63
- data/lib/autoproj/exceptions.rb +50 -0
- data/lib/autoproj/gitorious.rb +11 -9
- data/lib/autoproj/manifest.rb +199 -231
- data/lib/autoproj/metapackage.rb +0 -8
- data/lib/autoproj/ops/build.rb +1 -17
- data/lib/autoproj/ops/configuration.rb +92 -90
- data/lib/autoproj/ops/import.rb +222 -0
- data/lib/autoproj/ops/loader.rb +18 -8
- data/lib/autoproj/ops/main_config_switcher.rb +45 -73
- data/lib/autoproj/ops/snapshot.rb +5 -10
- data/lib/autoproj/ops/tools.rb +10 -44
- data/lib/autoproj/options.rb +35 -6
- data/lib/autoproj/osdeps.rb +97 -68
- data/lib/autoproj/package_selection.rb +39 -20
- data/lib/autoproj/package_set.rb +26 -24
- data/lib/autoproj/reporter.rb +91 -0
- data/lib/autoproj/system.rb +50 -149
- data/lib/autoproj/variable_expansion.rb +32 -6
- data/lib/autoproj/vcs_definition.rb +57 -17
- data/lib/autoproj/version.rb +1 -1
- data/lib/autoproj/workspace.rb +550 -0
- data/test/ops/test_snapshot.rb +26 -0
- data/test/test_package.rb +30 -0
- data/test/test_vcs_definition.rb +46 -0
- metadata +55 -50
- data/bin/autolocate +0 -3
- data/bin/autoproj-bootstrap +0 -68
- data/bin/autoproj-cache +0 -18
- data/bin/autoproj-clean +0 -13
- data/bin/autoproj-commit +0 -10
- data/bin/autoproj-create-set +0 -118
- data/bin/autoproj-doc +0 -28
- data/bin/autoproj-envsh +0 -14
- data/bin/autoproj-list +0 -69
- data/bin/autoproj-locate +0 -85
- data/bin/autoproj-log +0 -5
- data/bin/autoproj-query +0 -82
- data/bin/autoproj-reset +0 -13
- data/bin/autoproj-show +0 -192
- data/bin/autoproj-snapshot +0 -27
- data/bin/autoproj-switch-config +0 -24
- data/bin/autoproj-tag +0 -13
- data/bin/autoproj-test +0 -31
- data/bin/autoproj-versions +0 -20
- data/bin/autoproj_stress_test +0 -40
- data/lib/autoproj/cmdline.rb +0 -1649
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1e302cab6677a8cb13970ecc83bd4df3b88be03
|
4
|
+
data.tar.gz: 5e4a7dfe45bbeab8e593c941990d30dd0c78d913
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2238a795517a8bfa3261f8e8a2a14a1e1be30d90fbb56469cb6634520a5aed280bb1746c511fe1db7443725142d9f8a1a39a67422432977787dae61b6f02446
|
7
|
+
data.tar.gz: e02d859e9a811a1bd09bb1ac30e69d0c5ee3425ae28e1f704e938217b53c01bd4042d927ea54b9d24e9a3af0690c89c3d24cbc25cff5df7bff938c63bbf683d7
|
data/.gemtest
ADDED
File without changes
|
data/Manifest.txt
CHANGED
@@ -5,43 +5,43 @@ Rakefile
|
|
5
5
|
bin/alocate
|
6
6
|
bin/amake
|
7
7
|
bin/aup
|
8
|
-
bin/autolocate
|
9
8
|
bin/autoproj
|
10
|
-
bin/autoproj-bootstrap
|
11
|
-
bin/autoproj-cache
|
12
|
-
bin/autoproj-clean
|
13
|
-
bin/autoproj-commit
|
14
|
-
bin/autoproj-create-set
|
15
|
-
bin/autoproj-doc
|
16
|
-
bin/autoproj-envsh
|
17
|
-
bin/autoproj-list
|
18
|
-
bin/autoproj-locate
|
19
|
-
bin/autoproj-log
|
20
|
-
bin/autoproj-query
|
21
|
-
bin/autoproj-reset
|
22
|
-
bin/autoproj-show
|
23
|
-
bin/autoproj-snapshot
|
24
|
-
bin/autoproj-switch-config
|
25
|
-
bin/autoproj-tag
|
26
|
-
bin/autoproj-test
|
27
|
-
bin/autoproj-versions
|
28
9
|
bin/autoproj_bootstrap
|
29
10
|
bin/autoproj_bootstrap.in
|
30
|
-
bin/autoproj_stress_test
|
31
11
|
lib/autoproj.rb
|
32
12
|
lib/autoproj/autobuild.rb
|
33
13
|
lib/autoproj/base.rb
|
34
14
|
lib/autoproj/build_option.rb
|
35
15
|
lib/autoproj/cli.rb
|
16
|
+
lib/autoproj/cli/base.rb
|
17
|
+
lib/autoproj/cli/bootstrap.rb
|
18
|
+
lib/autoproj/cli/build.rb
|
19
|
+
lib/autoproj/cli/cache.rb
|
20
|
+
lib/autoproj/cli/clean.rb
|
21
|
+
lib/autoproj/cli/commit.rb
|
22
|
+
lib/autoproj/cli/doc.rb
|
23
|
+
lib/autoproj/cli/envsh.rb
|
24
|
+
lib/autoproj/cli/inspection_tool.rb
|
25
|
+
lib/autoproj/cli/locate.rb
|
26
|
+
lib/autoproj/cli/log.rb
|
27
|
+
lib/autoproj/cli/main.rb
|
28
|
+
lib/autoproj/cli/main_test.rb
|
29
|
+
lib/autoproj/cli/osdeps.rb
|
30
|
+
lib/autoproj/cli/query.rb
|
31
|
+
lib/autoproj/cli/reconfigure.rb
|
36
32
|
lib/autoproj/cli/reset.rb
|
33
|
+
lib/autoproj/cli/show.rb
|
37
34
|
lib/autoproj/cli/snapshot.rb
|
35
|
+
lib/autoproj/cli/status.rb
|
36
|
+
lib/autoproj/cli/switch_config.rb
|
38
37
|
lib/autoproj/cli/tag.rb
|
39
38
|
lib/autoproj/cli/test.rb
|
39
|
+
lib/autoproj/cli/update.rb
|
40
40
|
lib/autoproj/cli/versions.rb
|
41
|
-
lib/autoproj/cmdline.rb
|
42
41
|
lib/autoproj/configuration.rb
|
43
42
|
lib/autoproj/default.osdeps
|
44
43
|
lib/autoproj/environment.rb
|
44
|
+
lib/autoproj/exceptions.rb
|
45
45
|
lib/autoproj/gitorious.rb
|
46
46
|
lib/autoproj/installation_manifest.rb
|
47
47
|
lib/autoproj/manifest.rb
|
@@ -49,6 +49,7 @@ lib/autoproj/metapackage.rb
|
|
49
49
|
lib/autoproj/ops/build.rb
|
50
50
|
lib/autoproj/ops/cache.rb
|
51
51
|
lib/autoproj/ops/configuration.rb
|
52
|
+
lib/autoproj/ops/import.rb
|
52
53
|
lib/autoproj/ops/loader.rb
|
53
54
|
lib/autoproj/ops/main_config_switcher.rb
|
54
55
|
lib/autoproj/ops/snapshot.rb
|
@@ -60,6 +61,7 @@ lib/autoproj/package_manifest.rb
|
|
60
61
|
lib/autoproj/package_selection.rb
|
61
62
|
lib/autoproj/package_set.rb
|
62
63
|
lib/autoproj/query.rb
|
64
|
+
lib/autoproj/reporter.rb
|
63
65
|
lib/autoproj/system.rb
|
64
66
|
lib/autoproj/templates/create-set/packages.autobuild
|
65
67
|
lib/autoproj/templates/create-set/source.yml
|
@@ -67,6 +69,7 @@ lib/autoproj/test.rb
|
|
67
69
|
lib/autoproj/variable_expansion.rb
|
68
70
|
lib/autoproj/vcs_definition.rb
|
69
71
|
lib/autoproj/version.rb
|
72
|
+
lib/autoproj/workspace.rb
|
70
73
|
samples/autoproj/README.txt
|
71
74
|
samples/autoproj/init.rb
|
72
75
|
samples/autoproj/manifest
|
@@ -88,6 +91,7 @@ test/data/test_manifest/autoproj/local_set/local.autobuild
|
|
88
91
|
test/data/test_manifest/autoproj/local_set/source.yml
|
89
92
|
test/data/test_manifest/autoproj/manifest
|
90
93
|
test/ops/test_configuration.rb
|
94
|
+
test/ops/test_snapshot.rb
|
91
95
|
test/package_managers/apt-dpkg-status
|
92
96
|
test/package_managers/apt-dpkg-status.installed-last
|
93
97
|
test/package_managers/apt-dpkg-status.noninstalled-last
|
@@ -96,4 +100,6 @@ test/package_managers/test_gem.rb
|
|
96
100
|
test/package_managers/test_pip.rb
|
97
101
|
test/test_manifest.rb
|
98
102
|
test/test_os_dependencies.rb
|
103
|
+
test/test_package.rb
|
99
104
|
test/test_package_manifest.rb
|
105
|
+
test/test_vcs_definition.rb
|
data/Rakefile
CHANGED
@@ -18,9 +18,9 @@ Utilrb::Rake.hoe do
|
|
18
18
|
license 'BSD'
|
19
19
|
|
20
20
|
extra_deps <<
|
21
|
-
['autobuild',
|
22
|
-
['utilrb', '~> 2.0.0'] <<
|
23
|
-
['highline', '>= 1.
|
21
|
+
['autobuild', '~> 1.9', '>= 1.9.0'] <<
|
22
|
+
['utilrb', '~> 2.0', '>= 2.0.0'] <<
|
23
|
+
['highline', '~> 1.7', '>= 1.7.0']
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -32,7 +32,6 @@ namespace 'dist' do
|
|
32
32
|
build_option_code = File.read(File.join(Dir.pwd, 'lib', 'autoproj', 'build_option.rb'))
|
33
33
|
config_code = File.read(File.join(Dir.pwd, 'lib', 'autoproj', 'configuration.rb'))
|
34
34
|
osdeps_code = File.read(File.join(Dir.pwd, 'lib', 'autoproj', 'osdeps.rb'))
|
35
|
-
options_code = File.read(File.join(Dir.pwd, 'lib', 'autoproj', 'options.rb'))
|
36
35
|
system_code = File.read(File.join(Dir.pwd, 'lib', 'autoproj', 'system.rb'))
|
37
36
|
osdeps_defaults = File.read(File.join(Dir.pwd, 'lib', 'autoproj', 'default.osdeps'))
|
38
37
|
require 'autobuild'
|
@@ -51,7 +50,7 @@ namespace 'dist' do
|
|
51
50
|
osdeps_defaults = YAML.dump(osdeps)
|
52
51
|
# Since we are using gsub to replace the content in the bootstrap file,
|
53
52
|
# we have to quote all \
|
54
|
-
[osdeps_code,
|
53
|
+
[osdeps_code, system_code, osdeps_defaults, tools_code].each do |text|
|
55
54
|
text.gsub! /\\/, '\\\\\\\\'
|
56
55
|
end
|
57
56
|
|
@@ -59,7 +58,6 @@ namespace 'dist' do
|
|
59
58
|
gsub('BUILD_OPTION_CODE', build_option_code).
|
60
59
|
gsub('CONFIG_CODE', config_code).
|
61
60
|
gsub('OSDEPS_CODE', osdeps_code).
|
62
|
-
gsub('OPTIONS_CODE', options_code).
|
63
61
|
gsub('SYSTEM_CODE', system_code).
|
64
62
|
gsub('OSDEPS_DEFAULTS', osdeps_defaults).
|
65
63
|
gsub('TOOLS_CODE', tools_code)
|
data/bin/alocate
CHANGED
data/bin/amake
CHANGED
@@ -1,56 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
2
|
|
3
|
-
require '
|
4
|
-
|
5
|
-
|
6
|
-
mode = "build"
|
7
|
-
|
8
|
-
parser = OptionParser.new do |opt|
|
9
|
-
opt.banner = "amake [options] [dir_or_package]
|
10
|
-
Runs autoproj build for the given directory or package name.
|
11
|
-
Selects the current directory if none is given
|
12
|
-
|
13
|
-
Accepts all options from autoproj build plus the following options:
|
14
|
-
|
15
|
-
"
|
16
|
-
opt.on('--all', 'runs autoproj build without arguments (does not add the current directory)') do
|
17
|
-
build_all = true
|
18
|
-
end
|
19
|
-
opt.on('--force', 'runs autoproj force-build instead of autoproj build') do
|
20
|
-
mode = "force-build"
|
21
|
-
end
|
22
|
-
opt.on('--rebuild', 'runs autoproj force-build instead of autoproj build') do
|
23
|
-
mode = "rebuild"
|
24
|
-
end
|
25
|
-
opt.on('--help', 'shows this help message') do
|
26
|
-
puts parser
|
27
|
-
exit(0)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
# Accept options that are invalid in +parser+, to pass them on to autoproj
|
32
|
-
# itself
|
33
|
-
options = ARGV.dup
|
34
|
-
remaining = []
|
35
|
-
while !options.empty?
|
36
|
-
begin
|
37
|
-
head = options.shift
|
38
|
-
remaining.concat(parser.parse([head]))
|
39
|
-
rescue OptionParser::InvalidOption
|
40
|
-
remaining << head
|
41
|
-
retry
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# If --all is not given *and* there is no non-option argument (i.e. no directory
|
46
|
-
# / package name), add the current directory to the command line
|
47
|
-
if remaining.grep(/^-/).size == remaining.size && !build_all
|
48
|
-
remaining.push '.'
|
49
|
-
end
|
50
|
-
|
51
|
-
remaining.unshift mode
|
52
|
-
ORIGINAL_ARGV = ARGV.dup # This is used in case autoproj needs to update itself
|
53
|
-
ARGV.clear
|
54
|
-
ARGV.concat(remaining)
|
55
|
-
load File.expand_path('autoproj', File.dirname(__FILE__))
|
3
|
+
require 'autoproj/cli/main'
|
4
|
+
Autoproj::CLI.basic_setup
|
5
|
+
Autoproj::CLI::Main.start(['build', '--amake', *ARGV])
|
56
6
|
|
data/bin/aup
CHANGED
@@ -1,52 +1,5 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
require 'optparse'
|
3
|
-
require 'autoproj'
|
4
|
-
|
5
|
-
build_all = (Dir.pwd == Autoproj.root_dir)
|
6
|
-
parser = OptionParser.new do |opt|
|
7
|
-
opt.banner = "aup [options] [dir_or_package]
|
8
|
-
Runs autoproj update for the given directory or package name.
|
9
|
-
Selects the current directory if none is given. Override by
|
10
|
-
passing the --all option.
|
11
|
-
|
12
|
-
Accepts all options from autoproj update plus the following options:
|
13
|
-
|
14
|
-
"
|
15
|
-
opt.on('--all', 'runs autoproj build without arguments (does not add the current directory)') do
|
16
|
-
build_all = true
|
17
|
-
end
|
18
|
-
opt.on('--help', 'shows this help message') do
|
19
|
-
puts parser
|
20
|
-
exit(0)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# Accept options that are invalid in +parser+, to pass them on to autoproj
|
25
|
-
# itself
|
26
|
-
options = ARGV.dup
|
27
|
-
remaining = []
|
28
|
-
while !options.empty?
|
29
|
-
begin
|
30
|
-
head = options.shift
|
31
|
-
remaining.concat(parser.parse([head]))
|
32
|
-
rescue OptionParser::InvalidOption
|
33
|
-
remaining << head
|
34
|
-
retry
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
|
39
|
-
# If --all is not given *and* there is no non-option argument (i.e. no directory
|
40
|
-
# / package name), add the current directory to the command line
|
41
|
-
#
|
42
|
-
# BUT make running 'aup' in the root directory the equivalent of aup --all
|
43
|
-
if remaining.grep(/^-/).size == remaining.size && !build_all
|
44
|
-
remaining.push '.'
|
45
|
-
end
|
46
|
-
remaining.unshift 'update'
|
47
|
-
|
48
|
-
ORIGINAL_ARGV = ARGV.dup # This is used in case autoproj needs to update itself
|
49
|
-
ARGV.clear
|
50
|
-
ARGV.concat(remaining)
|
51
|
-
load File.expand_path('autoproj', File.dirname(__FILE__))
|
52
2
|
|
3
|
+
require 'autoproj/cli/main'
|
4
|
+
Autoproj::CLI.basic_setup
|
5
|
+
Autoproj::CLI::Main.start(['update', '--aup', *ARGV])
|
data/bin/autoproj
CHANGED
@@ -1,269 +1,8 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
2
|
|
3
|
-
if !defined?(ORIGINAL_ARGV)
|
4
|
-
ORIGINAL_ARGV = ARGV.dup
|
5
|
-
end
|
6
|
-
|
7
|
-
if RUBY_VERSION < "1.9.2"
|
8
|
-
STDERR.puts "autoproj requires Ruby >= 1.9.2"
|
9
|
-
exit 1
|
10
|
-
end
|
11
|
-
|
12
3
|
require 'autoproj'
|
13
4
|
require 'autoproj/autobuild'
|
14
|
-
require '
|
15
|
-
|
16
|
-
|
17
|
-
include Autoproj
|
18
|
-
|
19
|
-
InputError = Autoproj::InputError
|
20
|
-
|
21
|
-
def color(*args)
|
22
|
-
Autoproj.color(*args)
|
23
|
-
end
|
24
|
-
|
25
|
-
Encoding.default_internal = Encoding::UTF_8
|
26
|
-
Encoding.default_external = Encoding::UTF_8
|
27
|
-
Autoproj::OSDependencies.autodetect_ruby
|
28
|
-
|
29
|
-
# Check the first element of ARGV. If a tool called autoproj-VALUE exists, just
|
30
|
-
# pass the hand to it
|
31
|
-
prefix = File.expand_path(__FILE__)
|
32
|
-
if File.file?("#{prefix}-#{ARGV.first}")
|
33
|
-
binary = "#{prefix}-#{ARGV.shift}"
|
34
|
-
# RubyGems have a BIG performance problem when $LOADED_PATH starts to be
|
35
|
-
# big.
|
36
|
-
#
|
37
|
-
# So, if the sub-script is Ruby-based, just load it and exit
|
38
|
-
if File.readlines(binary).first =~ /ruby/
|
39
|
-
load binary
|
40
|
-
exit
|
41
|
-
else
|
42
|
-
exec(binary, *ARGV)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# Find the autoproj root dir
|
47
|
-
Autoproj::CmdLine.report do
|
48
|
-
selected_packages = Autoproj::CmdLine.parse_arguments(ARGV.dup)
|
49
|
-
|
50
|
-
# Expand directories in the selected_packages set, before we chdir to the
|
51
|
-
# autoproj root
|
52
|
-
root_dir = Autoproj.root_dir
|
53
|
-
selected_packages.map! do |name|
|
54
|
-
if File.directory?(name)
|
55
|
-
File.expand_path(name) + File::SEPARATOR
|
56
|
-
else
|
57
|
-
name
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
needs_update_config = false
|
62
|
-
selected_packages.delete_if do |name|
|
63
|
-
if name =~ /^#{Regexp.quote(Autoproj.config_dir + File::SEPARATOR)}/ ||
|
64
|
-
name =~ /^#{Regexp.quote(Autoproj.remotes_dir + File::SEPARATOR)}/
|
65
|
-
needs_update_config = true
|
66
|
-
elsif (Autoproj.config_dir + File::SEPARATOR) =~ /^#{Regexp.quote(name)}/
|
67
|
-
needs_update_config = true
|
68
|
-
false
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
Dir.chdir(root_dir)
|
73
|
-
|
74
|
-
# Basic initialization
|
75
|
-
Autoproj::CmdLine.initialize
|
76
|
-
if needs_update_config
|
77
|
-
Autoproj::CmdLine.update_configuration
|
78
|
-
if selected_packages.empty?
|
79
|
-
exit 0
|
80
|
-
end
|
81
|
-
elsif selected_packages.empty?
|
82
|
-
Autoproj::CmdLine.update_myself
|
83
|
-
Autoproj::CmdLine.update_configuration
|
84
|
-
else
|
85
|
-
begin
|
86
|
-
old_value = Autobuild.do_update
|
87
|
-
Autobuild.do_update = false
|
88
|
-
Autoproj::CmdLine.update_configuration
|
89
|
-
ensure
|
90
|
-
Autobuild.do_update = old_value
|
91
|
-
end
|
92
|
-
end
|
93
|
-
Autoproj::CmdLine.load_configuration
|
94
|
-
manifest = Autoproj.manifest
|
95
|
-
|
96
|
-
Autoproj::CmdLine.setup_all_package_directories
|
97
|
-
# resolve_user_selection auto-adds packages present on disk but not listed
|
98
|
-
# in the manifest. However, since we have not yet loaded overrides /
|
99
|
-
# package blocks, it is possible that it contains excluded / ignored
|
100
|
-
# packages
|
101
|
-
#
|
102
|
-
# First do the resolution to get auto-add, finalize the package
|
103
|
-
# configuration, and then re-resolve
|
104
|
-
Autoproj::CmdLine.resolve_user_selection(selected_packages)
|
105
|
-
# Now load the rest of the configuration
|
106
|
-
Autoproj::CmdLine.finalize_package_setup
|
107
|
-
# Finally, filter out exclusions
|
108
|
-
resolved_selected_packages =
|
109
|
-
Autoproj::CmdLine.resolve_user_selection(selected_packages)
|
110
|
-
Autoproj::CmdLine.validate_user_selection(selected_packages, resolved_selected_packages)
|
111
|
-
|
112
|
-
if !selected_packages.empty?
|
113
|
-
command_line_selection = resolved_selected_packages.dup
|
114
|
-
else
|
115
|
-
command_line_selection = Array.new
|
116
|
-
end
|
117
|
-
Autoproj.manifest.explicit_selection = resolved_selected_packages
|
118
|
-
selected_packages = resolved_selected_packages
|
119
|
-
|
120
|
-
if other_root = Autoproj::CmdLine.update_from
|
121
|
-
Autobuild::Package.each do |_, pkg|
|
122
|
-
if pkg.importer.respond_to?(:pick_from_autoproj_root)
|
123
|
-
if !pkg.importer.pick_from_autoproj_root(pkg, other_root)
|
124
|
-
pkg.update = false
|
125
|
-
end
|
126
|
-
else
|
127
|
-
pkg.update = false
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
# If in verbose mode, or if we only update sources, list the sources
|
133
|
-
if Autoproj.verbose || Autoproj::CmdLine.display_configuration?
|
134
|
-
Autoproj::CmdLine.display_configuration(manifest, selected_packages.packages)
|
135
|
-
end
|
136
|
-
|
137
|
-
if Autoproj::CmdLine.only_config? || Autoproj::CmdLine.reconfigure?
|
138
|
-
exit(0)
|
139
|
-
end
|
140
|
-
|
141
|
-
if Autoproj::CmdLine.only_status?
|
142
|
-
all_enabled_packages = Autoproj::CmdLine.import_packages(selected_packages)
|
143
|
-
result = Autoproj::CmdLine.status(all_enabled_packages)
|
144
|
-
if Autoproj::CmdLine.status_exit_code?
|
145
|
-
code = 0
|
146
|
-
if result.uncommitted
|
147
|
-
code |= 1
|
148
|
-
end
|
149
|
-
if result.local
|
150
|
-
code |= 2
|
151
|
-
end
|
152
|
-
if result.remote
|
153
|
-
code |= 4
|
154
|
-
end
|
155
|
-
exit(code)
|
156
|
-
else
|
157
|
-
exit(0)
|
158
|
-
end
|
159
|
-
elsif Autoproj::CmdLine.check?
|
160
|
-
all_enabled_packages = Autoproj::CmdLine.import_packages(selected_packages)
|
161
|
-
Autoproj::CmdLine.check(all_enabled_packages)
|
162
|
-
exit(0)
|
163
|
-
elsif Autoproj::CmdLine.manifest_update?
|
164
|
-
all_enabled_packages = Autoproj::CmdLine.import_packages(selected_packages)
|
165
|
-
Autoproj::CmdLine.manifest_update(all_enabled_packages)
|
166
|
-
exit(0)
|
167
|
-
elsif Autoproj::CmdLine.snapshot?
|
168
|
-
all_enabled_packages = Autoproj::CmdLine.import_packages(selected_packages)
|
169
|
-
Autoproj::CmdLine.snapshot(Autoproj::CmdLine.snapshot_dir, all_enabled_packages)
|
170
|
-
exit(0)
|
171
|
-
elsif Autoproj::CmdLine.revshow_osdeps?
|
172
|
-
all_enabled_packages = Autoproj::CmdLine.import_packages(selected_packages)
|
173
|
-
Autoproj::CmdLine.revshow_osdeps(all_enabled_packages)
|
174
|
-
exit(0)
|
175
|
-
elsif Autoproj::CmdLine.show_osdeps?
|
176
|
-
all_enabled_packages = Autoproj::CmdLine.import_packages(selected_packages)
|
177
|
-
Autoproj::CmdLine.show_osdeps(all_enabled_packages)
|
178
|
-
exit(0)
|
179
|
-
elsif Autoproj::CmdLine.list_unused?
|
180
|
-
all_enabled_packages = Autoproj::CmdLine.import_packages(selected_packages)
|
181
|
-
Autoproj::CmdLine.list_unused(all_enabled_packages)
|
182
|
-
exit(0)
|
183
|
-
end
|
184
|
-
|
185
|
-
STDERR.puts
|
186
|
-
STDERR.puts color("autoproj: importing and loading selected packages", :bold)
|
187
|
-
|
188
|
-
# Install prepackaged dependencies needed to import and build the packages.
|
189
|
-
# The required information is in the package sets configuration.
|
190
|
-
if Autoproj::CmdLine.update_os_dependencies?
|
191
|
-
Autoproj.osdeps.install(Autoproj.build_system_dependencies)
|
192
|
-
end
|
193
|
-
|
194
|
-
# Now, we actually do the import. Unfortunately, at this stage, we need to
|
195
|
-
# import the package and its dependencies ourselves so that we are able to
|
196
|
-
# build the list of packages that have actually been selected on the command
|
197
|
-
# line.
|
198
|
-
all_enabled_packages = Autoproj::CmdLine.import_packages(selected_packages)
|
199
|
-
Autoproj::CmdLine.load_all_available_package_manifests(false)
|
200
|
-
Autoproj::CmdLine.export_installation_manifest
|
201
|
-
|
202
|
-
if Autoproj::CmdLine.update_os_dependencies? && !all_enabled_packages.empty?
|
203
|
-
begin
|
204
|
-
update_mode = Autobuild.do_update
|
205
|
-
Autobuild.do_update ||= Autoproj::CmdLine.osdeps?
|
206
|
-
manifest.install_os_dependencies(all_enabled_packages)
|
207
|
-
ensure
|
208
|
-
Autobuild.do_update = update_mode
|
209
|
-
end
|
210
|
-
end
|
211
|
-
|
212
|
-
if all_enabled_packages.empty?
|
213
|
-
STDERR.puts color("autoproj: nothing to do", :bold)
|
214
|
-
elsif Autoproj::CmdLine.build?
|
215
|
-
Autoproj.message("autoproj: building and installing packages", :bold)
|
216
|
-
Autoproj::CmdLine.build_packages(command_line_selection, all_enabled_packages)
|
217
|
-
end
|
218
|
-
|
219
|
-
if Autoproj::CmdLine.update_envsh?
|
220
|
-
Autoproj.export_env_sh
|
221
|
-
Autoproj.message "autoproj: updated #{Autoproj.root_dir}/#{Autoproj::ENV_FILENAME}", :green
|
222
|
-
end
|
223
|
-
|
224
|
-
if Autoproj::CmdLine.show_statistics?
|
225
|
-
per_phase = Hash.new
|
226
|
-
per_type = Hash.new
|
227
|
-
|
228
|
-
Autoproj.message
|
229
|
-
Autoproj.message "statistics about the build", :bold
|
230
|
-
|
231
|
-
Autoproj.manifest.each_autobuild_package.sort_by(&:name).each do |pkg|
|
232
|
-
next if pkg.statistics.empty?
|
233
|
-
|
234
|
-
if per_phase.empty?
|
235
|
-
Autoproj.message "detailed per package"
|
236
|
-
end
|
237
|
-
|
238
|
-
puts " #{pkg.name}: %.1fs" % [pkg.statistics.values.inject(&:+)]
|
239
|
-
pkg.statistics.each_key.sort.each do |phase|
|
240
|
-
per_phase[phase] ||= 0
|
241
|
-
per_phase[phase] += pkg.statistics[phase]
|
242
|
-
per_type[pkg.class] ||= Hash.new
|
243
|
-
per_type[pkg.class][phase] ||= 0
|
244
|
-
per_type[pkg.class][phase] += pkg.statistics[phase]
|
245
|
-
puts " #{phase}: %.1fs" % [pkg.statistics[phase]]
|
246
|
-
end
|
247
|
-
end
|
248
|
-
|
249
|
-
if !per_type.empty?
|
250
|
-
Autoproj.message
|
251
|
-
Autoproj.message "detailed per package type"
|
252
|
-
per_type.each do |pkg_type, phases|
|
253
|
-
Autoproj.message " #{pkg_type.name}: %.1fs" % [phases.values.inject(&:+)]
|
254
|
-
phases.each_key.sort.each do |phase_name|
|
255
|
-
Autoproj.message " #{phase_name}: %.1fs" % [phases[phase_name]]
|
256
|
-
end
|
257
|
-
end
|
258
|
-
end
|
259
|
-
|
260
|
-
if !per_phase.empty?
|
261
|
-
Autoproj.message
|
262
|
-
Autoproj.message "summary per phase"
|
263
|
-
per_phase.keys.sort.each do |phase_name|
|
264
|
-
Autoproj.message " #{phase_name}: %.1fs" % [per_phase[phase_name]]
|
265
|
-
end
|
266
|
-
end
|
267
|
-
end
|
268
|
-
end
|
5
|
+
require 'autoproj/cli/main'
|
6
|
+
Autoproj::CLI.basic_setup
|
7
|
+
Autoproj::CLI::Main.start(ARGV)
|
269
8
|
|