fig 0.1.57 → 0.1.59

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.
Files changed (45) hide show
  1. data/Changes +80 -0
  2. data/VERSION +1 -1
  3. data/bin/fig-debug +12 -0
  4. data/bin/fig.bat +1 -0
  5. data/lib/fig/applicationconfiguration.rb +41 -41
  6. data/lib/fig/backtrace.rb +28 -30
  7. data/lib/fig/command.rb +52 -112
  8. data/lib/fig/command/listing.rb +207 -41
  9. data/lib/fig/command/packageload.rb +137 -0
  10. data/lib/fig/environment.rb +59 -72
  11. data/lib/fig/environmentvariables.rb +44 -0
  12. data/lib/fig/environmentvariables/caseinsensitive.rb +49 -0
  13. data/lib/fig/environmentvariables/casesensitive.rb +30 -0
  14. data/lib/fig/grammar.treetop +60 -35
  15. data/lib/fig/log4r/outputter.rb +96 -0
  16. data/lib/fig/logging.rb +2 -1
  17. data/lib/fig/logging/colorizable.rb +14 -0
  18. data/lib/fig/nosuchpackageconfigerror.rb +15 -0
  19. data/lib/fig/operatingsystem.rb +24 -13
  20. data/lib/fig/options.rb +70 -20
  21. data/lib/fig/package.rb +25 -26
  22. data/lib/fig/packagecache.rb +3 -3
  23. data/lib/fig/packagedescriptor.rb +36 -19
  24. data/lib/fig/packageparseerror.rb +7 -0
  25. data/lib/fig/parser.rb +76 -39
  26. data/lib/fig/repository.rb +131 -93
  27. data/lib/fig/retriever.rb +61 -39
  28. data/lib/fig/statement.rb +24 -2
  29. data/lib/fig/statement/archive.rb +4 -6
  30. data/lib/fig/statement/command.rb +4 -6
  31. data/lib/fig/statement/configuration.rb +7 -9
  32. data/lib/fig/statement/include.rb +49 -32
  33. data/lib/fig/statement/override.rb +7 -8
  34. data/lib/fig/statement/path.rb +4 -6
  35. data/lib/fig/statement/publish.rb +4 -11
  36. data/lib/fig/statement/resource.rb +4 -6
  37. data/lib/fig/statement/retrieve.rb +4 -6
  38. data/lib/fig/statement/set.rb +4 -6
  39. data/lib/fig/urlaccesserror.rb +4 -5
  40. metadata +52 -215
  41. data/LICENSE +0 -27
  42. data/README.md +0 -526
  43. data/TODO +0 -4
  44. data/lib/fig/packageerror.rb +0 -8
  45. data/lib/fig/windows.rb +0 -44
@@ -1,17 +1,15 @@
1
- require 'fig/logging'
2
- require 'fig/packageerror'
3
1
  require 'fig/statement'
4
2
 
5
3
  module Fig; end
6
4
 
7
5
  # A statement that specifies or modifies a path environment variable, e.g.
8
6
  # "append", "path", "add" (though those are all synonyms).
9
- class Fig::Statement::Path
10
- include Fig::Statement
11
-
7
+ class Fig::Statement::Path < Fig::Statement
12
8
  attr_reader :name, :value
13
9
 
14
- def initialize(name, value)
10
+ def initialize(line_column, name, value)
11
+ super(line_column)
12
+
15
13
  @name = name
16
14
  @value = value
17
15
  end
@@ -1,22 +1,15 @@
1
- require 'fig/logging'
2
- require 'fig/packageerror'
3
1
  require 'fig/statement'
4
2
 
5
3
  module Fig; end
6
4
 
7
5
  # Artificial statement (it's not in the grammar) used to handle default
8
6
  # publishing.
9
- class Fig::Statement::Publish
10
- include Fig::Statement
11
-
12
- attr_reader :local_name, :remote_name
13
-
14
- def initialize(local_name, remote_name)
15
- @local_name = local_name
16
- @remote_name = remote_name
7
+ class Fig::Statement::Publish < Fig::Statement
8
+ def initialize()
9
+ super(nil)
17
10
  end
18
11
 
19
12
  def unparse(indent)
20
- "#{indent}publish #{@local_name}->#{@remote_name}"
13
+ "#{indent}publish"
21
14
  end
22
15
  end
