fig 0.1.65 → 0.1.67
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 +29 -0
- data/bin/fig +1 -1
- data/bin/fig-debug +1 -1
- data/lib/fig.rb +3 -0
- data/lib/fig/{applicationconfiguration.rb → application_configuration.rb} +0 -0
- data/lib/fig/{atexit.rb → at_exit.rb} +0 -0
- data/lib/fig/command.rb +190 -200
- data/lib/fig/command/action.rb +83 -0
- data/lib/fig/command/action/clean.rb +33 -0
- data/lib/fig/command/action/get.rb +48 -0
- data/lib/fig/command/action/help.rb +29 -0
- data/lib/fig/command/action/list_configs.rb +39 -0
- data/lib/fig/command/action/list_dependencies.rb +19 -0
- data/lib/fig/command/action/list_dependencies/all_configs.rb +44 -0
- data/lib/fig/command/action/list_dependencies/default.rb +40 -0
- data/lib/fig/command/action/list_dependencies/tree.rb +40 -0
- data/lib/fig/command/action/list_dependencies/tree_all_configs.rb +40 -0
- data/lib/fig/command/action/list_local.rb +29 -0
- data/lib/fig/command/action/list_remote.rb +33 -0
- data/lib/fig/command/action/list_variables.rb +23 -0
- data/lib/fig/command/action/list_variables/all_configs.rb +61 -0
- data/lib/fig/command/action/list_variables/default.rb +48 -0
- data/lib/fig/command/action/list_variables/tree.rb +20 -0
- data/lib/fig/command/action/list_variables/tree_all_configs.rb +20 -0
- data/lib/fig/command/action/publish.rb +52 -0
- data/lib/fig/command/action/publish_local.rb +29 -0
- data/lib/fig/command/action/role/has_no_sub_action.rb +10 -0
- data/lib/fig/command/action/role/has_sub_action.rb +58 -0
- data/lib/fig/command/action/role/list_all_configs.rb +14 -0
- data/lib/fig/command/action/role/list_base_config.rb +14 -0
- data/lib/fig/command/action/role/list_dependencies_flat.rb +22 -0
- data/lib/fig/command/action/role/list_dependencies_in_a_tree.rb +21 -0
- data/lib/fig/command/action/role/list_variables_in_a_tree.rb +150 -0
- data/lib/fig/command/action/role/list_walking_dependency_tree.rb +90 -0
- data/lib/fig/command/action/role/publish.rb +90 -0
- data/lib/fig/command/action/role/update.rb +46 -0
- data/lib/fig/command/action/run_command_line.rb +45 -0
- data/lib/fig/command/action/run_command_statement.rb +52 -0
- data/lib/fig/command/action/update.rb +17 -0
- data/lib/fig/command/action/update_if_missing.rb +17 -0
- data/lib/fig/command/action/version.rb +27 -0
- data/lib/fig/command/{coveragesupport.rb → coverage_support.rb} +0 -0
- data/lib/fig/command/{optionerror.rb → option_error.rb} +1 -1
- data/lib/fig/command/options.rb +185 -127
- data/lib/fig/command/package_applier.rb +140 -0
- data/lib/fig/command/package_loader.rb +124 -0
- data/lib/fig/{configfileerror.rb → config_file_error.rb} +1 -1
- data/lib/fig/{environmentvariables.rb → environment_variables.rb} +0 -0
- data/lib/fig/{environmentvariables/caseinsensitive.rb → environment_variables/case_insensitive.rb} +1 -1
- data/lib/fig/{environmentvariables/casesensitive.rb → environment_variables/case_sensitive.rb} +1 -1
- data/lib/fig/figrc.rb +3 -3
- data/lib/fig/grammar.treetop +1 -1
- data/lib/fig/{backtrace.rb → include_backtrace.rb} +7 -2
- data/lib/fig/log4r/outputter.rb +1 -1
- data/lib/fig/{log4rconfigerror.rb → log4r_config_error.rb} +1 -1
- data/lib/fig/logging.rb +2 -2
- data/lib/fig/{networkerror.rb → network_error.rb} +1 -1
- data/lib/fig/{nosuchpackageconfigerror.rb → no_such_package_config_error.rb} +2 -2
- data/lib/fig/{notfounderror.rb → not_found_error.rb} +0 -0
- data/lib/fig/{operatingsystem.rb → operating_system.rb} +5 -5
- data/lib/fig/package.rb +3 -3
- data/lib/fig/{packagecache.rb → package_cache.rb} +0 -0
- data/lib/fig/{packagedescriptor.rb → package_descriptor.rb} +1 -1
- data/lib/fig/{packagedescriptorparseerror.rb → package_descriptor_parse_error.rb} +1 -1
- data/lib/fig/{packageparseerror.rb → package_parse_error.rb} +1 -1
- data/lib/fig/parser.rb +4 -4
- data/lib/fig/{parserpackagebuildstate.rb → parser_package_build_state.rb} +1 -1
- data/lib/fig/repository.rb +17 -17
- data/lib/fig/{repositoryerror.rb → repository_error.rb} +1 -1
- data/lib/fig/{environment.rb → runtime_environment.rb} +15 -8
- data/lib/fig/statement/include.rb +1 -1
- data/lib/fig/statement/override.rb +1 -1
- data/lib/fig/{urlaccesserror.rb → url_access_error.rb} +1 -1
- data/lib/fig/{userinputerror.rb → user_input_error.rb} +0 -0
- data/lib/fig/{workingdirectorymaintainer.rb → working_directory_maintainer.rb} +4 -4
- data/lib/fig/{workingdirectorymetadata.rb → working_directory_metadata.rb} +0 -0
- metadata +88 -54
- data/VERSION +0 -1
- data/lib/fig/command/listing.rb +0 -363
- data/lib/fig/command/packageload.rb +0 -236
@@ -0,0 +1,83 @@
|
|
1
|
+
module Fig; end
|
2
|
+
class Fig::Command; end
|
3
|
+
|
4
|
+
module Fig::Command::Action
|
5
|
+
EXIT_SUCCESS = 0
|
6
|
+
EXIT_FAILURE = 1
|
7
|
+
|
8
|
+
attr_writer :execution_context
|
9
|
+
|
10
|
+
def primary_option()
|
11
|
+
return options()[0]
|
12
|
+
end
|
13
|
+
|
14
|
+
def options()
|
15
|
+
raise NotImplementedError
|
16
|
+
end
|
17
|
+
|
18
|
+
# Is this a special Action that should just be run on its own without looking
|
19
|
+
# at other Actions? Note that anything that returns true won't get an
|
20
|
+
# execution context.
|
21
|
+
def execute_immediately_after_command_line_parse?
|
22
|
+
return false
|
23
|
+
end
|
24
|
+
|
25
|
+
def descriptor_requirement()
|
26
|
+
raise NotImplementedError
|
27
|
+
end
|
28
|
+
|
29
|
+
def allow_both_descriptor_and_file?()
|
30
|
+
return false
|
31
|
+
end
|
32
|
+
|
33
|
+
def load_base_package?()
|
34
|
+
raise NotImplementedError
|
35
|
+
end
|
36
|
+
|
37
|
+
def base_package_can_come_from_descriptor?()
|
38
|
+
return true
|
39
|
+
end
|
40
|
+
|
41
|
+
# true, false, or nil if don't care.
|
42
|
+
def register_base_package?()
|
43
|
+
raise NotImplementedError
|
44
|
+
end
|
45
|
+
|
46
|
+
# true, false, or nil if don't care.
|
47
|
+
def apply_config?()
|
48
|
+
raise NotImplementedError
|
49
|
+
end
|
50
|
+
|
51
|
+
# true, false, or nil if don't care.
|
52
|
+
def apply_base_config?()
|
53
|
+
raise NotImplementedError
|
54
|
+
end
|
55
|
+
|
56
|
+
def remote_operation_necessary?()
|
57
|
+
return false
|
58
|
+
end
|
59
|
+
|
60
|
+
def retrieves_should_happen?()
|
61
|
+
return false
|
62
|
+
end
|
63
|
+
|
64
|
+
# Answers whether we should reset the environment to nothing, sort of like
|
65
|
+
# the standardized environment that cron(1) creates. At present, we're only
|
66
|
+
# setting this when we're listing variables. One could imagine allowing this
|
67
|
+
# to be set by a command-line option in general; if we do this, the
|
68
|
+
# RuntimeEnvironment class will need to be changed to support deletion of
|
69
|
+
# values from ENV.
|
70
|
+
def reset_environment?()
|
71
|
+
return false
|
72
|
+
end
|
73
|
+
|
74
|
+
# Slurp data out of command-line options.
|
75
|
+
def configure(options)
|
76
|
+
# Do nothing by default.
|
77
|
+
return
|
78
|
+
end
|
79
|
+
|
80
|
+
def execute()
|
81
|
+
raise NotImplementedError
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/has_no_sub_action'
|
3
|
+
|
4
|
+
module Fig; end
|
5
|
+
class Fig::Command; end
|
6
|
+
module Fig::Command::Action; end
|
7
|
+
|
8
|
+
class Fig::Command::Action::Clean
|
9
|
+
include Fig::Command::Action
|
10
|
+
include Fig::Command::Action::Role::HasNoSubAction
|
11
|
+
|
12
|
+
def options()
|
13
|
+
return %w<--clean>
|
14
|
+
end
|
15
|
+
|
16
|
+
def descriptor_requirement()
|
17
|
+
return :required
|
18
|
+
end
|
19
|
+
|
20
|
+
def load_base_package?()
|
21
|
+
return false
|
22
|
+
end
|
23
|
+
|
24
|
+
def configure(options)
|
25
|
+
@descriptor = options.descriptor
|
26
|
+
end
|
27
|
+
|
28
|
+
def execute()
|
29
|
+
@execution_context.repository.clean(@descriptor)
|
30
|
+
|
31
|
+
return EXIT_SUCCESS
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/has_no_sub_action'
|
3
|
+
|
4
|
+
module Fig; end
|
5
|
+
class Fig::Command; end
|
6
|
+
module Fig::Command::Action; end
|
7
|
+
|
8
|
+
class Fig::Command::Action::Get
|
9
|
+
include Fig::Command::Action
|
10
|
+
include Fig::Command::Action::Role::HasNoSubAction
|
11
|
+
|
12
|
+
def options()
|
13
|
+
return %w<--get>
|
14
|
+
end
|
15
|
+
|
16
|
+
def descriptor_requirement()
|
17
|
+
return nil
|
18
|
+
end
|
19
|
+
|
20
|
+
def load_base_package?()
|
21
|
+
return true
|
22
|
+
end
|
23
|
+
|
24
|
+
def register_base_package?()
|
25
|
+
return true
|
26
|
+
end
|
27
|
+
|
28
|
+
def apply_config?()
|
29
|
+
return true
|
30
|
+
end
|
31
|
+
|
32
|
+
def apply_base_config?()
|
33
|
+
return true
|
34
|
+
end
|
35
|
+
|
36
|
+
def configure(options)
|
37
|
+
@variable = options.variable_to_get
|
38
|
+
end
|
39
|
+
|
40
|
+
def execute()
|
41
|
+
# Ruby v1.8 emits "nil" for nil, whereas ruby v1.9 emits the empty
|
42
|
+
# string, so, for consistency, we need to ensure that we always emit the
|
43
|
+
# empty string.
|
44
|
+
puts @execution_context.environment[@variable] || ''
|
45
|
+
|
46
|
+
return EXIT_SUCCESS
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/has_no_sub_action'
|
3
|
+
|
4
|
+
module Fig; end
|
5
|
+
class Fig::Command; end
|
6
|
+
module Fig::Command::Action; end
|
7
|
+
|
8
|
+
class Fig::Command::Action::Help
|
9
|
+
include Fig::Command::Action
|
10
|
+
include Fig::Command::Action::Role::HasNoSubAction
|
11
|
+
|
12
|
+
def options()
|
13
|
+
return %w<--help>
|
14
|
+
end
|
15
|
+
|
16
|
+
def execute_immediately_after_command_line_parse?
|
17
|
+
return true
|
18
|
+
end
|
19
|
+
|
20
|
+
def configure(options)
|
21
|
+
@help_message = options.help_message
|
22
|
+
end
|
23
|
+
|
24
|
+
def execute()
|
25
|
+
puts @help_message
|
26
|
+
|
27
|
+
return EXIT_SUCCESS
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/has_no_sub_action'
|
3
|
+
|
4
|
+
module Fig; end
|
5
|
+
class Fig::Command; end
|
6
|
+
module Fig::Command::Action; end
|
7
|
+
|
8
|
+
class Fig::Command::Action::ListConfigs
|
9
|
+
include Fig::Command::Action
|
10
|
+
include Fig::Command::Action::Role::HasNoSubAction
|
11
|
+
|
12
|
+
def options()
|
13
|
+
return %w<--list-configs>
|
14
|
+
end
|
15
|
+
|
16
|
+
def descriptor_requirement()
|
17
|
+
return nil
|
18
|
+
end
|
19
|
+
|
20
|
+
def load_base_package?()
|
21
|
+
return true
|
22
|
+
end
|
23
|
+
|
24
|
+
def register_base_package?()
|
25
|
+
return nil # don't care
|
26
|
+
end
|
27
|
+
|
28
|
+
def apply_config?()
|
29
|
+
return nil # don't care
|
30
|
+
end
|
31
|
+
|
32
|
+
def execute()
|
33
|
+
@execution_context.base_package.configs.each do |config|
|
34
|
+
puts config.name
|
35
|
+
end
|
36
|
+
|
37
|
+
return EXIT_SUCCESS
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/has_sub_action'
|
3
|
+
|
4
|
+
module Fig; end
|
5
|
+
class Fig::Command; end
|
6
|
+
module Fig::Command::Action; end
|
7
|
+
|
8
|
+
class Fig::Command::Action::ListDependencies
|
9
|
+
include Fig::Command::Action
|
10
|
+
include Fig::Command::Action::Role::HasSubAction
|
11
|
+
|
12
|
+
def options()
|
13
|
+
if sub_action
|
14
|
+
return sub_action.options
|
15
|
+
end
|
16
|
+
|
17
|
+
return %w<--list-dependencies>
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/list_all_configs'
|
3
|
+
require 'fig/command/action/role/list_dependencies_flat'
|
4
|
+
require 'fig/command/action/role/list_walking_dependency_tree'
|
5
|
+
|
6
|
+
module Fig; end
|
7
|
+
class Fig::Command; end
|
8
|
+
module Fig::Command::Action; end
|
9
|
+
class Fig::Command::Action::ListDependencies; end
|
10
|
+
|
11
|
+
class Fig::Command::Action::ListDependencies::AllConfigs
|
12
|
+
include Fig::Command::Action
|
13
|
+
include Fig::Command::Action::Role::ListAllConfigs
|
14
|
+
include Fig::Command::Action::Role::ListDependenciesFlat
|
15
|
+
include Fig::Command::Action::Role::ListWalkingDependencyTree
|
16
|
+
|
17
|
+
def options()
|
18
|
+
return %w<--list-dependencies --list-all-configs>
|
19
|
+
end
|
20
|
+
|
21
|
+
def descriptor_requirement()
|
22
|
+
return nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def load_base_package?()
|
26
|
+
return true
|
27
|
+
end
|
28
|
+
|
29
|
+
def register_base_package?()
|
30
|
+
return nil # don't care
|
31
|
+
end
|
32
|
+
|
33
|
+
def apply_config?
|
34
|
+
return nil # don't care
|
35
|
+
end
|
36
|
+
|
37
|
+
def derive_package_strings(packages)
|
38
|
+
return packages.keys.collect do
|
39
|
+
|package|
|
40
|
+
|
41
|
+
packages[package].collect {|config| package.to_s_with_config(config)}
|
42
|
+
end.flatten
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/list_base_config'
|
3
|
+
require 'fig/command/action/role/list_dependencies_flat'
|
4
|
+
require 'fig/command/action/role/list_walking_dependency_tree'
|
5
|
+
|
6
|
+
module Fig; end
|
7
|
+
class Fig::Command; end
|
8
|
+
module Fig::Command::Action; end
|
9
|
+
class Fig::Command::Action::ListDependencies; end
|
10
|
+
|
11
|
+
class Fig::Command::Action::ListDependencies::Default
|
12
|
+
include Fig::Command::Action
|
13
|
+
include Fig::Command::Action::Role::ListBaseConfig
|
14
|
+
include Fig::Command::Action::Role::ListDependenciesFlat
|
15
|
+
include Fig::Command::Action::Role::ListWalkingDependencyTree
|
16
|
+
|
17
|
+
def options()
|
18
|
+
return %w<--list-dependencies>
|
19
|
+
end
|
20
|
+
|
21
|
+
def descriptor_requirement()
|
22
|
+
return nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def load_base_package?()
|
26
|
+
return true
|
27
|
+
end
|
28
|
+
|
29
|
+
def register_base_package?()
|
30
|
+
return nil # don't care
|
31
|
+
end
|
32
|
+
|
33
|
+
def apply_config?
|
34
|
+
return nil # don't care
|
35
|
+
end
|
36
|
+
|
37
|
+
def derive_package_strings(packages)
|
38
|
+
return packages.keys
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/list_base_config'
|
3
|
+
require 'fig/command/action/role/list_dependencies_in_a_tree'
|
4
|
+
require 'fig/command/action/role/list_walking_dependency_tree'
|
5
|
+
|
6
|
+
module Fig; end
|
7
|
+
class Fig::Command; end
|
8
|
+
module Fig::Command::Action; end
|
9
|
+
class Fig::Command::Action::ListDependencies; end
|
10
|
+
|
11
|
+
class Fig::Command::Action::ListDependencies::Tree
|
12
|
+
include Fig::Command::Action
|
13
|
+
include Fig::Command::Action::Role::ListBaseConfig
|
14
|
+
include Fig::Command::Action::Role::ListDependenciesInATree
|
15
|
+
include Fig::Command::Action::Role::ListWalkingDependencyTree
|
16
|
+
|
17
|
+
def options()
|
18
|
+
return %w<--list-dependencies --list-tree>
|
19
|
+
end
|
20
|
+
|
21
|
+
def descriptor_requirement()
|
22
|
+
return nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def load_base_package?()
|
26
|
+
return true
|
27
|
+
end
|
28
|
+
|
29
|
+
def register_base_package?()
|
30
|
+
return nil # don't care
|
31
|
+
end
|
32
|
+
|
33
|
+
def apply_config?()
|
34
|
+
return nil # don't care
|
35
|
+
end
|
36
|
+
|
37
|
+
def apply_base_config?()
|
38
|
+
return nil # don't care
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/list_all_configs'
|
3
|
+
require 'fig/command/action/role/list_dependencies_in_a_tree'
|
4
|
+
require 'fig/command/action/role/list_walking_dependency_tree'
|
5
|
+
|
6
|
+
module Fig; end
|
7
|
+
class Fig::Command; end
|
8
|
+
module Fig::Command::Action; end
|
9
|
+
class Fig::Command::Action::ListDependencies; end
|
10
|
+
|
11
|
+
class Fig::Command::Action::ListDependencies::TreeAllConfigs
|
12
|
+
include Fig::Command::Action
|
13
|
+
include Fig::Command::Action::Role::ListAllConfigs
|
14
|
+
include Fig::Command::Action::Role::ListDependenciesInATree
|
15
|
+
include Fig::Command::Action::Role::ListWalkingDependencyTree
|
16
|
+
|
17
|
+
def options()
|
18
|
+
return %w<--list-dependencies --list-tree --list-all-configs>
|
19
|
+
end
|
20
|
+
|
21
|
+
def descriptor_requirement()
|
22
|
+
return nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def load_base_package?()
|
26
|
+
return true
|
27
|
+
end
|
28
|
+
|
29
|
+
def register_base_package?()
|
30
|
+
return nil # don't care
|
31
|
+
end
|
32
|
+
|
33
|
+
def apply_config?()
|
34
|
+
return nil # don't care
|
35
|
+
end
|
36
|
+
|
37
|
+
def apply_base_config?()
|
38
|
+
return nil # don't care
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'fig/command/action'
|
2
|
+
require 'fig/command/action/role/has_no_sub_action'
|
3
|
+
|
4
|
+
module Fig; end
|
5
|
+
class Fig::Command; end
|
6
|
+
module Fig::Command::Action; end
|
7
|
+
|
8
|
+
class Fig::Command::Action::ListLocal
|
9
|
+
include Fig::Command::Action
|
10
|
+
include Fig::Command::Action::Role::HasNoSubAction
|
11
|
+
|
12
|
+
def options()
|
13
|
+
return %w<--list-local>
|
14
|
+
end
|
15
|
+
|
16
|
+
def descriptor_requirement()
|
17
|
+
return :warn
|
18
|
+
end
|
19
|
+
|
20
|
+
def load_base_package?()
|
21
|
+
return nil # Don't care.
|
22
|
+
end
|
23
|
+
|
24
|
+
def execute()
|
25
|
+
@execution_context.repository.list_packages.sort.each {|item| puts item}
|
26
|
+
|
27
|
+
return EXIT_SUCCESS
|
28
|
+
end
|
29
|
+
end
|