fig 0.1.52 → 0.1.53

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 CHANGED
@@ -1,3 +1,7 @@
1
+ v0.1.53
2
+
3
+ - Fix bug in doing "fig -u" when the remote repository has a figrc file.
4
+
1
5
  v0.1.52
2
6
 
3
7
  Notice:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.52
1
+ 0.1.53
data/lib/fig/command.rb CHANGED
@@ -15,12 +15,17 @@ require 'fig/retriever'
15
15
  require 'fig/statement/configuration'
16
16
  require 'fig/statement/publish'
17
17
  require 'fig/userinputerror'
18
- require 'fig/windows'
18
+
19
+ # This is a breakout of part of this class simply to keep the file size down.
20
+ # You will need to look in this file for any stuff related to --list-* options.
21
+ require 'fig/command/listing'
19
22
 
20
23
  module Fig; end
21
24
 
22
25
  # Main program
23
26
  class Fig::Command
27
+ include Fig::Command::Listing
28
+
24
29
  DEFAULT_FIG_FILE = 'package.fig'
25
30
 
26
31
  def run_fig(argv)
@@ -30,7 +35,7 @@ class Fig::Command
30
35
  end
31
36
  @descriptor = @options.descriptor
32
37
 
33
- configure
38
+ configure()
34
39
 
35
40
  if @options.clean?
36
41
  check_required_package_descriptor('to clean')
@@ -141,7 +146,7 @@ class Fig::Command
141
146
  # Check to see if this is still happening with the new layers of abstraction.
142
147
  at_exit { @retriever.save }
143
148
 
144
- @environment = Fig::Environment.new(@repository, nil, @retriever)
149
+ @environment = Fig::Environment.new(@repository, @options.reset_environment? ? {} : nil, @retriever)
145
150
 
146
151
  @options.non_command_package_statements().each do |statement|
147
152
  @environment.apply_config_statement(nil, statement, nil)
@@ -198,164 +203,15 @@ class Fig::Command
198
203
  return
199
204
  end
200
205
 
201
- def display_local_package_list()
202
- check_disallowed_package_descriptor('--list-local')
203
- @repository.list_packages.sort.each do |item|
204
- puts item
205
- end
206
- end
207
-
208
- def display_remote_package_list()
209
- check_disallowed_package_descriptor('--list-remote')
210
- @repository.list_remote_packages.sort.each do |item|
211
- puts item
212
- end
213
- end
214
-
215
- def display_configs_in_local_packages_list()
216
- @package.configs.each do |config|
217
- puts config.name
218
- end
219
-
220
- return
221
- end
222
-
223
- def handle_pre_parse_list_options()
224
- case @options.listing()
225
- when :local_packages
226
- display_local_package_list()
227
- when :remote_packages
228
- display_remote_package_list()
229
- else
230
- return false
231
- end
232
-
233
- return true
234
- end
235
-
236
- def display_dependencies()
237
- if @options.list_tree?
238
- display_dependencies_in_tree(@package, derive_base_display_config_names())
239
- else
240
- display_dependencies_flat()
241
- end
242
-
243
- return
244
- end
245
-
246
- def display_dependencies_in_tree(package, config_names, indent = 0)
247
- config_names.each do
248
- |config_name|
249
-
250
- print ' ' * (indent * 4)
251
- puts package.to_s_with_config(config_name)
252
-
253
- package.package_dependencies(config_name).each do
254
- |descriptor|
255
-
256
- display_dependencies_in_tree(
257
- @repository.get_package(descriptor.name, descriptor.version),
258
- [descriptor.config],
259
- indent + 1
260
- )
261
- end
262
- end
263
-
264
- return
265
- end
266
-
267
- def display_dependencies_flat()
268
- base_config_names = derive_base_display_config_names()
269
- packages = gather_package_depencency_configurations(base_config_names)
270
-
271
- if packages.empty? and $stdout.tty?
272
- puts '<no dependencies>'
273
- else
274
- packages.keys.sort.each do
275
- |package|
276
-
277
- if @options.list_all_configs?
278
- packages[package].sort.each do
279
- |config_name|
280
-
281
- puts package.to_s_with_config(config_name)
282
- end
283
- else
284
- puts package
285
- end
286
- end
287
- end
288
-
289
- return
290
- end
291
-
292
- def derive_base_display_config_names()
293
- if @options.list_all_configs?
294
- return @package.config_names
295
- end
296
-
297
- return [
298
- @descriptor && @descriptor.config || Fig::Package::DEFAULT_CONFIG
299
- ]
300
- end
301
-
302
- def gather_package_depencency_configurations(starting_config_names)
303
- packages = {}
304
-
305
- if ! @package.package_name.nil?
306
- packages[@package] = starting_config_names.to_set
307
- end
308
-
309
- starting_config_names.each do
310
- |config_name|
311
-
312
- @package[config_name].walk_statements_following_package_dependencies(
313
- @repository, @package
314
- ) do
315
- |package, statement|
316
-
317
- if (
318
- ! package.package_name.nil? \
319
- && statement.is_a?(Fig::Statement::Configuration)
320
- )
321
- packages[package] ||= Set.new
322
- packages[package] << statement.name
323
- end
324
- end
325
- end
326
-
327
- if ! @options.list_all_configs? && @descriptor
328
- packages.reject! do
329
- |package, config_names|
330
- package.package_name == @descriptor.name
331
- end
332
- end
333
-
334
- return packages
335
- end
206
+ def register_package_with_environment_if_not_listing()
207
+ return if @options.listing
336
208
 