@@ -1,5 +1,3 @@
1
- require 'fig/logging'
2
- require 'fig/packageerror'
3
1
  require 'fig/statement'
4
2
 
5
3
  module Fig; end
@@ -7,12 +5,12 @@ module Fig; end
7
5
  # Specifies a file (possibly via a URL) that is part of the current package.
8
6
  #
9
7
  # Differs from an Archive in that the contents will not be extracted.
10
- class Fig::Statement::Resource
11
- include Fig::Statement
12
-
8
+ class Fig::Statement::Resource < Fig::Statement
13
9
  attr_reader :url
14
10
 
15
- def initialize(url)
11
+ def initialize(line_column, url)
12
+ super(line_column)
13
+
16
14
  @url = url
17
15
  end
18
16
 
@@ -1,16 +1,14 @@
1
- require 'fig/logging'
2
- require 'fig/packageerror'
3
1
  require 'fig/statement'
4
2
 
5
3
  module Fig; end
6
4
 
7
5
  # Specifies the destination to put a dependency into.
8
- class Fig::Statement::Retrieve
9
- include Fig::Statement
10
-
6
+ class Fig::Statement::Retrieve < Fig::Statement
11
7
  attr_reader :var, :path
12
8
 
13
- def initialize(var, path)
9
+ def initialize(line_column, var, path)
10
+ super(line_column)
11
+
14
12
  @var = var
15
13
  @path = path
16
14
  end
@@ -1,16 +1,14 @@
1
- require 'fig/logging'
2
- require 'fig/packageerror'
3
1
  require 'fig/statement'
4
2
 
5
3
  module Fig; end
6
4
 
7
5
  # A statement that sets the value of an environment variable.
8
- class Fig::Statement::Set
9
- include Fig::Statement
10
-
6
+ class Fig::Statement::Set < Fig::Statement
11
7
  attr_reader :name, :value
12
8
 
13
- def initialize(name, value)
9
+ def initialize(line_column, name, value)
10
+ super(line_column)
11
+
14
12
  @name = name
15
13
  @value = value
16
14
  end
@@ -3,12 +3,11 @@ require 'fig/userinputerror'
3
3
  module Fig
4
4
  # Configuration attempted to specify a URL outside of the whitelist.
5
5
  class URLAccessError < UserInputError
6
- attr_reader :urls, :package, :version
6
+ attr_reader :urls, :descriptor
7
7
 
8
- def initialize(urls, package, version)
9
- @urls = urls
10
- @package = package
11
- @version = version
8
+ def initialize(urls, descriptor)
9
+ @urls = urls
10
+ @descriptor = descriptor
12
11
  end
13
12
  end
14
13
  end
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.57
4
+ version: 0.1.59
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-13 00:00:00.000000000 Z
12
+ date: 2012-03-09 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: libarchive-static
16
- requirement: &18108420 !ruby/object:Gem::Requirement
15
+ name: sys-admin
16
+ requirement: &2152136260 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.0.0
22
- type: :development
21
+ version: 1.5.6
22
+ type: :runtime
23
23
  prerelease: false
24
- version_requirements: *18108420
24
+ version_requirements: *2152136260
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: libarchive-static
27
- requirement: &18107900 !ruby/object:Gem::Requirement
27
+ requirement: &2152133060 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,109 +32,21 @@ dependencies:
32
32
  version: 1.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *18107900
36
- - !ruby/object:Gem::Dependency
37
- name: highline
38
- requirement: &18107400 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: 1.6.2
44
- type: :runtime
45
- prerelease: false
46
- version_requirements: *18107400
47
- - !ruby/object:Gem::Dependency
48
- name: log4r
49
- requirement: &18106780 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: 1.1.5
55
- type: :runtime
56
- prerelease: false
57
- version_requirements: *18106780
58
- - !ruby/object:Gem::Dependency
59
- name: net-netrc
60
- requirement: &18106260 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: 0.2.2
66
- type: :runtime
67
- prerelease: false
68
- version_requirements: *18106260
69
- - !ruby/object:Gem::Dependency
70
- name: net-sftp
71
- requirement: &18105680 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - ! '>='
75
- - !ruby/object:Gem::Version
76
- version: 2.0.4
77
- type: :runtime
78
- prerelease: false
79
- version_requirements: *18105680
80
- - !ruby/object:Gem::Dependency
81
- name: net-ssh
82
- requirement: &18104920 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: 2.0.15
88
- type: :runtime
89
- prerelease: false
90
- version_requirements: *18104920
35
+ version_requirements: *2152133060
91
36
  - !ruby/object:Gem::Dependency
