fig 1.0.0 → 1.1.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.
- data/Changes +43 -0
- data/lib/fig.rb +1 -1
- data/lib/fig/command.rb +6 -5
- data/lib/fig/command/action/list_dependencies/graphviz.rb +42 -0
- data/lib/fig/command/action/list_dependencies/graphviz_all_configs.rb +42 -0
- data/lib/fig/command/action/list_variables/all_configs.rb +1 -1
- data/lib/fig/command/action/list_variables/graphviz.rb +22 -0
- data/lib/fig/command/action/list_variables/graphviz_all_configs.rb +22 -0
- data/lib/fig/command/action/role/list_as_graphviz.rb +80 -0
- data/lib/fig/command/action/role/list_dependencies_as_graphviz.rb +25 -0
- data/lib/fig/command/action/role/list_dependencies_in_a_tree.rb +1 -1
- data/lib/fig/command/action/role/list_variables_as_graphviz.rb +76 -0
- data/lib/fig/command/action/role/list_variables_in_a_tree.rb +1 -1
- data/lib/fig/command/action/role/list_walking_dependency_tree.rb +70 -39
- data/lib/fig/command/options.rb +44 -11
- data/lib/fig/command/options/parser.rb +7 -2
- data/lib/fig/figrc.rb +4 -6
- data/lib/fig/operating_system.rb +32 -336
- data/lib/fig/package_descriptor.rb +3 -2
- data/lib/fig/protocol.rb +47 -0
- data/lib/fig/protocol/file.rb +64 -0
- data/lib/fig/protocol/ftp.rb +162 -0
- data/lib/fig/protocol/http.rb +61 -0
- data/lib/fig/protocol/netrc_enabled.rb +42 -0
- data/lib/fig/protocol/sftp.rb +150 -0
- metadata +55 -44
- data/bin/fig-download +0 -23
data/Changes
CHANGED
@@ -1,3 +1,46 @@
|
|
1
|
+
v1.1.0
|
2
|
+
|
3
|
+
Backwards incompatibilities:
|
4
|
+
|
5
|
+
- Package names and versions and config names can no longer be "." or "..".
|
6
|
+
Attempting to use one of these would produce bad effects before, so this
|
7
|
+
should not be a big deal.
|
8
|
+
|
9
|
+
- The FIG_USERNAME and FIG_PASSWORD environment variables take precedence
|
10
|
+
over values in ~/.netrc. This is a better fit with the general *nix idea
|
11
|
+
that the command-line should take precedence over the environment which
|
12
|
+
should take precedence over dotfiles.
|
13
|
+
|
14
|
+
- Removed support for SSH. It was never fully functional and depended upon
|
15
|
+
fig being installed at the same absolute path on the remote machine as it
|
16
|
+
was on the local one. Use SFTP instead.
|
17
|
+
|
18
|
+
New features:
|
19
|
+
|
20
|
+
- Graphviz (http://graphviz.org/) output for --list-dependencies and
|
21
|
+
--list-variables via --graphviz option. You'll need something that can
|
22
|
+
interpret .dot files to use this.
|
23
|
+
|
24
|
+
fig package/v1.2.3 --list-dependencies --graphviz |
|
25
|
+
dot -Tpng -o package-1.2.3.png
|
26
|
+
|
27
|
+
fig package/v1.2:config --list-variables --list-all-configs --graphviz |
|
28
|
+
dot -Tpng -o package-1.2.3.png
|
29
|
+
|
30
|
+
Since Fig just emits DOT (http://graphviz.org/content/dot-language), Fig
|
31
|
+
doesn't have a dependency upon Graphviz libraries, etc.
|
32
|
+
|
33
|
+
- Support for SFTP. Set FIG_REMOTE_URL to something like
|
34
|
+
«sftp://host:port/some/path». Note that this *requires* the use of
|
35
|
+
~/.netrc or FIG_USERNAME/FIG_PASSWORD in order to authenticate; there is no
|
36
|
+
anonymous SFTP. Thus, the use of the --login option is superfluous with
|
37
|
+
SFTP.
|
38
|
+
|
39
|
+
v1.0.1.beta.2
|
40
|
+
v1.0.1.beta.1
|
41
|
+
|
42
|
+
- Test releases.
|
43
|
+
|
1
44
|
v1.0.0
|
2
45
|
|
3
46
|
New features:
|
data/lib/fig.rb
CHANGED
data/lib/fig/command.rb
CHANGED
@@ -167,6 +167,9 @@ class Fig::Command
|
|
167
167
|
|
168
168
|
def configure()
|
169
169
|
set_up_update_lock()
|
170
|
+
|
171
|
+
@operating_system = Fig::OperatingSystem.new(@options.login?)
|
172
|
+
|
170
173
|
set_up_application_configuration()
|
171
174
|
|
172
175
|
Fig::Logging.initialize_post_configuration(
|
@@ -174,8 +177,6 @@ class Fig::Command
|
|
174
177
|
@options.log_level()
|
175
178
|
)
|
176
179
|
|
177
|
-
@operating_system = Fig::OperatingSystem.new(@options.login?)
|
178
|
-
|
179
180
|
prepare_repository()
|
180
181
|
prepare_environment()
|
181
182
|
end
|
@@ -205,10 +206,10 @@ class Fig::Command
|
|
205
206
|
|
206
207
|
def set_up_application_configuration()
|
207
208
|
@application_configuration = Fig::FigRC.find(
|
208
|
-
@options.figrc
|
209
|
+
@options.figrc,
|
209
210
|
ENV['FIG_REMOTE_URL'],
|
210
|
-
@
|
211
|
-
@options.home
|
211
|
+
@operating_system,
|
212
|
+
@options.home,
|
212
213
|
@options.no_figrc?
|
213
214
|
)
|
214
215
|
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/list_as_graphviz'
|
3
|
+
require 'fig/command/action/role/list_base_config'
|
4
|
+
require 'fig/command/action/role/list_dependencies_as_graphviz'
|
5
|
+
require 'fig/command/action/role/list_walking_dependency_tree'
|
6
|
+
|
7
|
+
module Fig; end
|
8
|
+
class Fig::Command; end
|
9
|
+
module Fig::Command::Action; end
|
10
|
+
class Fig::Command::Action::ListDependencies; end
|
11
|
+
|
12
|
+
class Fig::Command::Action::ListDependencies::Graphviz
|
13
|
+
include Fig::Command::Action
|
14
|
+
include Fig::Command::Action::Role::ListAsGraphviz
|
15
|
+
include Fig::Command::Action::Role::ListBaseConfig
|
16
|
+
include Fig::Command::Action::Role::ListDependenciesAsGraphviz
|
17
|
+
include Fig::Command::Action::Role::ListWalkingDependencyTree
|
18
|
+
|
19
|
+
def options()
|
20
|
+
return %w<--list-dependencies --graphviz>
|
21
|
+
end
|
22
|
+
|
23
|
+
def descriptor_requirement()
|
24
|
+
return nil
|
25
|
+
end
|
26
|
+
|
27
|
+
def load_base_package?()
|
28
|
+
return true
|
29
|
+
end
|
30
|
+
|
31
|
+
def register_base_package?()
|
32
|
+
return nil # don't care
|
33
|
+
end
|
34
|
+
|
35
|
+
def apply_config?()
|
36
|
+
return nil # don't care
|
37
|
+
end
|
38
|
+
|
39
|
+
def apply_base_config?()
|
40
|
+
return nil # don't care
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/list_all_configs'
|
3
|
+
require 'fig/command/action/role/list_as_graphviz'
|
4
|
+
require 'fig/command/action/role/list_dependencies_as_graphviz'
|
5
|
+
require 'fig/command/action/role/list_walking_dependency_tree'
|
6
|
+
|
7
|
+
module Fig; end
|
8
|
+
class Fig::Command; end
|
9
|
+
module Fig::Command::Action; end
|
10
|
+
class Fig::Command::Action::ListDependencies; end
|
11
|
+
|
12
|
+
class Fig::Command::Action::ListDependencies::GraphvizAllConfigs
|
13
|
+
include Fig::Command::Action
|
14
|
+
include Fig::Command::Action::Role::ListAllConfigs
|
15
|
+
include Fig::Command::Action::Role::ListAsGraphviz
|
16
|
+
include Fig::Command::Action::Role::ListDependenciesAsGraphviz
|
17
|
+
include Fig::Command::Action::Role::ListWalkingDependencyTree
|
18
|
+
|
19
|
+
def options()
|
20
|
+
return %w<--list-dependencies --graphviz --list-all-configs>
|
21
|
+
end
|
22
|
+
|
23
|
+
def descriptor_requirement()
|
24
|
+
return nil
|
25
|
+
end
|
26
|
+
|
27
|
+
def load_base_package?()
|
28
|
+
return true
|
29
|
+
end
|
30
|
+
|
31
|
+
def register_base_package?()
|
32
|
+
return nil # don't care
|
33
|
+
end
|
34
|
+
|
35
|
+
def apply_config?()
|
36
|
+
return nil # don't care
|
37
|
+
end
|
38
|
+
|
39
|
+
def apply_base_config?()
|
40
|
+
return nil # don't care
|
41
|
+
end
|
42
|
+
end
|
@@ -40,7 +40,7 @@ class Fig::Command::Action::ListVariables::AllConfigs
|
|
40
40
|
variable_names = Set.new()
|
41
41
|
|
42
42
|
walk_dependency_tree(
|
43
|
-
@execution_context.base_package, base_display_config_names()
|
43
|
+
@execution_context.base_package, base_display_config_names()
|
44
44
|
) do
|
45
45
|
|package, config_name, depth|
|
46
46
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/list_as_graphviz'
|
3
|
+
require 'fig/command/action/role/list_base_config'
|
4
|
+
require 'fig/command/action/role/list_variables_as_graphviz'
|
5
|
+
require 'fig/command/action/role/list_walking_dependency_tree'
|
6
|
+
|
7
|
+
module Fig; end
|
8
|
+
class Fig::Command; end
|
9
|
+
module Fig::Command::Action; end
|
10
|
+
class Fig::Command::Action::ListVariables; end
|
11
|
+
|
12
|
+
class Fig::Command::Action::ListVariables::Graphviz
|
13
|
+
include Fig::Command::Action
|
14
|
+
include Fig::Command::Action::Role::ListAsGraphviz
|
15
|
+
include Fig::Command::Action::Role::ListBaseConfig
|
16
|
+
include Fig::Command::Action::Role::ListVariablesAsGraphviz
|
17
|
+
include Fig::Command::Action::Role::ListWalkingDependencyTree
|
18
|
+
|
19
|
+
def options()
|
20
|
+
return %w<--list-variables --graphviz>
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/list_all_configs'
|
3
|
+
require 'fig/command/action/role/list_as_graphviz'
|
4
|
+
require 'fig/command/action/role/list_variables_as_graphviz'
|
5
|
+
require 'fig/command/action/role/list_walking_dependency_tree'
|
6
|
+
|
7
|
+
module Fig; end
|
8
|
+
class Fig::Command; end
|
9
|
+
module Fig::Command::Action; end
|
10
|
+
class Fig::Command::Action::ListVariables; end
|
11
|
+
|
12
|
+
class Fig::Command::Action::ListVariables::GraphvizAllConfigs
|
13
|
+
include Fig::Command::Action
|
14
|
+
include Fig::Command::Action::Role::ListAllConfigs
|
15
|
+
include Fig::Command::Action::Role::ListAsGraphviz
|
16
|
+
include Fig::Command::Action::Role::ListVariablesAsGraphviz
|
17
|
+
include Fig::Command::Action::Role::ListWalkingDependencyTree
|
18
|
+
|
19
|
+
def options()
|
20
|
+
return %w<--list-variables --graphviz --list-all-configs>
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
require 'set'
|
2
|
+
|
3
|
+
module Fig; end
|
4
|
+
class Fig::Command; end
|
5
|
+
module Fig::Command::Action; end
|
6
|
+
module Fig::Command::Action::Role; end
|
7
|
+
|
8
|
+
# Requires a #node_content(package, config_name) method.
|
9
|
+
module Fig::Command::Action::Role::ListAsGraphviz
|
10
|
+
def execute()
|
11
|
+
@subgraphs = {}
|
12
|
+
|
13
|
+
puts 'digraph {'
|
14
|
+
puts ' node [shape = box];'
|
15
|
+
walk_dependency_tree(
|
16
|
+
@execution_context.base_package,
|
17
|
+
base_display_config_names(),
|
18
|
+
include_emit,
|
19
|
+
&package_gather
|
20
|
+
)
|
21
|
+
emit_subgraphs
|
22
|
+
puts '}'
|
23
|
+
|
24
|
+
return Fig::Command::Action::EXIT_SUCCESS
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def include_emit
|
30
|
+
visited = Set.new
|
31
|
+
|
32
|
+
return lambda do
|
33
|
+
|including_package, including_config, included_package, included_config|
|
34
|
+
|
35
|
+
including_name = node_name(including_package, including_config)
|
36
|
+
included_name = node_name(included_package, included_config)
|
37
|
+
edge = %Q/ "#{including_name}" -> "#{included_name}";/
|
38
|
+
|
39
|
+
if ! visited.include? edge
|
40
|
+
visited << edge
|
41
|
+
puts edge
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def package_gather
|
47
|
+
visited = Set.new
|
48
|
+
|
49
|
+
return lambda do
|
50
|
+
|package, config_name, depth|
|
51
|
+
|
52
|
+
name = node_name package, config_name
|
53
|
+
|
54
|
+
if ! visited.include? name
|
55
|
+
visited << name
|
56
|
+
|
57
|
+
package_name = node_name package, nil
|
58
|
+
@subgraphs[package_name] ||= []
|
59
|
+
@subgraphs[package_name] << node_content(package, config_name)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def emit_subgraphs()
|
65
|
+
@subgraphs.each do
|
66
|
+
|package_name, nodes|
|
67
|
+
|
68
|
+
cluster = nodes.size > 1 ? 'cluster ' : ''
|
69
|
+
puts %Q< subgraph "#{cluster}#{package_name}" {>
|
70
|
+
nodes.each { |node| puts %Q< #{node}> }
|
71
|
+
puts %q< }>
|
72
|
+
end
|
73
|
+
|
74
|
+
return
|
75
|
+
end
|
76
|
+
|
77
|
+
def node_name(package, config_name)
|
78
|
+
return package.to_s_with_config(config_name)
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Fig; end
|
2
|
+
class Fig::Command; end
|
3
|
+
module Fig::Command::Action; end
|
4
|
+
module Fig::Command::Action::Role; end
|
5
|
+
|
6
|
+
module Fig::Command::Action::Role::ListDependenciesAsGraphviz
|
7
|
+
private
|
8
|
+
|
9
|
+
def node_content(package, config_name)
|
10
|
+
name = node_name package, config_name
|
11
|
+
|
12
|
+
style = ''
|
13
|
+
color = ''
|
14
|
+
if package == @execution_context.base_package
|
15
|
+
if base_display_config_names.include?(config_name)
|
16
|
+
style = ' style = "rounded, bold"'
|
17
|
+
end
|
18
|
+
if config_name == @execution_context.base_config
|
19
|
+
color = ' color = blue'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
return %Q<"#{name}" [label = "#{name}"#{style}#{color}];>
|
24
|
+
end
|
25
|
+
end
|
@@ -8,7 +8,7 @@ module Fig::Command::Action::Role; end
|
|
8
8
|
module Fig::Command::Action::Role::ListDependenciesInATree
|
9
9
|
def execute()
|
10
10
|
walk_dependency_tree(
|
11
|
-
@execution_context.base_package, base_display_config_names()
|
11
|
+
@execution_context.base_package, base_display_config_names()
|
12
12
|
) do
|
13
13
|
|package, config_name, depth|
|
14
14
|
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
3
|
+
module Fig; end
|
4
|
+
class Fig::Command; end
|
5
|
+
module Fig::Command::Action; end
|
6
|
+
module Fig::Command::Action::Role; end
|
7
|
+
|
8
|
+
module Fig::Command::Action::Role::ListVariablesAsGraphviz
|
9
|
+
def descriptor_requirement()
|
10
|
+
return nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def load_base_package?()
|
14
|
+
return true
|
15
|
+
end
|
16
|
+
|
17
|
+
def register_base_package?()
|
18
|
+
return nil # don't care
|
19
|
+
end
|
20
|
+
|
21
|
+
def apply_config?()
|
22
|
+
return nil # don't care
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def node_content(package, config_name)
|
28
|
+
style = ''
|
29
|
+
color = ''
|
30
|
+
if package == @execution_context.base_package
|
31
|
+
if base_display_config_names.include?(config_name)
|
32
|
+
style = ' style = "rounded, bold"'
|
33
|
+
end
|
34
|
+
if config_name == @execution_context.base_config
|
35
|
+
color = ' color = blue'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
name = node_name package, config_name
|
40
|
+
rows = variable_statement_rows package, config_name
|
41
|
+
label = nil
|
42
|
+
if rows.empty?
|
43
|
+
label = %Q<"#{name}">
|
44
|
+
else
|
45
|
+
label = %Q[<<table border="0"><tr><td border="0" colspan="3"><b>#{name}</b></td></tr>#{rows}</table>>]
|
46
|
+
end
|
47
|
+
|
48
|
+
return %Q<"#{name}" [label = #{label}#{style}#{color}];>
|
49
|
+
end
|
50
|
+
|
51
|
+
def variable_statement_rows(package, config_name)
|
52
|
+
string = ''
|
53
|
+
|
54
|
+
package[config_name].walk_statements do
|
55
|
+
|statement|
|
56
|
+
|
57
|
+
if statement.is_environment_variable?
|
58
|
+
string << format_variable_statement(statement)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
return string
|
63
|
+
end
|
64
|
+
|
65
|
+
def format_variable_statement(statement)
|
66
|
+
string = '<tr><td align="right">'
|
67
|
+
string << statement.statement_type
|
68
|
+
string << '</td><td align="left">$'
|
69
|
+
string << CGI.escape_html(statement.name)
|
70
|
+
string << '</td><td align="left">'
|
71
|
+
string << CGI.escape_html(statement.tokenized_value.to_escaped_string)
|
72
|
+
string << '</td></tr>'
|
73
|
+
|
74
|
+
return string
|
75
|
+
end
|
76
|
+
end
|
@@ -53,7 +53,7 @@ module Fig::Command::Action::Role::ListVariablesInATree
|
|
53
53
|
current_parent = tree
|
54
54
|
|
55
55
|
walk_dependency_tree(
|
56
|
-
@execution_context.base_package, base_display_config_names()
|
56
|
+
@execution_context.base_package, base_display_config_names()
|
57
57
|
) do
|
58
58
|
|package, config_name, depth|
|
59
59
|
|
@@ -13,44 +13,12 @@ module Fig::Command::Action::Role::ListWalkingDependencyTree
|
|
13
13
|
return false
|
14
14
|
end
|
15
15
|
|
16
|
-
def walk_dependency_tree(
|
17
|
-
config_names
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end
|
23
|
-
|
24
|
-
yield base_package, config_name, depth
|
25
|
-
|
26
|
-
new_backtrace = Fig::IncludeBacktrace.new(
|
27
|
-
backtrace,
|
28
|
-
Fig::PackageDescriptor.new(
|
29
|
-
base_package.name(),
|
30
|
-
base_package.version(),
|
31
|
-
config_name,
|
32
|
-
:description => base_package.description
|
33
|
-
)
|
34
|
-
)
|
35
|
-
|
36
|
-
base_package.package_dependencies(config_name, new_backtrace).each do
|
37
|
-
|descriptor|
|
38
|
-
|
39
|
-
package = nil
|
40
|
-
if descriptor.name
|
41
|
-
package =
|
42
|
-
@execution_context.repository.get_package(
|
43
|
-
descriptor, :allow_any_version
|
44
|
-
)
|
45
|
-
else
|
46
|
-
package = base_package
|
47
|
-
end
|
48
|
-
|
49
|
-
walk_dependency_tree(
|
50
|
-
package, [descriptor.config], new_backtrace, depth + 1, &block
|
51
|
-
)
|
52
|
-
end
|
53
|
-
end
|
16
|
+
def walk_dependency_tree(
|
17
|
+
base_package, config_names, include_block = nil, &package_block
|
18
|
+
)
|
19
|
+
do_walk_dependency_tree(
|
20
|
+
base_package, config_names, nil, 0, include_block, &package_block
|
21
|
+
)
|
54
22
|
|
55
23
|
return
|
56
24
|
end
|
@@ -68,7 +36,7 @@ module Fig::Command::Action::Role::ListWalkingDependencyTree
|
|
68
36
|
packages[base_package] = starting_config_names.to_set
|
69
37
|
end
|
70
38
|
|
71
|
-
|
39
|
+
do_walk_dependency_tree(base_package, starting_config_names, nil, 0, nil) do
|
72
40
|
|package, config_name, depth|
|
73
41
|
|
74
42
|
if (
|
@@ -92,4 +60,67 @@ module Fig::Command::Action::Role::ListWalkingDependencyTree
|
|
92
60
|
|
93
61
|
return packages
|
94
62
|
end
|
63
|
+
|
64
|
+
private
|
65
|
+
|
66
|
+
def do_walk_dependency_tree(
|
67
|
+
base_package, config_names, backtrace, depth, include_block, &package_block
|
68
|
+
)
|
69
|
+
config_names.each do
|
70
|
+
|config_name|
|
71
|
+
|
72
|
+
if depth < 1
|
73
|
+
@execution_context.repository.reset_cached_data
|
74
|
+
end
|
75
|
+
|
76
|
+
package_block.call base_package, config_name, depth
|
77
|
+
|
78
|
+
new_backtrace = new_backtrace(backtrace, base_package, config_name)
|
79
|
+
|
80
|
+
base_package.package_dependencies(config_name, new_backtrace).each do
|
81
|
+
|descriptor|
|
82
|
+
|
83
|
+
package = package_for_descriptor descriptor, base_package
|
84
|
+
|
85
|
+
do_walk_dependency_tree(
|
86
|
+
package,
|
87
|
+
[descriptor.config],
|
88
|
+
new_backtrace,
|
89
|
+
depth + 1,
|
90
|
+
include_block,
|
91
|
+
&package_block
|
92
|
+
)
|
93
|
+
|
94
|
+
if include_block
|
95
|
+
include_block.call(
|
96
|
+
base_package, config_name, package, descriptor.config
|
97
|
+
)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
return
|
103
|
+
end
|
104
|
+
|
105
|
+
def new_backtrace(backtrace, base_package, config_name)
|
106
|
+
return Fig::IncludeBacktrace.new(
|
107
|
+
backtrace,
|
108
|
+
Fig::PackageDescriptor.new(
|
109
|
+
base_package.name(),
|
110
|
+
base_package.version(),
|
111
|
+
config_name,
|
112
|
+
:description => base_package.description
|
113
|
+
)
|
114
|
+
)
|
115
|
+
end
|
116
|
+
|
117
|
+
def package_for_descriptor(descriptor, base_package)
|
118
|
+
if descriptor.name
|
119
|
+
return @execution_context.repository.get_package(
|
120
|
+
descriptor, :allow_any_version
|
121
|
+
)
|
122
|
+
end
|
123
|
+
|
124
|
+
return base_package
|
125
|
+
end
|
95
126
|
end
|