337
- def handle_post_parse_list_options()
338
- case @options.listing()
339
- when :configs
340
- display_configs_in_local_packages_list()
341
- when :dependencies
342
- display_dependencies()
343
- when :dependencies_all_configs
344
- raise Fig::UserInputError.new('--list-dependencies-all-configs not yet implemented.')
345
- when :variables
346
- raise Fig::UserInputError.new('--list-variables not yet implemented.')
347
- when :variables_all_configs
348
- raise Fig::UserInputError.new('--list-variables-all-configs not yet implemented.')
349
- else
350
- raise %Q<Bug in code! Found unknown :listing option value "#{options.listing()}">
351
- end
209
+ register_package_with_environment()
352
210
 
353
211
  return
354
212
  end
355
213
 
356
- def register_package_with_environment_if_not_listing()
357
- return if @options.listing
358
-
214
+ def register_package_with_environment()
359
215
  if @options.updating?
360
216
  @package.retrieves.each do |var, path|
361
217
  @environment.add_retrieve(var, path)
@@ -368,7 +224,6 @@ class Fig::Command
368
224
  @options.config() || @descriptor && @descriptor.config() || 'default',
369
225
  nil
370
226
  )
371
-
372
227
  return
373
228
  end
374
229
 
@@ -0,0 +1,191 @@
1
+ require 'set'
2
+
3
+ require 'fig/package'
4
+ require 'fig/userinputerror'
5
+
6
+ module Fig; end
7
+ class Fig::Command; end
8
+
9
+ # Parts of the Command class related to handling of --list-* options, simply to
10
+ # keep the size of command.rb down.
11
+ module Fig::Command::Listing
12
+ private
13
+
14
+ def display_local_package_list()
15
+ check_disallowed_package_descriptor('--list-local')
16
+ @repository.list_packages.sort.each do |item|
17
+ puts item
18
+ end
19
+ end
20
+
21
+ def display_remote_package_list()
22
+ check_disallowed_package_descriptor('--list-remote')
23
+ @repository.list_remote_packages.sort.each do |item|
24
+ puts item
25
+ end
26
+ end
27
+
28
+ def display_configs_in_local_packages_list()
29
+ @package.configs.each do |config|
30
+ puts config.name
31
+ end
32
+
33
+ return
34
+ end
35
+
36
+ def handle_pre_parse_list_options()
37
+ case @options.listing()
38
+ when :local_packages
39
+ display_local_package_list()
40
+ when :remote_packages
41
+ display_remote_package_list()
42
+ else
43
+ return false
44
+ end
45
+
46
+ return true
47
+ end
48
+
49
+ def display_dependencies()
50
+ if @options.list_tree?
51
+ display_dependencies_in_tree(@package, derive_base_display_config_names())
52
+ else
53
+ display_dependencies_flat()
54
+ end
55
+
56
+ return
57
+ end
58
+
59
+ def display_variables()
60
+ if @options.list_tree?
61
+ raise Fig::UserInputError.new('--list-variables --list-tree not yet implemented.')
62
+ else
63
+ display_variables_flat()
64
+ end
65
+
66
+ return
67
+ end
68
+
69
+ def display_dependencies_in_tree(package, config_names, indent = 0)
70
+ config_names.each do
71
+ |config_name|
72
+
73
+ print ' ' * (indent * 4)
74
+ puts package.to_s_with_config(config_name)
75
+
76
+ package.package_dependencies(config_name).each do
77
+ |descriptor|
78
+
79
+ display_dependencies_in_tree(
80
+ @repository.get_package(descriptor.name, descriptor.version),
81
+ [descriptor.config],
82
+ indent + 1
83
+ )
84
+ end
85
+ end
86
+
87
+ return
88
+ end
89
+
90
+ def display_dependencies_flat()
91
+ base_config_names = derive_base_display_config_names()
92
+ packages = gather_package_depencency_configurations(base_config_names)
93
+
94
+ if packages.empty? and $stdout.tty?
95
+ puts '<no dependencies>'
96
+ else
97
+ packages.keys.sort.each do
98
+ |package|
99
+
100
+ if @options.list_all_configs?
101
+ packages[package].sort.each do
102
+ |config_name|
103
+
104
+ puts package.to_s_with_config(config_name)
105
+ end
106
+ else
107
+ puts package
108
+ end
109
+ end
110
+ end
111
+
112
+ return
113
+ end
114
+
115
+ def derive_base_display_config_names()
116
+ if @options.list_all_configs?
117
+ return @package.config_names
118
+ end
119
+
120
+ return [
121
+ @descriptor && @descriptor.config || Fig::Package::DEFAULT_CONFIG
122
+ ]
123
+ end
124
+
125
+ def gather_package_depencency_configurations(starting_config_names)
126
+ packages = {}
127
+
128
+ if ! @package.package_name.nil?
129
+ packages[@package] = starting_config_names.to_set
130
+ end
131
+
132
+ starting_config_names.each do
133
+ |config_name|
134
+
135
+ @package[config_name].walk_statements_following_package_dependencies(
136
+ @repository, @package
137
+ ) do
138
+ |package, statement|
139
+
140
+ if (
141
+ ! package.package_name.nil? \
142
+ && statement.is_a?(Fig::Statement::Configuration)
143
+ )
144
+ packages[package] ||= Set.new
145
+ packages[package] << statement.name
146
+ end
147
+ end
148
+ end
149
+
150
+ if ! @options.list_all_configs? && @descriptor
151
+ packages.reject! do
152
+ |package, config_names|
153
+ package.package_name == @descriptor.name
154
+ end
155
+ end
156
+
157
+ return packages
158
+ end
159
+
160
+ def handle_post_parse_list_options()
161
+ case @options.listing()
162
+ when :configs
163
+ display_configs_in_local_packages_list()
164
+ when :dependencies
165
+ display_dependencies()
166
+ when :variables
167
+ display_variables()
168
+ else
169
+ raise %Q<Bug in code! Found unknown :listing option value "#{options.listing()}">
170
+ end
171
+
172
+ return
173
+ end
174
+
175
+ def display_variables_flat()
176
+ register_package_with_environment()
177
+
178
+ variables = @environment.variables()
179
+
180
+ if variables.empty? and $stdout.tty?
181
+ puts '<no variables>'
182
+ else
183
+ variables.keys.sort.each do |variable|
184
+ puts variable + "=" + variables[variable]
185
+ end
186
+ end
187
+
188
+ return
189
+ end
190
+
191
+ end
@@ -19,24 +19,21 @@ module Fig
19
19
 
