autoproj 2.3.1 → 2.4.0
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/.travis.yml +4 -3
- data/.vscode/launch.json +25 -0
- data/Gemfile +10 -3
- data/autoproj.gemspec +1 -1
- data/bin/autoproj_bootstrap +5 -3
- data/bin/autoproj_bootstrap.in +5 -3
- data/bin/autoproj_install +2 -2
- data/bin/autoproj_install.in +2 -2
- data/lib/autoproj.rb +3 -1
- data/lib/autoproj/build_option.rb +4 -4
- data/lib/autoproj/cli.rb +10 -1
- data/lib/autoproj/cli/base.rb +14 -4
- data/lib/autoproj/cli/bootstrap.rb +2 -2
- data/lib/autoproj/cli/cache.rb +4 -10
- data/lib/autoproj/cli/clean.rb +1 -1
- data/lib/autoproj/cli/commit.rb +1 -1
- data/lib/autoproj/cli/exec.rb +11 -5
- data/lib/autoproj/cli/locate.rb +12 -12
- data/lib/autoproj/cli/log.rb +1 -2
- data/lib/autoproj/cli/main.rb +23 -4
- data/lib/autoproj/cli/main_plugin.rb +2 -2
- data/lib/autoproj/cli/manifest.rb +6 -3
- data/lib/autoproj/cli/query.rb +71 -10
- data/lib/autoproj/cli/reset.rb +4 -4
- data/lib/autoproj/cli/switch_config.rb +2 -2
- data/lib/autoproj/cli/tag.rb +2 -2
- data/lib/autoproj/cli/update.rb +2 -0
- data/lib/autoproj/cli/which.rb +17 -0
- data/lib/autoproj/exceptions.rb +9 -4
- data/lib/autoproj/git_server_configuration.rb +80 -53
- data/lib/autoproj/manifest.rb +1 -1
- data/lib/autoproj/ops/cache.rb +21 -10
- data/lib/autoproj/ops/main_config_switcher.rb +6 -9
- data/lib/autoproj/os_package_query.rb +99 -0
- data/lib/autoproj/package_managers/bundler_manager.rb +8 -1
- data/lib/autoproj/package_managers/yum_manager.rb +2 -2
- data/lib/autoproj/package_managers/zypper_manager.rb +2 -2
- data/lib/autoproj/query_base.rb +128 -0
- data/lib/autoproj/reporter.rb +12 -0
- data/lib/autoproj/{query.rb → source_package_query.rb} +15 -81
- data/lib/autoproj/version.rb +1 -1
- data/lib/autoproj/workspace.rb +38 -0
- metadata +8 -5
- data/lib/autoproj/cli/snapshot.rb +0 -66
@@ -5,7 +5,7 @@ class MainPlugin < Thor
|
|
5
5
|
|
6
6
|
no_commands do
|
7
7
|
def ws
|
8
|
-
@ws ||= Workspace.
|
8
|
+
@ws ||= Workspace.default
|
9
9
|
end
|
10
10
|
|
11
11
|
def install_plugins
|
@@ -37,7 +37,7 @@ def install(name)
|
|
37
37
|
|
38
38
|
gem_options = Hash.new
|
39
39
|
if options[:git] && options[:path]
|
40
|
-
raise
|
40
|
+
raise CLIInvalidArguments, "you can provide only one of --git or --path"
|
41
41
|
elsif options[:git]
|
42
42
|
gem_options[:git] = options[:git]
|
43
43
|
elsif options[:path]
|
@@ -15,7 +15,7 @@ def run(name, options = Hash.new)
|
|
15
15
|
name = name.first
|
16
16
|
if File.file?(full_path = File.expand_path(name))
|
17
17
|
if File.dirname(full_path) != ws.config_dir
|
18
|
-
raise
|
18
|
+
raise CLIInvalidArguments, "#{full_path} is not part of #{ws.config_dir}"
|
19
19
|
end
|
20
20
|
else
|
21
21
|
full_path = File.join(ws.config_dir, name)
|
@@ -24,7 +24,7 @@ def run(name, options = Hash.new)
|
|
24
24
|
if !File.file?(full_path)
|
25
25
|
alternative_full_path = File.join(ws.config_dir, "manifest.#{name}")
|
26
26
|
if !File.file?(alternative_full_path)
|
27
|
-
raise
|
27
|
+
raise CLIInvalidArguments, "neither #{full_path} nor #{alternative_full_path} exist"
|
28
28
|
end
|
29
29
|
full_path = alternative_full_path
|
30
30
|
end
|
@@ -38,9 +38,12 @@ def run(name, options = Hash.new)
|
|
38
38
|
ws.save_config
|
39
39
|
Autoproj.message "set manifest to #{full_path}"
|
40
40
|
else
|
41
|
-
raise
|
41
|
+
raise CLIInvalidArguments, "expected zero or one argument, but got #{name.size}"
|
42
42
|
end
|
43
43
|
end
|
44
|
+
|
45
|
+
def notify_env_sh_updated
|
46
|
+
end
|
44
47
|
end
|
45
48
|
end
|
46
49
|
end
|
data/lib/autoproj/cli/query.rb
CHANGED
@@ -4,6 +4,10 @@
|
|
4
4
|
module Autoproj
|
5
5
|
module CLI
|
6
6
|
class Query < InspectionTool
|
7
|
+
def os_package_resolver
|
8
|
+
ws.os_package_resolver
|
9
|
+
end
|
10
|
+
|
7
11
|
def find_all_matches(query, packages)
|
8
12
|
matches = packages.map do |pkg|
|
9
13
|
if priority = query.match(pkg)
|
@@ -13,35 +17,92 @@ def find_all_matches(query, packages)
|
|
13
17
|
matches.sort_by { |priority, pkg| [priority, pkg.name] }
|
14
18
|
end
|
15
19
|
|
16
|
-
def run(query_string, format: '$NAME', search_all: false, only_present: false)
|
20
|
+
def run(query_string, format: '$NAME', search_all: false, only_present: false, osdeps: false)
|
17
21
|
initialize_and_load
|
18
|
-
all_selected_packages, * =
|
22
|
+
all_selected_packages, all_selected_osdeps_packages, * =
|
23
|
+
finalize_setup([], non_imported_packages: :return)
|
24
|
+
|
25
|
+
if osdeps
|
26
|
+
query_os_packages(query_string, all_selected_osdeps_packages, format: format, search_all: search_all)
|
27
|
+
else
|
28
|
+
query_source_packages(query_string, all_selected_packages, format: format, search_all: search_all, only_present: only_present)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def query_os_packages(query_string, selected_packages, format: '$NAME', search_all: false)
|
33
|
+
if query_string.empty?
|
34
|
+
query = OSPackageQuery.all
|
35
|
+
else
|
36
|
+
query = OSPackageQuery.parse_query(query_string.first, os_package_resolver)
|
37
|
+
end
|
38
|
+
|
39
|
+
if search_all
|
40
|
+
packages = os_package_resolver.all_package_names
|
41
|
+
else
|
42
|
+
packages = selected_packages
|
43
|
+
end
|
44
|
+
|
45
|
+
matches = find_all_matches(query, packages.to_a)
|
46
|
+
|
47
|
+
needs_real_package = (/\$REAL_PACKAGE\b/ === format)
|
48
|
+
needs_handler = (/\$HANDLER\b/ === format)
|
49
|
+
|
50
|
+
matches.each do |priority, pkg_name|
|
51
|
+
if needs_real_package || needs_handler
|
52
|
+
resolved = os_package_resolver.resolve_os_packages([pkg_name])
|
53
|
+
resolved.each do |handler, real_packages|
|
54
|
+
if needs_real_package
|
55
|
+
real_packages.each do |real_package_name|
|
56
|
+
puts format_osdep_package(format, priority, pkg_name, handler, real_package_name)
|
57
|
+
end
|
58
|
+
else
|
59
|
+
puts format_osdep_package(format, priority, pkg_name, handler, nil)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
else
|
63
|
+
puts format_osdep_package(format, priority, pkg_name, nil, nil)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def format_osdep_package(format, priority, name, handler, real_package_name)
|
69
|
+
fields = Hash.new
|
70
|
+
fields['NAME'] = name
|
71
|
+
fields['PRIORITY'] = priority
|
72
|
+
fields['HANDLER'] = handler
|
73
|
+
fields['REAL_PACKAGE'] = real_package_name
|
74
|
+
Autoproj.expand(format, fields)
|
75
|
+
end
|
76
|
+
|
77
|
+
def query_source_packages(query_string, selected_packages, format: '$NAME', search_all: false, only_present: false)
|
78
|
+
if query_string.empty?
|
79
|
+
query = SourcePackageQuery.all
|
80
|
+
else
|
81
|
+
query = SourcePackageQuery.parse_query(query_string.first)
|
82
|
+
end
|
83
|
+
|
19
84
|
if search_all
|
20
85
|
packages = ws.manifest.each_package_definition.to_a
|
21
86
|
else
|
22
|
-
packages =
|
87
|
+
packages = selected_packages.map do |pkg_name|
|
23
88
|
ws.manifest.find_package_definition(pkg_name)
|
24
89
|
end
|
25
90
|
end
|
91
|
+
|
26
92
|
if only_present
|
27
93
|
packages = packages.find_all do |pkg|
|
28
94
|
File.directory?(pkg.autobuild.srcdir)
|
29
95
|
end
|
30
96
|
end
|
31
97
|
|
32
|
-
if query_string.empty?
|
33
|
-
query = Autoproj::Query.all
|
34
|
-
else
|
35
|
-
query = Autoproj::Query.parse_query(query_string.first)
|
36
|
-
end
|
37
98
|
matches = find_all_matches(query, packages)
|
38
99
|
|
39
100
|
matches.each do |priority, pkg_def|
|
40
|
-
puts
|
101
|
+
puts format_source_package(format, priority, pkg_def)
|
41
102
|
end
|
42
103
|
end
|
43
104
|
|
44
|
-
def
|
105
|
+
def format_source_package(format, priority, package)
|
45
106
|
autobuild_package = package.autobuild
|
46
107
|
fields = Hash.new
|
47
108
|
fields['SRCDIR'] = autobuild_package.srcdir
|
data/lib/autoproj/cli/reset.rb
CHANGED
@@ -10,14 +10,14 @@ def run(ref_name, options)
|
|
10
10
|
pkg = manifest.main_package_set.create_autobuild_package
|
11
11
|
importer = pkg.importer
|
12
12
|
if !importer || !importer.kind_of?(Autobuild::Git)
|
13
|
-
raise
|
13
|
+
raise CLIInvalidArguments, "cannot use autoproj reset if the main configuration is not managed by git"
|
14
14
|
end
|
15
15
|
|
16
16
|
# Check if the reflog entry exists
|
17
17
|
begin
|
18
18
|
importer.rev_parse(pkg, ref_name)
|
19
19
|
rescue Autobuild::PackageException
|
20
|
-
raise
|
20
|
+
raise CLIInvalidArguments, "#{ref_name} does not exist, run autoproj log for log entries and autoproj tag without arguments for the tags"
|
21
21
|
end
|
22
22
|
|
23
23
|
# Checkout the version file
|
@@ -26,13 +26,13 @@ def run(ref_name, options)
|
|
26
26
|
Versions::DEFAULT_VERSIONS_FILE_BASENAME)
|
27
27
|
begin
|
28
28
|
file_data = importer.show(pkg, ref_name, versions_file)
|
29
|
-
versions_path = File.join(
|
29
|
+
versions_path = File.join(ws.config_dir, versions_file)
|
30
30
|
if File.file?(versions_path)
|
31
31
|
old_versions_path = "#{versions_path}.old"
|
32
32
|
FileUtils.rm_f old_versions_path
|
33
33
|
FileUtils.cp versions_path, old_versions_path
|
34
34
|
end
|
35
|
-
FileUtils.mkdir_p File.join(
|
35
|
+
FileUtils.mkdir_p File.join(ws.config_dir, Workspace::OVERRIDES_DIR)
|
36
36
|
File.open(versions_path, 'w') do |io|
|
37
37
|
io.write file_data
|
38
38
|
end
|
@@ -9,9 +9,9 @@ module CLI
|
|
9
9
|
class SwitchConfig < Base
|
10
10
|
def run(args, options = Hash.new)
|
11
11
|
if !File.directory?(ws.config_dir)
|
12
|
-
raise
|
12
|
+
raise CLIInvalidArguments, "there's no autoproj/ directory in this workspace, use autoproj bootstrap to check out one"
|
13
13
|
elsif Dir.pwd.start_with?(ws.remotes_dir) || Dir.pwd.start_with?(ws.config_dir)
|
14
|
-
raise
|
14
|
+
raise CLIInvalidArguments, "you cannot run autoproj switch-config from autoproj's configuration directory or one of its subdirectories"
|
15
15
|
end
|
16
16
|
|
17
17
|
ws.load_config
|
data/lib/autoproj/cli/tag.rb
CHANGED
@@ -14,7 +14,7 @@ def run(arguments, options = Hash.new)
|
|
14
14
|
pkg = main_package_set.create_autobuild_package
|
15
15
|
importer = pkg.importer
|
16
16
|
if !importer || !importer.kind_of?(Autobuild::Git)
|
17
|
-
raise
|
17
|
+
raise CLIInvalidArguments, "cannot use autoproj tag if the main configuration is not managed by git"
|
18
18
|
end
|
19
19
|
|
20
20
|
versions_file = File.join(
|
@@ -37,7 +37,7 @@ def run(arguments, options = Hash.new)
|
|
37
37
|
# Check if the tag already exists
|
38
38
|
begin
|
39
39
|
importer.rev_parse(pkg, "refs/tags/#{tag_name}")
|
40
|
-
raise
|
40
|
+
raise CLIInvalidArguments, "tag #{tag_name} already exists"
|
41
41
|
rescue Autobuild::PackageException
|
42
42
|
end
|
43
43
|
|
data/lib/autoproj/cli/update.rb
CHANGED
@@ -198,6 +198,8 @@ def update_packages(selected_packages,
|
|
198
198
|
install_vcs_packages: (osdeps_options if osdeps),
|
199
199
|
auto_exclude: auto_exclude)
|
200
200
|
return source_packages, osdep_packages, nil
|
201
|
+
rescue ExcludedSelection => e
|
202
|
+
raise CLIInvalidSelection, e.message, e.backtrace
|
201
203
|
rescue PackageImportFailed => import_failure
|
202
204
|
if !keep_going
|
203
205
|
raise
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'autoproj/cli/inspection_tool'
|
2
|
+
module Autoproj
|
3
|
+
module CLI
|
4
|
+
class Which < InspectionTool
|
5
|
+
def run(cmd)
|
6
|
+
initialize_and_load
|
7
|
+
finalize_setup(Array.new)
|
8
|
+
|
9
|
+
puts ws.which(cmd)
|
10
|
+
rescue Workspace::ExecutableNotFound => e
|
11
|
+
raise CLIInvalidArguments, e.message, e.backtrace
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
|
data/lib/autoproj/exceptions.rb
CHANGED
@@ -36,6 +36,9 @@ class PackageUnavailable < PackageNotFound; end
|
|
36
36
|
class UnregisteredPackage < ArgumentError
|
37
37
|
end
|
38
38
|
|
39
|
+
class UnregisteredPackageSet < ArgumentError
|
40
|
+
end
|
41
|
+
|
39
42
|
class InvalidPackageManifest < RuntimeError; end
|
40
43
|
|
41
44
|
class InputError < RuntimeError; end
|
@@ -67,18 +70,20 @@ def initialize(selection)
|
|
67
70
|
|
68
71
|
class UserError < RuntimeError; end
|
69
72
|
|
70
|
-
class
|
73
|
+
class InvalidWorkspace < RuntimeError; end
|
74
|
+
|
75
|
+
class WorkspaceAlreadyCreated < InvalidWorkspace; end
|
71
76
|
|
72
77
|
# Exception raised when looking for a workspace and it cannot be found
|
73
|
-
class NotWorkspace <
|
78
|
+
class NotWorkspace < InvalidWorkspace; end
|
74
79
|
|
75
80
|
# Exception raised when the autoproj workspace changes and the current
|
76
81
|
# workspace is outdated
|
77
|
-
class OutdatedWorkspace <
|
82
|
+
class OutdatedWorkspace < InvalidWorkspace; end
|
78
83
|
|
79
84
|
# Exception raised when initializing on a workspace that is not the current
|
80
85
|
# one
|
81
|
-
class MismatchingWorkspace <
|
86
|
+
class MismatchingWorkspace < InvalidWorkspace; end
|
82
87
|
end
|
83
88
|
|
84
89
|
|
@@ -1,4 +1,52 @@
|
|
1
1
|
module Autoproj
|
2
|
+
GIT_SERVER_CONFIG_VARS = %w{_ROOT _PUSH_ROOT _PRIVATE_ROOT}
|
3
|
+
|
4
|
+
GIT_SERVER_ACCESS_METHODS = Hash[
|
5
|
+
'git' => 'git,ssh',
|
6
|
+
'ssh' => 'ssh,ssh',
|
7
|
+
'http' => 'http,http']
|
8
|
+
|
9
|
+
|
10
|
+
# @api private
|
11
|
+
#
|
12
|
+
# Helper for {.git_server_configuration}
|
13
|
+
def self.git_server_validate_config_value(base_url, value, disabled_methods: )
|
14
|
+
values = (GIT_SERVER_ACCESS_METHODS[value] || value).split(",")
|
15
|
+
values.each do |access_method|
|
16
|
+
if !GIT_SERVER_ACCESS_METHODS.has_key?(access_method)
|
17
|
+
raise Autoproj::InputError, "#{access_method} is not a known access method"
|
18
|
+
elsif disabled_methods.include?(access_method)
|
19
|
+
raise Autoproj::InputError, "#{access_method} is disabled on #{base_url}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
value
|
23
|
+
end
|
24
|
+
|
25
|
+
# @api private
|
26
|
+
#
|
27
|
+
# Helper for {.git_server_configuration}
|
28
|
+
def self.git_server_resolve_master_config(name, config, base_url: , git_url: , http_url: , ssh_url: , disabled_methods: )
|
29
|
+
access_mode = config.get(name)
|
30
|
+
begin
|
31
|
+
git_server_validate_config_value(base_url, access_mode, disabled_methods: disabled_methods)
|
32
|
+
rescue Autoproj::InputError => e
|
33
|
+
Autoproj.warn e.message
|
34
|
+
config.reset(name)
|
35
|
+
access_mode = config.get(name)
|
36
|
+
end
|
37
|
+
access_mode = GIT_SERVER_ACCESS_METHODS[access_mode] || access_mode
|
38
|
+
pull, push, private_pull = access_mode.split(',')
|
39
|
+
private_pull ||= push
|
40
|
+
[[pull, "_ROOT"], [push, "_PUSH_ROOT"], [private_pull, "_PRIVATE_ROOT"]].each do |method, var_suffix|
|
41
|
+
url = if method == "git" then git_url
|
42
|
+
elsif method == "http" then http_url
|
43
|
+
elsif method == "ssh" then ssh_url
|
44
|
+
end
|
45
|
+
config.set("#{name}#{var_suffix}", url)
|
46
|
+
end
|
47
|
+
return pull, push, private_pull
|
48
|
+
end
|
49
|
+
|
2
50
|
# Adds the relevant options to handle a gitorious server
|
3
51
|
# What this does is ask the user how he would like to access the gitorious
|
4
52
|
# server. Then, it sets
|
@@ -18,79 +66,57 @@ module Autoproj
|
|
18
66
|
#
|
19
67
|
# which would be expanded to the expected URLs for pull and push.
|
20
68
|
#
|
21
|
-
def self.git_server_configuration(name, base_url,
|
22
|
-
options = Kernel.validate_options options,
|
69
|
+
def self.git_server_configuration(name, base_url,
|
23
70
|
git_url: "git://#{base_url}",
|
24
71
|
http_url: "https://git.#{base_url}",
|
25
72
|
ssh_url: "git@#{base_url}:",
|
26
73
|
default: 'http,ssh',
|
27
74
|
disabled_methods: [],
|
28
75
|
config: Autoproj.config,
|
29
|
-
fallback_to_http: nil
|
30
|
-
|
31
|
-
config = options.delete(:config)
|
32
|
-
disabled_methods = Array(options[:disabled_methods])
|
76
|
+
fallback_to_http: nil,
|
77
|
+
lazy: false)
|
33
78
|
|
34
|
-
|
35
|
-
'git' => 'git,ssh',
|
36
|
-
'ssh' => 'ssh,ssh',
|
37
|
-
'http' => 'http,http']
|
79
|
+
disabled_methods = Array(disabled_methods)
|
38
80
|
|
39
|
-
|
40
|
-
"How should I interact with #{base_url} (#{(
|
81
|
+
long_doc = [
|
82
|
+
"How should I interact with #{base_url} (#{(GIT_SERVER_ACCESS_METHODS.keys - disabled_methods).sort.join(", ")})",
|
41
83
|
"If you give one value, it's going to be the method used for all access",
|
42
84
|
"If you give multiple values, comma-separated, the first one will be",
|
43
85
|
"used for pulling and the second one for pushing. An optional third value",
|
44
86
|
"will be used to pull from private repositories (the same than pushing is",
|
45
87
|
"used by default)"]
|
46
88
|
|
47
|
-
|
48
|
-
|
49
|
-
values.each do |access_method|
|
50
|
-
if !access_methods.has_key?(access_method)
|
51
|
-
raise Autoproj::InputError, "#{access_method} is not a known access method"
|
52
|
-
elsif disabled_methods.include?(access_method)
|
53
|
-
raise Autoproj::InputError, "#{access_method} is disabled on #{base_url}"
|
54
|
-
end
|
55
|
-
end
|
56
|
-
value
|
89
|
+
config.declare name, 'string', default: default, doc: long_doc do |value|
|
90
|
+
git_server_validate_config_value(base_url, value, disabled_methods: disabled_methods)
|
57
91
|
end
|
58
92
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
rescue Autoproj::InputError => e
|
67
|
-
Autoproj.warn e.message
|
68
|
-
config.reset(name)
|
69
|
-
access_mode = config.get(name)
|
70
|
-
end
|
71
|
-
access_mode = access_methods[access_mode] || access_mode
|
72
|
-
pull, push, private_pull = access_mode.split(',')
|
73
|
-
private_pull ||= push
|
74
|
-
[[pull, "_ROOT"], [push, "_PUSH_ROOT"], [private_pull, "_PRIVATE_ROOT"]].each do |method, var_suffix|
|
75
|
-
url = if method == "git" then options[:git_url]
|
76
|
-
elsif method == "http" then options[:http_url]
|
77
|
-
elsif method == "ssh" then options[:ssh_url]
|
78
|
-
end
|
79
|
-
config.set("#{name}#{var_suffix}", url)
|
93
|
+
if !lazy
|
94
|
+
pull, push, private_pull = git_server_resolve_master_config(name, config,
|
95
|
+
base_url: base_url,
|
96
|
+
git_url: git_url,
|
97
|
+
http_url: http_url,
|
98
|
+
ssh_url: ssh_url,
|
99
|
+
disabled_methods: disabled_methods)
|
80
100
|
end
|
81
101
|
|
82
|
-
Autoproj.add_source_handler name.downcase do |url, vcs_options|
|
102
|
+
Autoproj.add_source_handler name.downcase do |url, private: false, **vcs_options|
|
83
103
|
if url !~ /\.git$/
|
84
104
|
url += ".git"
|
85
105
|
end
|
86
106
|
if url !~ /^\//
|
87
107
|
url = "/#{url}"
|
88
108
|
end
|
89
|
-
github_options, vcs_options = Kernel.filter_options vcs_options,
|
90
|
-
private: false
|
91
109
|
|
110
|
+
if !GIT_SERVER_CONFIG_VARS.all? { |v| config.has_value_for?("#{name}#{v}") }
|
111
|
+
pull, push, private_pull = git_server_resolve_master_config(name, config,
|
112
|
+
base_url: base_url,
|
113
|
+
git_url: git_url,
|
114
|
+
http_url: http_url,
|
115
|
+
ssh_url: ssh_url,
|
116
|
+
disabled_methods: disabled_methods)
|
117
|
+
end
|
92
118
|
pull_base_url =
|
93
|
-
if
|
119
|
+
if private
|
94
120
|
config.get("#{name}_PRIVATE_ROOT")
|
95
121
|
else
|
96
122
|
config.get("#{name}_ROOT")
|
@@ -99,21 +125,22 @@ def self.git_server_configuration(name, base_url, options = Hash.new)
|
|
99
125
|
Hash[type: 'git',
|
100
126
|
url: "#{pull_base_url}#{url}",
|
101
127
|
push_to: "#{push_base_url}#{url}",
|
102
|
-
interactive: (
|
128
|
+
interactive: (private && private_pull == 'http'),
|
103
129
|
retry_count: 10,
|
104
130
|
repository_id: "#{name.downcase}:#{url}"].merge(vcs_options)
|
105
131
|
end
|
106
132
|
end
|
107
133
|
|
108
|
-
def self.gitorious_server_configuration(name, base_url, options
|
134
|
+
def self.gitorious_server_configuration(name, base_url, **options)
|
109
135
|
Autoproj.warn_deprecated "gitorious_server_configuration",
|
110
136
|
"use require 'git_server_configuration' and
|
111
137
|
Autoproj.git_server_configuration instead. note that the method call
|
112
138
|
interface has not changed, you just have to change the name(s)"
|
113
|
-
git_server_configuration(name, base_url, options)
|
139
|
+
git_server_configuration(name, base_url, **options)
|
114
140
|
end
|
115
141
|
end
|
116
142
|
|
117
|
-
|
118
|
-
Autoproj.git_server_configuration('
|
119
|
-
|
143
|
+
if !$autoproj_disable_github_gitorious_definitions
|
144
|
+
Autoproj.git_server_configuration('GITORIOUS', 'gitorious.org', default: 'http,ssh', disabled_methods: 'git', lazy: true)
|
145
|
+
Autoproj.git_server_configuration('GITHUB', 'github.com', http_url: 'https://github.com', default: 'http,ssh')
|
146
|
+
end
|