fig 0.1.81 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/Changes +87 -0
  2. data/lib/fig.rb +1 -1
  3. data/lib/fig/command.rb +5 -0
  4. data/lib/fig/command/action/dump_package_definition_for_command_line.rb +62 -0
  5. data/lib/fig/command/action/dump_package_definition_parsed.rb +19 -2
  6. data/lib/fig/command/action/list_local.rb +9 -1
  7. data/lib/fig/command/action/list_remote.rb +9 -1
  8. data/lib/fig/command/action/role/list_variables_in_a_tree.rb +1 -1
  9. data/lib/fig/command/action/run_command_line.rb +1 -1
  10. data/lib/fig/command/action/run_command_statement.rb +4 -2
  11. data/lib/fig/command/options.rb +50 -18
  12. data/lib/fig/command/options/parser.rb +16 -15
  13. data/lib/fig/command/package_applier.rb +5 -3
  14. data/lib/fig/grammar/v0.rb +287 -289
  15. data/lib/fig/grammar/v0.treetop +66 -42
  16. data/lib/fig/grammar/v1.rb +629 -533
  17. data/lib/fig/grammar/v1.treetop +102 -39
  18. data/lib/fig/grammar_monkey_patches.rb +21 -0
  19. data/lib/fig/operating_system.rb +53 -36
  20. data/lib/fig/package_descriptor.rb +1 -12
  21. data/lib/fig/parser.rb +8 -33
  22. data/lib/fig/parser_package_build_state.rb +92 -31
  23. data/lib/fig/repository_package_publisher.rb +2 -2
  24. data/lib/fig/runtime_environment.rb +54 -120
  25. data/lib/fig/statement.rb +6 -6
  26. data/lib/fig/statement/asset.rb +1 -13
  27. data/lib/fig/statement/command.rb +47 -0
  28. data/lib/fig/statement/environment_variable.rb +64 -3
  29. data/lib/fig/statement/grammar_version.rb +4 -0
  30. data/lib/fig/statement/include.rb +4 -0
  31. data/lib/fig/statement/override.rb +4 -0
  32. data/lib/fig/statement/path.rb +40 -16
  33. data/lib/fig/statement/retrieve.rb +61 -5
  34. data/lib/fig/statement/set.rb +16 -19
  35. data/lib/fig/string_tokenizer.rb +63 -25
  36. data/lib/fig/tokenized_string.rb +31 -5
  37. data/lib/fig/tokenized_string/plain_segment.rb +32 -2
  38. data/lib/fig/tokenized_string/token.rb +12 -0
  39. data/lib/fig/unparser.rb +27 -12
  40. data/lib/fig/unparser/v0.rb +4 -5
  41. data/lib/fig/unparser/v1.rb +43 -6
  42. data/lib/fig/url.rb +13 -0
  43. metadata +44 -42
data/lib/fig/url.rb CHANGED
@@ -1,4 +1,7 @@
1
1
  require 'cgi'
2
+ require 'uri'
3
+
4
+ require 'fig/user_input_error'
2
5
 
3
6
  module Fig; end
4
7
 
@@ -15,4 +18,14 @@ module Fig::URL
15
18
 
16
19
  return [url, encoded].flatten.join('/')
17
20
  end
21
+
22
+ # URI.parse() doesn't like space characters, unlike most of the world.
23
+ def self.parse(url)
24
+ begin
25
+ return URI.parse(url.gsub ' ', '+')
26
+ rescue URI::InvalidURIError => error
27
+ raise Fig::UserInputError.new \
28
+ %Q<Cannot parse URL "#{url}": #{error.message}>
29
+ end
30
+ end
18
31
  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.81