20
20
  def initialize(repository, variables_override, retriever)
21
21
  @repository = repository
22
- @variables = variables_override || get_environment_variables
22
+ @variables = variables_override || get_system_environment_variables
23
23
  @retrieve_vars = {}
24
24
  @packages = {}
25
25
  @retriever = retriever
26
26
  end
27
27
 
28
- def get_environment_variables
29
- vars = {}
30
- ENV.each { |key,value| vars[key]=value }
31
-
32
- return vars
33
- end
34
-
35
28
  # Returns the value of an envirionment variable
36
29
  def [](name)
37
30
  return @variables[name]
38
31
  end
39
32
 
33
+ def variables
34
+ return @variables.clone
35
+ end
36
+
40
37
  # Indicates that the values from a particular envrionment variable path
41
38
  def add_retrieve(name, path)
42
39
  @retrieve_vars[name] = path
@@ -167,6 +164,13 @@ module Fig
167
164
 
168
165
  private
169
166
 
167
+ def get_system_environment_variables
168
+ vars = {}
169
+ ENV.each { |key,value| vars[key]=value }
170
+
171
+ return vars
172
+ end
173
+
170
174
  def set_variable(base_package, name, value)
171
175
  @variables[name] = expand_and_retrieve_variable_value(base_package, name, value)
