fig 0.1.57 → 0.1.59

Sign up to get free protection for your applications and to get access to all the features.
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: []