92
- name: polyglot
93
- requirement: &18104040 !ruby/object:Gem::Requirement
37
+ name: colorize
38
+ requirement: &2152131860 !ruby/object:Gem::Requirement
94
39
  none: false
95
40
  requirements:
96
41
  - - ! '>='
97
42
  - !ruby/object:Gem::Version
98
- version: 0.2.9
43
+ version: 0.5.8
99
44
  type: :runtime
100
45
  prerelease: false
101
- version_requirements: *18104040
102
- - !ruby/object:Gem::Dependency
103
- name: rdoc
104
- requirement: &18103340 !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '3.12'
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: *18103340
113
- - !ruby/object:Gem::Dependency
114
- name: json
115
- requirement: &18102780 !ruby/object:Gem::Requirement
116
- none: false
117
- requirements:
118
- - - ! '>='
119
- - !ruby/object:Gem::Version
120
- version: 1.6.5
121
- type: :runtime
122
- prerelease: false
123
- version_requirements: *18102780
124
- - !ruby/object:Gem::Dependency
125
- name: treetop
126
- requirement: &18118580 !ruby/object:Gem::Requirement
127
- none: false
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: 1.4.2
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: *18118580
46
+ version_requirements: *2152131860
135
47
  - !ruby/object:Gem::Dependency
136
48
  name: ftp
137
- requirement: &18117280 !ruby/object:Gem::Requirement
49
+ requirement: &2152129320 !ruby/object:Gem::Requirement
138
50
  none: false
139
51
  requirements:
140
52
  - - ! '>='
@@ -142,65 +54,32 @@ dependencies:
142
54
  version: '0.69'
143
55
  type: :runtime
144
56
  prerelease: false
145
- version_requirements: *18117280
146
- - !ruby/object:Gem::Dependency
147
- name: open4
148
- requirement: &18116760 !ruby/object:Gem::Requirement
149
- none: false
150
- requirements:
151
- - - ! '>='
152
- - !ruby/object:Gem::Version
153
- version: 1.0.1
154
- type: :development
155
- prerelease: false
156
- version_requirements: *18116760
57
+ version_requirements: *2152129320
157
58
  - !ruby/object:Gem::Dependency
158
- name: rspec
159
- requirement: &18116200 !ruby/object:Gem::Requirement
160
- none: false
161
- requirements:
162
- - - ! '>='
163
- - !ruby/object:Gem::Version
164
- version: '2.8'
165
- type: :development
166
- prerelease: false
167
- version_requirements: *18116200
168
- - !ruby/object:Gem::Dependency
169
- name: libarchive-static
170
- requirement: &18115700 !ruby/object:Gem::Requirement
171
- none: false
172
- requirements:
173
- - - ! '>='
174
- - !ruby/object:Gem::Version
175
- version: 1.0.0
176
- type: :development
177
- prerelease: false
178
- version_requirements: *18115700
179
- - !ruby/object:Gem::Dependency
180
- name: libarchive-static
181
- requirement: &18115160 !ruby/object:Gem::Requirement
59
+ name: highline
60
+ requirement: &2152127980 !ruby/object:Gem::Requirement
182
61
  none: false
183
62
  requirements:
184
63
  - - ! '>='
185
64
  - !ruby/object:Gem::Version
186
- version: 1.0.0
65
+ version: 1.6.2
187
66
  type: :runtime
188
67
  prerelease: false
189
- version_requirements: *18115160
68
+ version_requirements: *2152127980
190
69
  - !ruby/object:Gem::Dependency
191
- name: highline
192
- requirement: &18114640 !ruby/object:Gem::Requirement
70
+ name: json
71
+ requirement: &2152126840 !ruby/object:Gem::Requirement
193
72
  none: false
194
73
  requirements:
195
74
  - - ! '>='
196
75
  - !ruby/object:Gem::Version
197
- version: 1.6.2
76
+ version: 1.6.5
198
77
  type: :runtime
199
78
  prerelease: false
200
- version_requirements: *18114640
79
+ version_requirements: *2152126840
201
80
  - !ruby/object:Gem::Dependency
202
81
  name: log4r