172
176
 
@@ -15,6 +15,7 @@ require 'highline/import'
15
15
  require 'fig/logging'
16
16
  require 'fig/networkerror'
17
17
  require 'fig/notfounderror'
18
+ require 'fig/windows'
18
19
 
19
20
  module Fig
20
21
  # Does things requiring real O/S interaction, primarilly taking care of file
data/lib/fig/options.rb CHANGED
@@ -7,6 +7,7 @@ require 'fig/statement/include'
7
7
  require 'fig/statement/path'
8
8
  require 'fig/statement/resource'
9
9
  require 'fig/statement/set'
10
+ require 'fig/userinputerror'
10
11
 
11
12
  module Fig; end
12
13
 
@@ -193,6 +194,16 @@ Environment variables:
193
194
  return update? || update_if_missing?
194
195
  end
195
196
 
197
+ # Answers whether we should reset the environment to nothing, sort of like
198
+ # the standardized environment that cron(1) creates. At present, we're only
199
+ # setting this when we're listing variables. One could imagine allowing this
200
+ # to be set by a command-line option in general; if we do this, the
201
+ # Environment class will need to be changed to support deletion of values
202
+ # from ENV.
203
+ def reset_environment?()
204
+ return listing() == :variables
205
+ end
206
+
196
207
  private
197
208
 
198
209
  def strip_shell_command(argv)
@@ -266,7 +277,17 @@ Environment variables:
266
277
  | type, specification |
267
278
 
268
279
  parser.on(*specification) do
269
- @options[:listing] = type
280
+ if @options[:listing]
281
+ options_string =
282
+ (
283
+ option_mapping.values.collect {|specification| specification[0]}
284
+ ).join(', ')
285
+
286
+ $stderr.puts "Can only specify one of #{options_string}."
287
+ @exit_code = 1
288
+ else
289
+ @options[:listing] = type
290
+ end
270
291
  end
271
292
  end
272
293
 
@@ -31,7 +31,7 @@ module Fig
31
31
  @update = update
32
32
  @update_if_missing = update_if_missing
33
33
 
34
- @parser = Parser.new(@application_config)
34
+ @parser = Parser.new(application_config)
35
35
  @packages = PackageCache.new()
36
36
  end
37
37
 
@@ -175,7 +175,9 @@ module Fig
175
175
  delete_local_package(package_name, version_name)
176
176
  raise RepositoryError.new
177
177
  ensure
178
- FileUtils.rm_rf(temp_dir)
178
+ if temp_dir
179
+ FileUtils.rm_rf(temp_dir)
180
+ end
179
181
  end
180
182
  end
