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
data/lib/autoproj/cli.rb
CHANGED
@@ -0,0 +1,155 @@
|
|
1
|
+
require 'autoproj'
|
2
|
+
require 'autoproj/autobuild'
|
3
|
+
|
4
|
+
module Autoproj
|
5
|
+
module CLI
|
6
|
+
class Base
|
7
|
+
include Ops::Tools
|
8
|
+
|
9
|
+
attr_reader :ws
|
10
|
+
|
11
|
+
def initialize(ws = nil)
|
12
|
+
@ws = (ws || Workspace.from_environment)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Normalizes the arguments given by the user on the command line
|
16
|
+
#
|
17
|
+
# This converts relative paths to full paths, and removes mentions
|
18
|
+
# of the configuration directory (as it is handled separately in
|
19
|
+
# autoproj)
|
20
|
+
#
|
21
|
+
# @return [(Array<String>,Boolean)] the normalized arguments that
|
22
|
+
# could e.g. be passed to {#resolve_selection}, as well as whether
|
23
|
+
# the config directory was selected or not
|
24
|
+
def normalize_command_line_package_selection(selection)
|
25
|
+
selection = selection.map do |name|
|
26
|
+
if File.directory?(name)
|
27
|
+
File.expand_path(name) + "/"
|
28
|
+
else
|
29
|
+
name
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
config_selected = false
|
34
|
+
selection.delete_if do |name|
|
35
|
+
if name =~ /^#{Regexp.quote(ws.config_dir)}(?:#{File::SEPARATOR}|$)/ ||
|
36
|
+
name =~ /^#{Regexp.quote(ws.remotes_dir)}(?:#{File::SEPARATOR}|$)/
|
37
|
+
config_selected = true
|
38
|
+
elsif (ws.config_dir + File::SEPARATOR) =~ /^#{Regexp.quote(name)}/
|
39
|
+
config_selected = true
|
40
|
+
false
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
return selection, config_selected
|
45
|
+
end
|
46
|
+
|
47
|
+
def resolve_user_selection(selected_packages, options = Hash.new)
|
48
|
+
if selected_packages.empty?
|
49
|
+
return ws.manifest.default_packages
|
50
|
+
end
|
51
|
+
selected_packages = selected_packages.to_set
|
52
|
+
|
53
|
+
selected_packages, nonresolved = ws.manifest.
|
54
|
+
expand_package_selection(selected_packages, options)
|
55
|
+
|
56
|
+
# Try to auto-add stuff if nonresolved
|
57
|
+
nonresolved.delete_if do |sel|
|
58
|
+
next if !File.directory?(sel)
|
59
|
+
while sel != '/'
|
60
|
+
handler, srcdir = Autoproj.package_handler_for(sel)
|
61
|
+
if handler
|
62
|
+
Autoproj.message " auto-adding #{srcdir} using the #{handler.gsub(/_package/, '')} package handler"
|
63
|
+
srcdir = File.expand_path(srcdir)
|
64
|
+
relative_to_root = Pathname.new(srcdir).relative_path_from(Pathname.new(ws.root_dir))
|
65
|
+
pkg = ws.in_package_set(ws.manifest.main_package_set, ws.manifest.file) do
|
66
|
+
send(handler, relative_to_root.to_s)
|
67
|
+
end
|
68
|
+
ws.setup_package_directories(pkg)
|
69
|
+
selected_packages.select(sel, pkg.name, weak: true)
|
70
|
+
break(true)
|
71
|
+
end
|
72
|
+
|
73
|
+
sel = File.dirname(sel)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
if Autoproj.verbose
|
78
|
+
Autoproj.message "will install #{selected_packages.packages.to_a.sort.join(", ")}"
|
79
|
+
end
|
80
|
+
return selected_packages, nonresolved
|
81
|
+
end
|
82
|
+
|
83
|
+
def resolve_selection(manifest, user_selection, options = Hash.new)
|
84
|
+
options = Kernel.validate_options options,
|
85
|
+
checkout_only: true,
|
86
|
+
only_local: false,
|
87
|
+
recursive: true,
|
88
|
+
ignore_non_imported_packages: false
|
89
|
+
|
90
|
+
resolved_selection, _ = resolve_user_selection(user_selection, filter: false)
|
91
|
+
if options[:ignore_non_imported_packages]
|
92
|
+
manifest.each_autobuild_package do |pkg|
|
93
|
+
if !File.directory?(pkg.srcdir)
|
94
|
+
manifest.ignore_package(pkg.name)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
resolved_selection.filter_excluded_and_ignored_packages(manifest)
|
99
|
+
|
100
|
+
ops = Ops::Import.new(ws)
|
101
|
+
source_packages, osdep_packages = ops.import_packages(
|
102
|
+
resolved_selection,
|
103
|
+
checkout_only: options[:checkout_only],
|
104
|
+
only_local: options[:only_local],
|
105
|
+
recursive: options[:recursive],
|
106
|
+
warn_about_ignored_packages: false)
|
107
|
+
|
108
|
+
return source_packages, osdep_packages, resolved_selection
|
109
|
+
end
|
110
|
+
|
111
|
+
def validate_user_selection(user_selection, resolved_selection)
|
112
|
+
not_matched = user_selection.find_all do |pkg_name|
|
113
|
+
!resolved_selection.has_match_for?(pkg_name)
|
114
|
+
end
|
115
|
+
if !not_matched.empty?
|
116
|
+
raise ConfigError.new, "autoproj: wrong package selection on command line, cannot find a match for #{not_matched.to_a.sort.join(", ")}"
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
def validate_options(args, options)
|
121
|
+
self.class.validate_options(args, options)
|
122
|
+
end
|
123
|
+
|
124
|
+
def self.validate_options(args, options)
|
125
|
+
options, remaining = filter_options options,
|
126
|
+
silent: false,
|
127
|
+
verbose: false,
|
128
|
+
debug: false,
|
129
|
+
color: true,
|
130
|
+
progress: true
|
131
|
+
|
132
|
+
Autoproj.silent = options[:silent]
|
133
|
+
if options[:verbose]
|
134
|
+
Autoproj.verbose = true
|
135
|
+
Autobuild.verbose = true
|
136
|
+
Rake.application.options.trace = false
|
137
|
+
Autobuild.debug = false
|
138
|
+
end
|
139
|
+
|
140
|
+
if options[:debug]
|
141
|
+
Autoproj.verbose = true
|
142
|
+
Autobuild.verbose = true
|
143
|
+
Rake.application.options.trace = true
|
144
|
+
Autobuild.debug = true
|
145
|
+
end
|
146
|
+
|
147
|
+
Autobuild.color = options[:color]
|
148
|
+
|
149
|
+
Autobuild.progress_display_enabled = options[:progress]
|
150
|
+
return args, remaining
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
@@ -0,0 +1,119 @@
|
|
1
|
+
require 'autoproj'
|
2
|
+
require 'autoproj/cli/base'
|
3
|
+
require 'autoproj/ops/tools'
|
4
|
+
require 'autoproj/ops/main_config_switcher'
|
5
|
+
|
6
|
+
module Autoproj
|
7
|
+
module CLI
|
8
|
+
class Bootstrap
|
9
|
+
include Ops::Tools
|
10
|
+
|
11
|
+
attr_reader :root_dir
|
12
|
+
|
13
|
+
def initialize(root_dir = Dir.pwd)
|
14
|
+
if File.exists?(File.join(root_dir, 'autoproj', "manifest"))
|
15
|
+
raise ConfigError, "this installation is already bootstrapped. Remove the autoproj directory if it is not the case"
|
16
|
+
end
|
17
|
+
@root_dir = root_dir
|
18
|
+
end
|
19
|
+
|
20
|
+
def validate_options(args, options)
|
21
|
+
args, options = Base.validate_options(args, options)
|
22
|
+
if path = options[:reuse]
|
23
|
+
if path == 'reuse'
|
24
|
+
path = ENV['AUTOPROJ_CURRENT_ROOT']
|
25
|
+
end
|
26
|
+
|
27
|
+
path = File.expand_path(path)
|
28
|
+
if !File.directory?(path) || !File.directory?(File.join(path, 'autoproj'))
|
29
|
+
raise ArgumentError, "#{path} does not look like an autoproj installation"
|
30
|
+
end
|
31
|
+
options[:reuse] = [path]
|
32
|
+
end
|
33
|
+
return args, options
|
34
|
+
end
|
35
|
+
|
36
|
+
def restart_if_needed
|
37
|
+
# Check if the .autoprojrc changed the PATH and therefore which autoproj script
|
38
|
+
# should be executed ... and restart if it did
|
39
|
+
autoproj_path = Autobuild.find_in_path('autoproj')
|
40
|
+
if $0 != autoproj_path
|
41
|
+
puts "your .autoprojrc file changed PATH in a way that requires the restart of autoproj"
|
42
|
+
|
43
|
+
if ENV['AUTOPROJ_RESTARTING']
|
44
|
+
puts "infinite loop detected, will not restart this time"
|
45
|
+
else
|
46
|
+
require 'rbconfig'
|
47
|
+
ws.config.save
|
48
|
+
exec(ws.config.ruby_executable, autoproj_path, *ARGV)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def install_autoproj_gem_in_new_root(ws)
|
54
|
+
# Install the autoproj/autobuild gem explicitely in the new
|
55
|
+
# root.
|
56
|
+
original_env =
|
57
|
+
Hash['GEM_HOME' => Gem.paths.home,
|
58
|
+
'GEM_PATH' => Gem.paths.path]
|
59
|
+
|
60
|
+
begin
|
61
|
+
Gem.paths =
|
62
|
+
Hash['GEM_HOME' => File.join(root_dir, '.gems'),
|
63
|
+
'GEM_PATH' => []]
|
64
|
+
PackageManagers::GemManager.with_prerelease(ws.config.use_prerelease?) do
|
65
|
+
ws.osdeps.install(%w{autobuild autoproj})
|
66
|
+
end
|
67
|
+
ensure
|
68
|
+
Gem.paths = original_env
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def run(buildconf_info, options)
|
73
|
+
ws = Workspace.new(root_dir)
|
74
|
+
ws.setup
|
75
|
+
install_autoproj_gem_in_new_root(ws)
|
76
|
+
restart_if_needed
|
77
|
+
|
78
|
+
switcher = Ops::MainConfigSwitcher.new(ws)
|
79
|
+
begin
|
80
|
+
switcher.bootstrap(buildconf_info, options)
|
81
|
+
|
82
|
+
STDERR.puts <<-EOTEXT
|
83
|
+
|
84
|
+
|
85
|
+
#{Autoproj.color('autoproj bootstrap successfully finished', :green, :bold)}
|
86
|
+
|
87
|
+
#{Autoproj.color('To further use autoproj and the installed software', :bold)}, you
|
88
|
+
must add the following line at the bottom of your .bashrc:
|
89
|
+
source #{root_dir}/#{Autoproj::ENV_FILENAME}
|
90
|
+
|
91
|
+
WARNING: autoproj will not work until your restart all
|
92
|
+
your consoles, or run the following in them:
|
93
|
+
$ source #{root_dir}/#{Autoproj::ENV_FILENAME}
|
94
|
+
|
95
|
+
#{Autoproj.color('To import and build the packages', :bold)}, you can now run
|
96
|
+
aup
|
97
|
+
amake
|
98
|
+
|
99
|
+
The resulting software is installed in
|
100
|
+
#{root_dir}/install
|
101
|
+
|
102
|
+
EOTEXT
|
103
|
+
|
104
|
+
rescue RuntimeError
|
105
|
+
STDERR.puts <<-EOTEXT
|
106
|
+
#{Autoproj.color('autoproj bootstrap failed', :red, :bold)}
|
107
|
+
To retry, first source the #{Autoproj::ENV_FILENAME} script with
|
108
|
+
source #{root_dir}/#{Autoproj::ENV_FILENAME}
|
109
|
+
and then re-run autoproj bootstrap
|
110
|
+
autoproj bootstrap '#{ARGV.join("'")}'
|
111
|
+
EOTEXT
|
112
|
+
|
113
|
+
raise
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'autoproj/cli/update'
|
2
|
+
require 'autoproj/ops/build'
|
3
|
+
|
4
|
+
module Autoproj
|
5
|
+
module CLI
|
6
|
+
class Build < Update
|
7
|
+
def validate_options(selected_packages, options)
|
8
|
+
selected_packages, options = super
|
9
|
+
if options[:amake] && selected_packages.empty? && !options[:all]
|
10
|
+
selected_packages = ['.']
|
11
|
+
end
|
12
|
+
|
13
|
+
if !options.has_key?(:deps)
|
14
|
+
options[:deps] =
|
15
|
+
!(options[:rebuild] || options[:force])
|
16
|
+
end
|
17
|
+
return selected_packages, options
|
18
|
+
end
|
19
|
+
|
20
|
+
def run(selected_packages, options)
|
21
|
+
build_options, options = filter_options options,
|
22
|
+
force: false,
|
23
|
+
rebuild: false
|
24
|
+
|
25
|
+
Autobuild.ignore_errors = options[:keep_going]
|
26
|
+
|
27
|
+
command_line_selection, source_packages, osdep_packages =
|
28
|
+
super(selected_packages, options.merge(checkout_only: true))
|
29
|
+
|
30
|
+
ops = Ops::Build.new(ws.manifest)
|
31
|
+
if build_options[:rebuild] || build_options[:force]
|
32
|
+
packages_to_rebuild =
|
33
|
+
if options[:deps] || command_line_selection.empty?
|
34
|
+
source_packages
|
35
|
+
else command_line_selection
|
36
|
+
end
|
37
|
+
|
38
|
+
if command_line_selection.empty?
|
39
|
+
# If we don't have an explicit package selection, we want to
|
40
|
+
# make sure that the user really wants this
|
41
|
+
mode_name = if build_options[:rebuild] then 'rebuild'
|
42
|
+
else 'force-build'
|
43
|
+
end
|
44
|
+
opt = BuildOption.new("", "boolean", {:doc => "this is going to trigger a #{mode_name} of all packages. Is that really what you want ?"}, nil)
|
45
|
+
if !opt.ask(false)
|
46
|
+
raise Interrupt
|
47
|
+
end
|
48
|
+
if build_options[:rebuild]
|
49
|
+
if options[:osdeps]
|
50
|
+
ws.osdeps.reinstall
|
51
|
+
end
|
52
|
+
ops.rebuild_all
|
53
|
+
else
|
54
|
+
ops.force_build_all
|
55
|
+
end
|
56
|
+
elsif build_options[:rebuild]
|
57
|
+
ops.rebuild_packages(packages_to_rebuild, source_packages)
|
58
|
+
else
|
59
|
+
ops.force_build_packages(packages_to_rebuild, source_packages)
|
60
|
+
end
|
61
|
+
return
|
62
|
+
end
|
63
|
+
|
64
|
+
Autobuild.do_build = true
|
65
|
+
ops.build_packages(source_packages)
|
66
|
+
Autobuild.apply(source_packages, "autoproj-build", ['install'])
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'autoproj/cli/inspection_tool'
|
2
|
+
require 'autoproj/ops/cache'
|
3
|
+
|
4
|
+
module Autoproj
|
5
|
+
module CLI
|
6
|
+
class Cache < InspectionTool
|
7
|
+
def validate_options(argv, options = Hash.new)
|
8
|
+
argv, options = super
|
9
|
+
|
10
|
+
if argv.empty?
|
11
|
+
raise ArgumentError, "expected one cache directory as argument"
|
12
|
+
elsif argv.size > 1
|
13
|
+
raise ArgumentError, "expected one cache directory as argument"
|
14
|
+
end
|
15
|
+
|
16
|
+
return File.expand_path(argv.first, ws.root_dir), options
|
17
|
+
end
|
18
|
+
|
19
|
+
def run(cache_dir, options = Hash.new)
|
20
|
+
options = Kernel.validate_options options,
|
21
|
+
keep_going: false
|
22
|
+
|
23
|
+
initialize_and_load
|
24
|
+
|
25
|
+
cache_op = Autoproj::Ops::Cache.new(cache_dir, ws.manifest)
|
26
|
+
cache_op.create_or_update(options[:keep_going])
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'autoproj/cli/inspection_tool'
|
2
|
+
|
3
|
+
module Autoproj
|
4
|
+
module CLI
|
5
|
+
class Clean < InspectionTool
|
6
|
+
def validate_options(packages, options)
|
7
|
+
packages, options = super
|
8
|
+
if packages.empty? && !options[:all]
|
9
|
+
opt = BuildOption.new("", "boolean", {:doc => "this is going to clean all packages. Is that really what you want ?"}, nil)
|
10
|
+
if !opt.ask(false)
|
11
|
+
raise Interrupt
|
12
|
+
end
|
13
|
+
end
|
14
|
+
return packages, options
|
15
|
+
end
|
16
|
+
|
17
|
+
def run(selection, options = Hash.new)
|
18
|
+
initialize_and_load
|
19
|
+
packages, _ = normalize_command_line_package_selection(selection)
|
20
|
+
source_packages, * = resolve_selection(
|
21
|
+
ws.manifest,
|
22
|
+
selection,
|
23
|
+
recursive: false,
|
24
|
+
ignore_non_imported_packages: true)
|
25
|
+
if packages.empty?
|
26
|
+
raise ArgumentError, "no packages or OS packages match #{selection.join(" ")}"
|
27
|
+
end
|
28
|
+
|
29
|
+
source_packages.each do |pkg_name|
|
30
|
+
ws.manifest.find_autobuild_package(pkg_name).
|
31
|
+
prepare_for_rebuild
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'autoproj'
|
2
|
+
require 'autoproj/cli/versions'
|
3
|
+
require 'autoproj/ops/snapshot'
|
4
|
+
require 'autoproj/cli/base'
|
5
|
+
|
6
|
+
module Autoproj
|
7
|
+
module CLI
|
8
|
+
class Commit < InspectionTool
|
9
|
+
def run(*user_selection, options = Hash.new)
|
10
|
+
pkg = manifest.main_package_set.create_autobuild_package
|
11
|
+
importer = pkg.importer
|
12
|
+
if !importer || !importer.kind_of?(Autobuild::Git)
|
13
|
+
raise ConfigError, "cannot use autoproj tag if the main configuration is not managed by git"
|
14
|
+
end
|
15
|
+
|
16
|
+
versions_file = File.join(
|
17
|
+
ws.config_dir,
|
18
|
+
Workspace::OVERRIDES_DIR,
|
19
|
+
Versions::DEFAULT_VERSIONS_FILE_BASENAME)
|
20
|
+
|
21
|
+
initialize_and_load
|
22
|
+
|
23
|
+
versions = CLI::Versions.new(ws)
|
24
|
+
Autoproj.message "creating versions file, this may take a while"
|
25
|
+
versions.run(user_selection,
|
26
|
+
save: File.join(ws.config_dir, versions_file),
|
27
|
+
package_sets: options[:package_sets],
|
28
|
+
output_file: io.path,
|
29
|
+
replace: true,
|
30
|
+
keep_going: options[:keep_going])
|
31
|
+
|
32
|
+
importer.run_git(pkg, 'add', versions_file)
|
33
|
+
message = options[:message] ||
|
34
|
+
"autoproj created tag #{tag_name}"
|
35
|
+
|
36
|
+
importer.run_git(pkg, 'commit', '-m', message)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|