203
- requirement: &18114140 !ruby/object:Gem::Requirement
82
+ requirement: &2152125760 !ruby/object:Gem::Requirement
204
83
  none: false
205
84
  requirements:
206
85
  - - ! '>='
@@ -208,10 +87,10 @@ dependencies:
208
87
  version: 1.1.5
209
88
  type: :runtime
210
89
  prerelease: false
211
- version_requirements: *18114140
90
+ version_requirements: *2152125760
212
91
  - !ruby/object:Gem::Dependency
213
92
  name: net-netrc
214
- requirement: &18113540 !ruby/object:Gem::Requirement
93
+ requirement: &2152117680 !ruby/object:Gem::Requirement
215
94
  none: false
216
95
  requirements:
217
96
  - - ! '>='
@@ -219,10 +98,10 @@ dependencies:
219
98
  version: 0.2.2
220
99
  type: :runtime
221
100
  prerelease: false
222
- version_requirements: *18113540
101
+ version_requirements: *2152117680
223
102
  - !ruby/object:Gem::Dependency
224
103
  name: net-sftp
225
- requirement: &18112720 !ruby/object:Gem::Requirement
104
+ requirement: &2152116660 !ruby/object:Gem::Requirement
226
105
  none: false
227
106
  requirements:
228
107
  - - ! '>='
@@ -230,10 +109,10 @@ dependencies:
230
109
  version: 2.0.4
231
110
  type: :runtime
232
111
  prerelease: false
233
- version_requirements: *18112720
112
+ version_requirements: *2152116660
234
113
  - !ruby/object:Gem::Dependency
235
114
  name: net-ssh
236
- requirement: &18112060 !ruby/object:Gem::Requirement
115
+ requirement: &2152115460 !ruby/object:Gem::Requirement
237
116
  none: false
238
117
  requirements:
239
118
  - - ! '>='
@@ -241,10 +120,10 @@ dependencies:
241
120
  version: 2.0.15
242
121
  type: :runtime
243
122
  prerelease: false
244
- version_requirements: *18112060
123
+ version_requirements: *2152115460
245
124
  - !ruby/object:Gem::Dependency
246
125
  name: polyglot
247
- requirement: &18111380 !ruby/object:Gem::Requirement
126
+ requirement: &2152114440 !ruby/object:Gem::Requirement
248
127
  none: false
249
128
  requirements:
250
129
  - - ! '>='
@@ -252,10 +131,10 @@ dependencies:
252
131
  version: 0.2.9
253
132
  type: :runtime
254
133
  prerelease: false
255
- version_requirements: *18111380
134
+ version_requirements: *2152114440
256
135
  - !ruby/object:Gem::Dependency
257
136
  name: rdoc
258
- requirement: &18110860 !ruby/object:Gem::Requirement
137
+ requirement: &2152113380 !ruby/object:Gem::Requirement
259
138
  none: false
260
139
  requirements:
261
140
  - - ! '>='
@@ -263,21 +142,10 @@ dependencies:
263
142
  version: '3.12'
264
143
  type: :runtime
265
144
  prerelease: false
266
- version_requirements: *18110860
267
- - !ruby/object:Gem::Dependency
268
- name: json
269
- requirement: &18126740 !ruby/object:Gem::Requirement
270
- none: false
271
- requirements:
272
- - - ! '>='
273
- - !ruby/object:Gem::Version
274
- version: 1.6.5
275
- type: :runtime
276
- prerelease: false
277
- version_requirements: *18126740
145
+ version_requirements: *2152113380
278
146
  - !ruby/object:Gem::Dependency
279
147
  name: treetop
280
- requirement: &18126260 !ruby/object:Gem::Requirement
148
+ requirement: &2152112540 !ruby/object:Gem::Requirement
281
149
  none: false
282
150
  requirements:
283
151
  - - ! '>='
@@ -285,40 +153,7 @@ dependencies:
285
153
  version: 1.4.2
286
154
  type: :runtime
287
155
  prerelease: false