181
183
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.52
4
+ version: 0.1.53
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-23 00:00:00.000000000 Z
12
+ date: 2012-01-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: libarchive-static
16
- requirement: &17230600 !ruby/object:Gem::Requirement
16
+ requirement: &21702760 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.0.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *17230600
24
+ version_requirements: *21702760
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: libarchive-static
27
- requirement: &17230060 !ruby/object:Gem::Requirement
27
+ requirement: &21702220 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *17230060
35
+ version_requirements: *21702220
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: highline
38
- requirement: &17229540 !ruby/object:Gem::Requirement
38
+ requirement: &21701700 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.6.2
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *17229540
46
+ version_requirements: *21701700
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: log4r
49
- requirement: &17229000 !ruby/object:Gem::Requirement
49
+ requirement: &21701160 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.1.5
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *17229000
57
+ version_requirements: *21701160
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: net-netrc
60
- requirement: &17228460 !ruby/object:Gem::Requirement
60
+ requirement: &21700600 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.2.2
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *17228460
68
+ version_requirements: *21700600
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: net-sftp
71
- requirement: &17227980 !ruby/object:Gem::Requirement
71
+ requirement: &21700100 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 2.0.4
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *17227980
79
+ version_requirements: *21700100
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: net-ssh
82
- requirement: &17227460 !ruby/object:Gem::Requirement
82
+ requirement: &21699560 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 2.0.15
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *17227460
90
+ version_requirements: *21699560
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: polyglot
93
- requirement: &17226920 !ruby/object:Gem::Requirement
93
+ requirement: &21699060 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.2.9
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *17226920
101
+ version_requirements: *21699060
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rdoc
104
- requirement: &17226400 !ruby/object:Gem::Requirement
104
+ requirement: &21698480 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '3.12'
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *17226400
112
+ version_requirements: *21698480
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: json
115
- requirement: &17225820 !ruby/object:Gem::Requirement
115
+ requirement: &21714380 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 1.6.5
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *17225820
123
+ version_requirements: *21714380
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: treetop
126
- requirement: &17224700 !ruby/object:Gem::Requirement
126
+ requirement: &21713860 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 1.4.2
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *17224700
134
+ version_requirements: *21713860
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: ftp
137
- requirement: &17240060 !ruby/object:Gem::Requirement
137
+ requirement: &21713340 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '0.69'
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *17240060
145
+ version_requirements: *21713340
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: open4
148
- requirement: &17238760 !ruby/object:Gem::Requirement
148
+ requirement: &21712800 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: 1.0.1
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *17238760
156
+ version_requirements: *21712800
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: rspec
159
- requirement: &17237680 !ruby/object:Gem::Requirement
159
+ requirement: &21712260 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: '2.8'
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *17237680
167
+ version_requirements: *21712260
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: libarchive-static
170
- requirement: &17236560 !ruby/object:Gem::Requirement
170
+ requirement: &21711720 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: 1.0.0
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *17236560
178
+ version_requirements: *21711720
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: libarchive-static
181
- requirement: &17235340 !ruby/object:Gem::Requirement
181
+ requirement: &21711160 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ! '>='
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 1.0.0
187
187
  type: :runtime
188
188
  prerelease: false
189
- version_requirements: *17235340
189
+ version_requirements: *21711160
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: highline
192
- requirement: &17233980 !ruby/object:Gem::Requirement
192
+ requirement: &21710540 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ! '>='
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: 1.6.2
198
198
  type: :runtime
199
199
  prerelease: false
200
- version_requirements: *17233980
200
+ version_requirements: *21710540
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: log4r
203
- requirement: &17232840 !ruby/object:Gem::Requirement
203
+ requirement: &21710040 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ! '>='
@@ -208,10 +208,10 @@ dependencies:
208
208
  version: 1.1.5
209
209
  type: :runtime
210
210
  prerelease: false
211
- version_requirements: *17232840
211
+ version_requirements: *21710040
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: net-netrc
214
- requirement: &17248240 !ruby/object:Gem::Requirement
214
+ requirement: &21709520 !ruby/object:Gem::Requirement
215
215
  none: false
216
216
  requirements:
217
217
  - - ! '>='
@@ -219,10 +219,10 @@ dependencies:
219
219
  version: 0.2.2
220
220
  type: :runtime
221
221
  prerelease: false
222
- version_requirements: *17248240
222
+ version_requirements: *21709520
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: net-sftp
225
- requirement: &17247740 !ruby/object:Gem::Requirement
225
+ requirement: &21708860 !ruby/object:Gem::Requirement
226
226
  none: false
227
227
  requirements:
228
228
  - - ! '>='
@@ -230,10 +230,10 @@ dependencies:
230
230
  version: 2.0.4
231
231
  type: :runtime
232
232
  prerelease: false
233
- version_requirements: *17247740
233
+ version_requirements: *21708860
234
234
  - !ruby/object:Gem::Dependency
235
235
  name: net-ssh
236
- requirement: &17247260 !ruby/object:Gem::Requirement
236
+ requirement: &21708160 !ruby/object:Gem::Requirement
237
237
  none: false
238
238
  requirements:
239
239
  - - ! '>='
@@ -241,10 +241,10 @@ dependencies:
241
241
  version: 2.0.15
242
242
  type: :runtime
243
243
  prerelease: false
244
- version_requirements: *17247260
244
+ version_requirements: *21708160
245
245
  - !ruby/object:Gem::Dependency