4
+ version: 0.2.1
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-09-25 00:00:00.000000000 Z
12
+ date: 2012-11-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colorize
16
- requirement: &14895880 !ruby/object:Gem::Requirement
16
+ requirement: &12116300 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.5.8
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *14895880
24
+ version_requirements: *12116300
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: highline
27
- requirement: &14895400 !ruby/object:Gem::Requirement
27
+ requirement: &12115780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.6.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *14895400
35
+ version_requirements: *12115780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &14894920 !ruby/object:Gem::Requirement
38
+ requirement: &12115300 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.6.5
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *14894920
46
+ version_requirements: *12115300
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: libarchive-static
49
- requirement: &14894400 !ruby/object:Gem::Requirement
49
+ requirement: &12114800 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *14894400
57
+ version_requirements: *12114800
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: log4r
60
- requirement: &14893900 !ruby/object:Gem::Requirement
60
+ requirement: &12114340 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.1.5
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *14893900
68
+ version_requirements: *12114340
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: net-netrc
71
- requirement: &14893400 !ruby/object:Gem::Requirement
71
+ requirement: &12113820 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.2.2
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *14893400
79
+ version_requirements: *12113820
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: net-sftp
82
- requirement: &14892940 !ruby/object:Gem::Requirement
82
+ requirement: &12113360 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 2.0.4
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *14892940
90
+ version_requirements: *12113360
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: net-ssh
93
- requirement: &15315060 !ruby/object:Gem::Requirement
93
+ requirement: &12112860 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 2.0.15
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *15315060
101
+ version_requirements: *12112860
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rdoc
104
- requirement: &15314580 !ruby/object:Gem::Requirement
104
+ requirement: &12112360 !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: *15314580
112
+ version_requirements: *12112360
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: sys-admin
115
- requirement: &15313960 !ruby/object:Gem::Requirement
115
+ requirement: &12111880 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 1.5.6
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *15313960
123
+ version_requirements: *12111880
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: treetop
126
- requirement: &15313280 !ruby/object:Gem::Requirement
126
+ requirement: &12111400 !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: *15313280
134
+ version_requirements: *12111400
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: open4
137
- requirement: &15312300 !ruby/object:Gem::Requirement
137
+ requirement: &12110900 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 1.0.1
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *15312300
145
+ version_requirements: *12110900
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: bundler
148
- requirement: &15310060 !ruby/object:Gem::Requirement
148
+ requirement: &12110400 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: 1.0.15
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *15310060
156
+ version_requirements: *12110400
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: rake
159
- requirement: &15308680 !ruby/object:Gem::Requirement
159
+ requirement: &12109940 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: 0.8.7
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *15308680
167
+ version_requirements: *12109940
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: rspec
170
- requirement: &15304980 !ruby/object:Gem::Requirement
170
+ requirement: &12109480 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ~>
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: '2'
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *15304980
178
+ version_requirements: *12109480
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: rspec-core
181
- requirement: &15303980 !ruby/object:Gem::Requirement
181
+ requirement: &12109000 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ! '>='
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 2.7.1
187
187
  type: :development
188
188
  prerelease: false
189
- version_requirements: *15303980
189
+ version_requirements: *12109000
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: rspec-expectations
192
- requirement: &15303200 !ruby/object:Gem::Requirement
192
+ requirement: &12161640 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ! '>='
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: 2.7.0
198
198
  type: :development
199
199
  prerelease: false
200
- version_requirements: *15303200
200
+ version_requirements: *12161640
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: rspec-mocks
203
- requirement: &15302620 !ruby/object:Gem::Requirement
203
+ requirement: &12161180 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ! '>='
@@ -208,10 +208,10 @@ dependencies:
208
208
  version: 2.7.0
209
209
  type: :development
210
210
  prerelease: false
211
- version_requirements: *15302620
211
+ version_requirements: *12161180
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: simplecov
214
- requirement: &15302060 !ruby/object:Gem::Requirement
214
+ requirement: &12160640 !ruby/object:Gem::Requirement
215
215
  none: false
216
216
  requirements:
217
217
  - - ! '>='
@@ -219,10 +219,10 @@ dependencies:
219
219
  version: 0.6.2
220
220
  type: :development
221
221
  prerelease: false
222
- version_requirements: *15302060
222
+ version_requirements: *12160640
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: simplecov-html
225
- requirement: &15301480 !ruby/object:Gem::Requirement
225
+ requirement: &12160140 !ruby/object:Gem::Requirement
226
226
  none: false
227
227
  requirements:
228
228
  - - ! '>='
@@ -230,7 +230,7 @@ dependencies:
230
230
  version: 0.5.3
231
231
  type: :development
232
232
  prerelease: false
233
- version_requirements: *15301480
233
+ version_requirements: *12160140
234
234
  description: Fig is a utility for configuring environments and managing dependencies
235
235
  across a team of developers. Given a list of packages and a command to run, Fig
236
236
  builds environment variables named in those packages (e.g., CLASSPATH), then executes
@@ -252,6 +252,7 @@ files:
252
252
  - lib/fig/command.rb
253
253
  - lib/fig/include_backtrace.rb
254
254
  - lib/fig/tokenized_string.rb
255
+ - lib/fig/grammar_monkey_patches.rb
255
256
  - lib/fig/string_tokenizer.rb
256
257
  - lib/fig/repository_package_publisher.rb
257
258
  - lib/fig/application_configuration.rb
@@ -290,6 +291,7 @@ files:
290
291
  - lib/fig/command/action/role/has_no_sub_action.rb
291
292
  - lib/fig/command/action/role/list_dependencies_flat.rb
292
293
  - lib/fig/command/action/publish.rb
294
+ - lib/fig/command/action/dump_package_definition_for_command_line.rb
293
295
  - lib/fig/command/action/version.rb
294
296
  - lib/fig/command/action/publish_local.rb
295
297
  - lib/fig/command/action/dump_package_definition_parsed.rb