fig 0.1.73 → 0.1.75
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 +75 -0
- data/lib/fig.rb +1 -1
- data/lib/fig/command.rb +36 -12
- data/lib/fig/command/action.rb +1 -1
- data/lib/fig/command/action/dump_package_definition_parsed.rb +4 -6
- data/lib/fig/command/action/run_command_statement.rb +3 -2
- data/lib/fig/command/options.rb +12 -3
- data/lib/fig/command/options/parser.rb +2 -0
- data/lib/fig/command/package_loader.rb +1 -0
- data/lib/fig/config_file_error.rb +1 -1
- data/lib/fig/grammar/base.rb +214 -0
- data/lib/fig/grammar/base.treetop +29 -0
- data/lib/fig/grammar/v0.rb +1493 -0
- data/lib/fig/grammar/v0.treetop +167 -0
- data/lib/fig/grammar/v1.rb +1478 -0
- data/lib/fig/grammar/v1.treetop +174 -0
- data/lib/fig/grammar/version.rb +144 -0
- data/lib/fig/grammar/version.treetop +22 -0
- data/lib/fig/grammar/version_identification.rb +113 -0
- data/lib/fig/grammar/version_identification.treetop +27 -0
- data/lib/fig/log4r_config_error.rb +1 -1
- data/lib/fig/no_such_package_config_error.rb +1 -1
- data/lib/fig/not_found_error.rb +7 -0
- data/lib/fig/operating_system.rb +31 -20
- data/lib/fig/package.rb +8 -3
- data/lib/fig/package_definition_text_assembler.rb +88 -0
- data/lib/fig/package_descriptor_parse_error.rb +1 -1
- data/lib/fig/parser.rb +115 -29
- data/lib/fig/parser_package_build_state.rb +38 -11
- data/lib/fig/repository.rb +5 -8
- data/lib/fig/repository_package_publisher.rb +114 -96
- data/lib/fig/runtime_environment.rb +42 -14
- data/lib/fig/statement.rb +133 -0
- data/lib/fig/statement/archive.rb +6 -4
- data/lib/fig/statement/asset.rb +28 -34
- data/lib/fig/statement/command.rb +6 -2
- data/lib/fig/statement/configuration.rb +4 -12
- data/lib/fig/statement/grammar_version.rb +22 -0
- data/lib/fig/statement/include.rb +5 -6
- data/lib/fig/statement/override.rb +6 -3
- data/lib/fig/statement/path.rb +12 -2
- data/lib/fig/statement/resource.rb +8 -8
- data/lib/fig/statement/retrieve.rb +11 -3
- data/lib/fig/statement/set.rb +12 -2
- data/lib/fig/unparser.rb +127 -0
- data/lib/fig/unparser/v0.rb +84 -0
- data/lib/fig/unparser/v1.rb +77 -0
- data/lib/fig/url.rb +7 -0
- metadata +139 -25
- data/lib/fig/grammar.treetop +0 -147
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.
|
4
|
+
version: 0.1.75
|
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-
|
12
|
+
date: 2012-08-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: colorize
|
16
|
-
requirement: &
|
16
|
+
requirement: &20106180 !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: *
|
24
|
+
version_requirements: *20106180
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: highline
|
27
|
-
requirement: &
|
27
|
+
requirement: &20105640 !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: *
|
35
|
+
version_requirements: *20105640
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: json
|
38
|
-
requirement: &
|
38
|
+
requirement: &20105100 !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: *
|
46
|
+
version_requirements: *20105100
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: libarchive-static
|
49
|
-
requirement: &
|
49
|
+
requirement: &20104500 !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: *
|
57
|
+
version_requirements: *20104500
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: log4r
|
60
|
-
requirement: &
|
60
|
+
requirement: &20103920 !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: *
|
68
|
+
version_requirements: *20103920
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: net-netrc
|
71
|
-
requirement: &
|
71
|
+
requirement: &20103100 !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: *
|
79
|
+
version_requirements: *20103100
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: net-sftp
|
82
|
-
requirement: &
|
82
|
+
requirement: &20102240 !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: *
|
90
|
+
version_requirements: *20102240
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: net-ssh
|
93
|
-
requirement: &
|
93
|
+
requirement: &20101740 !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: *
|
101
|
+
version_requirements: *20101740
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: rdoc
|
104
|
-
requirement: &
|
104
|
+
requirement: &20016900 !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: *
|
112
|
+
version_requirements: *20016900
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: sys-admin
|
115
|
-
requirement: &
|
115
|
+
requirement: &20016420 !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: *
|
123
|
+
version_requirements: *20016420
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: treetop
|
126
|
-
requirement: &
|
126
|
+
requirement: &20015640 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,7 +131,106 @@ dependencies:
|
|
131
131
|
version: 1.4.2
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *20015640
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: open4
|
137
|
+
requirement: &20014840 !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 1.0.1
|
143
|
+
type: :development
|
144
|
+
prerelease: false
|
145
|
+
version_requirements: *20014840
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: bundler
|
148
|
+
requirement: &20013800 !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
150
|
+
requirements:
|
151
|
+
- - ! '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 1.0.15
|
154
|
+
type: :development
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: *20013800
|
157
|
+
- !ruby/object:Gem::Dependency
|
158
|
+
name: rake
|
159
|
+
requirement: &20013120 !ruby/object:Gem::Requirement
|
160
|
+
none: false
|
161
|
+
requirements:
|
162
|
+
- - ! '>='
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: 0.8.7
|
165
|
+
type: :development
|
166
|
+
prerelease: false
|
167
|
+
version_requirements: *20013120
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
name: rspec
|
170
|
+
requirement: &20012540 !ruby/object:Gem::Requirement
|
171
|
+
none: false
|
172
|
+
requirements:
|
173
|
+
- - ~>
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '2'
|
176
|
+
type: :development
|
177
|
+
prerelease: false
|
178
|
+
version_requirements: *20012540
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: rspec-core
|
181
|
+
requirement: &20012080 !ruby/object:Gem::Requirement
|
182
|
+
none: false
|
183
|
+
requirements:
|
184
|
+
- - ! '>='
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: 2.7.1
|
187
|
+
type: :development
|
188
|
+
prerelease: false
|
189
|
+
version_requirements: *20012080
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: rspec-expectations
|
192
|
+
requirement: &20011600 !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: 2.7.0
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: *20011600
|
201
|
+
- !ruby/object:Gem::Dependency
|
202
|
+
name: rspec-mocks
|
203
|
+
requirement: &20011100 !ruby/object:Gem::Requirement
|
204
|
+
none: false
|
205
|
+
requirements:
|
206
|
+
- - ! '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 2.7.0
|
209
|
+
type: :development
|
210
|
+
prerelease: false
|
211
|
+
version_requirements: *20011100
|
212
|
+
- !ruby/object:Gem::Dependency
|
213
|
+
name: simplecov
|
214
|
+
requirement: &20010600 !ruby/object:Gem::Requirement
|
215
|
+
none: false
|
216
|
+
requirements:
|
217
|
+
- - ! '>='
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: 0.6.2
|
220
|
+
type: :development
|
221
|
+
prerelease: false
|
222
|
+
version_requirements: *20010600
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: simplecov-html
|
225
|
+
requirement: &20010100 !ruby/object:Gem::Requirement
|
226
|
+
none: false
|
227
|
+
requirements:
|
228
|
+
- - ! '>='
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: 0.5.3
|
231
|
+
type: :development
|
232
|
+
prerelease: false
|
233
|
+
version_requirements: *20010100
|
135
234
|
description: Fig is a utility for configuring environments and managing dependencies
|
136
235
|
across a team of developers. Given a list of packages and a command to run, Fig
|
137
236
|
builds environment variables named in those packages (e.g., CLASSPATH), then executes
|
@@ -150,8 +249,12 @@ files:
|
|
150
249
|
- bin/fig.bat
|
151
250
|
- lib/fig.rb
|
152
251
|
- lib/fig/parser_package_build_state.rb
|
252
|
+
- lib/fig/unparser/v1.rb
|
253
|
+
- lib/fig/unparser/v0.rb
|
153
254
|
- lib/fig/logging/colorizable.rb
|
154
255
|
- lib/fig/update_lock.rb
|
256
|
+
- lib/fig/unparser.rb
|
257
|
+
- lib/fig/url.rb
|
155
258
|
- lib/fig/parser.rb
|
156
259
|
- lib/fig/url_access_error.rb
|
157
260
|
- lib/fig/package.rb
|
@@ -167,8 +270,14 @@ files:
|
|
167
270
|
- lib/fig/package_descriptor.rb
|
168
271
|
- lib/fig/not_found_error.rb
|
169
272
|
- lib/fig/application_configuration.rb
|
273
|
+
- lib/fig/grammar/base.treetop
|
274
|
+
- lib/fig/grammar/version.treetop
|
275
|
+
- lib/fig/grammar/v0.treetop
|
276
|
+
- lib/fig/grammar/version_identification.treetop
|
277
|
+
- lib/fig/grammar/v1.treetop
|
170
278
|
- lib/fig/statement/path.rb
|
171
279
|
- lib/fig/statement/set.rb
|
280
|
+
- lib/fig/statement/grammar_version.rb
|
172
281
|
- lib/fig/statement/asset.rb
|
173
282
|
- lib/fig/statement/retrieve.rb
|
174
283
|
- lib/fig/statement/include.rb
|
@@ -182,7 +291,6 @@ files:
|
|
182
291
|
- lib/fig/package_descriptor_parse_error.rb
|
183
292
|
- lib/fig/config_file_error.rb
|
184
293
|
- lib/fig/operating_system.rb
|
185
|
-
- lib/fig/grammar.treetop
|
186
294
|
- lib/fig/command/action.rb
|
187
295
|
- lib/fig/command/options/parser.rb
|
188
296
|
- lib/fig/command/action/help.rb
|
@@ -237,9 +345,15 @@ files:
|
|
237
345
|
- lib/fig/environment_variables/case_sensitive.rb
|
238
346
|
- lib/fig/environment_variables/case_insensitive.rb
|
239
347
|
- lib/fig/command.rb
|
348
|
+
- lib/fig/package_definition_text_assembler.rb
|
240
349
|
- lib/fig/statement.rb
|
241
350
|
- LICENSE
|
242
351
|
- README.md
|
352
|
+
- lib/fig/grammar/base.rb
|
353
|
+
- lib/fig/grammar/version.rb
|
354
|
+
- lib/fig/grammar/v0.rb
|
355
|
+
- lib/fig/grammar/version_identification.rb
|
356
|
+
- lib/fig/grammar/v1.rb
|
243
357
|
homepage: http://github.com/mfoemmel/fig
|
244
358
|
licenses: []
|
245
359
|
post_install_message:
|
data/lib/fig/grammar.treetop
DELETED
@@ -1,147 +0,0 @@
|
|
1
|
-
# Treetop (http://treetop.rubyforge.org/) grammar for package definitions.
|
2
|
-
|
3
|
-
# Some aspects of this grammar are significantly dumber than they could be
|
4
|
-
# because:
|
5
|
-
#
|
6
|
-
# * We want to treat statements as identically as possible to their
|
7
|
-
# command-line equivalents.
|
8
|
-
# * Treetop parse errors are pretty inscrutable at times and we can make
|
9
|
-
# error messages clearer by validating a lot of the terminals ourselves.
|
10
|
-
|
11
|
-
module Fig
|
12
|
-
grammar Fig
|
13
|
-
rule package
|
14
|
-
optional_ws statements:(package_statement*) optional_ws {
|
15
|
-
def to_package(directory, build_state)
|
16
|
-
return build_state.new_package_statement(directory, statements)
|
17
|
-
end
|
18
|
-
}
|
19
|
-
end
|
20
|
-
|
21
|
-
rule package_statement
|
22
|
-
archive / resource / retrieve / config
|
23
|
-
end
|
24
|
-
|
25
|
-
rule archive
|
26
|
-
statement_start:"archive" ws url:asset_url ws {
|
27
|
-
def to_package_statement(build_state)
|
28
|
-
return build_state.new_asset_statement(
|
29
|
-
Statement::Archive, statement_start, url
|
30
|
-
)
|
31
|
-
end
|
32
|
-
}
|
33
|
-
end
|
34
|
-
|
35
|
-
rule resource
|
36
|
-
statement_start:"resource" ws url:asset_url ws {
|
37
|
-
def to_package_statement(build_state)
|
38
|
-
return build_state.new_asset_statement(
|
39
|
-
Statement::Resource, statement_start, url
|
40
|
-
)
|
41
|
-
end
|
42
|
-
}
|
43
|
-
end
|
44
|
-
|
45
|
-
rule asset_url
|
46
|
-
[\S]+
|
47
|
-
end
|
48
|
-
|
49
|
-
rule retrieve
|
50
|
-
statement_start:"retrieve" ws var:environment_variable_name "->" path:retrieve_path ws {
|
51
|
-
def to_package_statement(build_state)
|
52
|
-
return build_state.new_retrieve_statement(statement_start, var, path)
|
53
|
-
end
|
54
|
-
}
|
55
|
-
end
|
56
|
-
|
57
|
-
rule retrieve_path
|
58
|
-
[a-zA-Z0-9_/.\[\]-]+
|
59
|
-
end
|
60
|
-
|
61
|
-
rule config
|
62
|
-
statement_start:"config" ws config_name ws statements:config_statement* "end" ws {
|
63
|
-
def to_package_statement(build_state)
|
64
|
-
return build_state.new_configuration_statement(
|
65
|
-
statement_start, config_name, statements
|
66
|
-
)
|
67
|
-
end
|
68
|
-
}
|
69
|
-
end
|
70
|
-
|
71
|
-
rule config_name
|
72
|
-
[a-zA-Z0-9_.-]+
|
73
|
-
end
|
74
|
-
|
75
|
-
rule config_statement
|
76
|
-
override / include / command / path / set
|
77
|
-
end
|
78
|
-
|
79
|
-
rule include
|
80
|
-
statement_start:"include" ws descriptor_string ws {
|
81
|
-
def to_config_statement(build_state)
|
82
|
-
return build_state.new_include_statement(
|
83
|
-
statement_start, descriptor_string
|
84
|
-
)
|
85
|
-
end
|
86
|
-
}
|
87
|
-
end
|
88
|
-
|
89
|
-
rule override
|
90
|
-
statement_start:"override" ws descriptor_string ws {
|
91
|
-
def to_config_statement(build_state)
|
92
|
-
return build_state.new_override_statement(
|
93
|
-
statement_start, descriptor_string
|
94
|
-
)
|
95
|
-
end
|
96
|
-
}
|
97
|
-
end
|
98
|
-
|
99
|
-
rule path
|
100
|
-
statement_start:("add" / "append" / "path") ws name_value:[\S]+ ws {
|
101
|
-
def to_config_statement(build_state)
|
102
|
-
return build_state.new_environment_variable_statement(
|
103
|
-
Statement::Path, statement_start, name_value
|
104
|
-
)
|
105
|
-
end
|
106
|
-
}
|
107
|
-
end
|
108
|
-
|
109
|
-
rule environment_variable_name
|
110
|
-
[a-zA-Z0-9_]+
|
111
|
-
end
|
112
|
-
|
113
|
-
rule set
|
114
|
-
statement_start:"set" ws name_value:[\S]+ ws {
|
115
|
-
def to_config_statement(build_state)
|
116
|
-
return build_state.new_environment_variable_statement(
|
117
|
-
Statement::Set, statement_start, name_value
|
118
|
-
)
|
119
|
-
end
|
120
|
-
}
|
121
|
-
end
|
122
|
-
|
123
|
-
rule command
|
124
|
-
statement_start:"command" ws string {
|
125
|
-
def to_config_statement(build_state)
|
126
|
-
return build_state.new_command_statement(statement_start, string)
|
127
|
-
end
|
128
|
-
}
|
129
|
-
end
|
130
|
-
|
131
|
-
rule string
|
132
|
-
'"' value:(!'"' . )* '"' ws
|
133
|
-
end
|
134
|
-
|
135
|
-
rule descriptor_string
|
136
|
-
[\S]+
|
137
|
-
end
|
138
|
-
|
139
|
-
rule ws
|
140
|
-
[ \n\r\t]+
|
141
|
-
end
|
142
|
-
|
143
|
-
rule optional_ws
|
144
|
-
[ \n\r\t]*
|
145
|
-
end
|
146
|
-
end
|
147
|
-
end
|