288
- version_requirements: *18126260
289
- - !ruby/object:Gem::Dependency
290
- name: ftp
291
- requirement: &18125780 !ruby/object:Gem::Requirement
292
- none: false
293
- requirements:
294
- - - ! '>='
295
- - !ruby/object:Gem::Version
296
- version: '0.69'
297
- type: :runtime
298
- prerelease: false
299
- version_requirements: *18125780
300
- - !ruby/object:Gem::Dependency
301
- name: open4
302
- requirement: &18125300 !ruby/object:Gem::Requirement
303
- none: false
304
- requirements:
305
- - - ! '>='
306
- - !ruby/object:Gem::Version
307
- version: 1.0.1
308
- type: :development
309
- prerelease: false
310
- version_requirements: *18125300
311
- - !ruby/object:Gem::Dependency
312
- name: rspec
313
- requirement: &18124820 !ruby/object:Gem::Requirement
314
- none: false
315
- requirements:
316
- - - ! '>='
317
- - !ruby/object:Gem::Version
318
- version: '2.8'
319
- type: :development
320
- prerelease: false
321
- version_requirements: *18124820
156
+ version_requirements: *2152112540
322
157
  description: Fig is a utility for configuring environments and managing dependencies
323
158
  across a team of developers. Given a list of packages and a command to run, Fig
324
159
  builds environment variables named in those packages (e.g., CLASSPATH), then executes
@@ -328,38 +163,43 @@ executables:
328
163
  - fig
329
164
  - fig-download
330
165
  extensions: []
331
- extra_rdoc_files:
332
- - LICENSE
333
- - README.md
334
- - TODO
166
+ extra_rdoc_files: []
335
167
  files:
336
168
  - Changes
337
169
  - VERSION
338
170
  - bin/fig
171
+ - bin/fig-debug
339
172
  - bin/fig-download
173
+ - bin/fig.bat
340
174
  - lib/fig/applicationconfiguration.rb
341
175
  - lib/fig/backtrace.rb
342
- - lib/fig/command.rb
343
176
  - lib/fig/command/listing.rb
177
+ - lib/fig/command/packageload.rb
178
+ - lib/fig/command.rb
344
179
  - lib/fig/configfileerror.rb
345
180
  - lib/fig/environment.rb
181
+ - lib/fig/environmentvariables/caseinsensitive.rb
182
+ - lib/fig/environmentvariables/casesensitive.rb
183
+ - lib/fig/environmentvariables.rb
346
184
  - lib/fig/figrc.rb
347
185
  - lib/fig/grammar.treetop
186
+ - lib/fig/log4r/outputter.rb
348
187
  - lib/fig/log4rconfigerror.rb
188
+ - lib/fig/logging/colorizable.rb
349
189
  - lib/fig/logging.rb
350
190
  - lib/fig/networkerror.rb
191
+ - lib/fig/nosuchpackageconfigerror.rb
351
192
  - lib/fig/notfounderror.rb
352
193
  - lib/fig/operatingsystem.rb
353
194
  - lib/fig/options.rb
354
195
  - lib/fig/package.rb
355
196
  - lib/fig/packagecache.rb
356
197
  - lib/fig/packagedescriptor.rb
357
- - lib/fig/packageerror.rb
198
+ - lib/fig/packageparseerror.rb
358
199
  - lib/fig/parser.rb
359
200
  - lib/fig/repository.rb
360
201
  - lib/fig/repositoryerror.rb
361
202
  - lib/fig/retriever.rb
362
- - lib/fig/statement.rb
363
203
  - lib/fig/statement/archive.rb
364
204
  - lib/fig/statement/command.rb
365
205
  - lib/fig/statement/configuration.rb
@@ -370,12 +210,9 @@ files:
370
210
  - lib/fig/statement/resource.rb
371
211
  - lib/fig/statement/retrieve.rb
372
212
  - lib/fig/statement/set.rb
213
+ - lib/fig/statement.rb
373
214
  - lib/fig/urlaccesserror.rb
374
215
  - lib/fig/userinputerror.rb
375
- - lib/fig/windows.rb
376
- - LICENSE
377
- - README.md
378
- - TODO
379
216
  homepage: http://github.com/mfoemmel/fig
380
217
  licenses: []
381
218
  post_install_message:
@@ -396,9 +233,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
396
233
  version: '0'
397
234
  requirements: []
398
235
  rubyforge_project:
399
- rubygems_version: 1.8.11
236
+ rubygems_version: 1.8.15
400
237
  signing_key:
401
238
  specification_version: 3
402
239
  summary: Fig is a utility for configuring environments and managing dependencies across
403
- a team of developers. (fig/ruby version)
240
+ a team of developers.
404
241
  test_files: []