246
246
  name: polyglot
247
- requirement: &17246700 !ruby/object:Gem::Requirement
247
+ requirement: &21707660 !ruby/object:Gem::Requirement
248
248
  none: false
249
249
  requirements:
250
250
  - - ! '>='
@@ -252,10 +252,10 @@ dependencies:
252
252
  version: 0.2.9
253
253
  type: :runtime
254
254
  prerelease: false
255
- version_requirements: *17246700
255
+ version_requirements: *21707660
256
256
  - !ruby/object:Gem::Dependency
257
257
  name: rdoc
258
- requirement: &17246160 !ruby/object:Gem::Requirement
258
+ requirement: &21707140 !ruby/object:Gem::Requirement
259
259
  none: false
260
260
  requirements:
261
261
  - - ! '>='
@@ -263,10 +263,10 @@ dependencies:
263
263
  version: '3.12'
264
264
  type: :runtime
265
265
  prerelease: false
266
- version_requirements: *17246160
266
+ version_requirements: *21707140
267
267
  - !ruby/object:Gem::Dependency
268
268
  name: json
269
- requirement: &17245540 !ruby/object:Gem::Requirement
269
+ requirement: &21723040 !ruby/object:Gem::Requirement
270
270
  none: false
271
271
  requirements:
272
272
  - - ! '>='
@@ -274,10 +274,10 @@ dependencies:
274
274
  version: 1.6.5
275
275
  type: :runtime
276
276
  prerelease: false
277
- version_requirements: *17245540
277
+ version_requirements: *21723040
278
278
  - !ruby/object:Gem::Dependency
279
279
  name: treetop
280
- requirement: &17244980 !ruby/object:Gem::Requirement
280
+ requirement: &21722540 !ruby/object:Gem::Requirement
281
281
  none: false
282
282
  requirements:
283
283
  - - ! '>='
@@ -285,10 +285,10 @@ dependencies:
285
285
  version: 1.4.2
286
286
  type: :runtime
287
287
  prerelease: false
288
- version_requirements: *17244980
288
+ version_requirements: *21722540
289
289
  - !ruby/object:Gem::Dependency
290
290
  name: ftp
291
- requirement: &17244460 !ruby/object:Gem::Requirement
291
+ requirement: &21722020 !ruby/object:Gem::Requirement
292
292
  none: false
293
293
  requirements:
294
294
  - - ! '>='
@@ -296,10 +296,10 @@ dependencies:
296
296
  version: '0.69'
297
297
  type: :runtime
298
298
  prerelease: false
299
- version_requirements: *17244460
299
+ version_requirements: *21722020
300
300
  - !ruby/object:Gem::Dependency
301
301
  name: open4
302
- requirement: &17243900 !ruby/object:Gem::Requirement
302
+ requirement: &21721500 !ruby/object:Gem::Requirement
303
303
  none: false
304
304
  requirements:
305
305
  - - ! '>='
@@ -307,10 +307,10 @@ dependencies:
307
307
  version: 1.0.1
308
308
  type: :development
309
309
  prerelease: false
310
- version_requirements: *17243900
310
+ version_requirements: *21721500
311
311
  - !ruby/object:Gem::Dependency
312
312
  name: rspec
313
- requirement: &17243340 !ruby/object:Gem::Requirement
313
+ requirement: &21721020 !ruby/object:Gem::Requirement
314
314
  none: false
315
315
  requirements:
316
316
  - - ! '>='
@@ -318,7 +318,7 @@ dependencies:
318
318
  version: '2.8'
319
319
  type: :development
320
320
  prerelease: false
321
- version_requirements: *17243340
321
+ version_requirements: *21721020
322
322
  description: Fig is a utility for configuring environments and managing dependencies
323
323
  across a team of developers. Given a list of packages and a command to run, Fig
324
324
  builds environment variables named in those packages (e.g., CLASSPATH), then executes
@@ -340,6 +340,7 @@ files:
340
340
  - lib/fig/applicationconfiguration.rb
341
341
  - lib/fig/backtrace.rb
342
342
  - lib/fig/command.rb
343
+ - lib/fig/command/listing.rb
343
344
  - lib/fig/configfileerror.rb
344
345
  - lib/fig/environment.rb
345
346
  - lib/fig/figrc.rb