fig 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -130,7 +130,8 @@ class Fig::RepositoryPackagePublisher
130
130
  begin
131
131
  unparsed_package = Fig::NotYetParsedPackage.new
132
132
  unparsed_package.descriptor = @descriptor
133
- unparsed_package.working_directory = unparsed_package.base_directory =
133
+ unparsed_package.working_directory =
134
+ unparsed_package.include_file_base_directory =
134
135
  @runtime_for_package
135
136
  unparsed_package.source_description = '<package to be published>'
136
137
  unparsed_package.unparsed_text = file_content
@@ -177,7 +178,7 @@ class Fig::RepositoryPackagePublisher
177
178
  def add_publish_comment
178
179
  return if ! @options.publish_comment
179
180
 
180
- comment = @options.publish_comment.strip.gsub /[ \t]*\n/, "\n# "
181
+ comment = @options.publish_comment.strip.gsub(/[ \t]*\n/, "\n# ")
181
182
  @text_assembler.add_header %Q<# #{comment}>
182
183
  @text_assembler.add_header %q<#>
183
184
  @text_assembler.add_header %q<#>
@@ -1,5 +1,6 @@
1
1
  require 'stringio'
2
2
 
3
+ require 'fig/deparser'
3
4
  require 'fig/include_backtrace'
4
5
  require 'fig/logging'
5
6
  require 'fig/not_yet_parsed_package'
@@ -11,7 +12,6 @@ require 'fig/statement/include_file'
11
12
  require 'fig/statement/override'
12
13
  require 'fig/statement/path'
13
14
  require 'fig/statement/set'
14
- require 'fig/unparser'
15
15
  require 'fig/user_input_error'
16
16
 
17
17
  module Fig; end
@@ -130,7 +130,7 @@ class Fig::RuntimeEnvironment
130
130
 
131
131
  expanded_command_line =
132
132
  command_line.map {
133
- |argument| expand_command_line_argument(argument, base_package)
133
+ |argument| expand_command_line_argument(argument, package)
134
134
  }
135
135
 
136
136
  @variables.with_environment { yield expanded_command_line }
@@ -184,7 +184,7 @@ class Fig::RuntimeEnvironment
184
184
 
185
185
  statement = @retrieves[name]
186
186
  if statement.loaded_but_not_referenced?
187
- text, * = Fig::Unparser.determine_version_and_unparse(
187
+ text, * = Fig::Deparser.determine_version_and_deparse(
188
188
  [statement], :emit_as_input
189
189
  )
190
190
  Fig::Logging.warn \
@@ -262,7 +262,8 @@ class Fig::RuntimeEnvironment
262
262
  def include_file_config(including_package, path, config_name, backtrace)
263
263
  return if @suppress_includes
264
264
 
265
- full_path = File.absolute_path(path, including_package.base_directory)
265
+ full_path =
266
+ File.absolute_path(path, including_package.include_file_base_directory)
266
267
 
267
268
  descriptor =
268
269
  Fig::PackageDescriptor.new(nil, nil, nil, :description => full_path)
@@ -363,7 +364,8 @@ class Fig::RuntimeEnvironment
363
364
 
364
365
  unparsed_package = Fig::NotYetParsedPackage.new
365
366
  unparsed_package.descriptor = descriptor
366
- unparsed_package.working_directory = unparsed_package.base_directory =
367
+ unparsed_package.working_directory =
368
+ unparsed_package.include_file_base_directory =
367
369
  File.dirname(full_path)
368
370
  unparsed_package.source_description = full_path
369
371
  unparsed_package.unparsed_text = content
data/lib/fig/statement.rb CHANGED
@@ -47,7 +47,7 @@ class Fig::Statement
47
47
  return
48
48
  end
49
49
 
50
- def unparse_as_version(unparser)
50
+ def deparse_as_version(deparser)
51
51
  raise NotImplementedError.new self.class.name
52
52
  end
53
53
 
@@ -25,7 +25,7 @@ class Fig::Statement::Archive < Fig::Statement
25
25
  return standard_asset_name()
26
26
  end
27
27
 
28
- def unparse_as_version(unparser)
29
- return unparser.archive(self)
28
+ def deparse_as_version(deparser)
29
+ return deparser.archive(self)
30
30
  end
31
31
  end
@@ -26,8 +26,8 @@ class Fig::Statement::Command < Fig::Statement
26
26
  return 'command'
27
27
  end
28
28
 
29
- def unparse_as_version(unparser)
30
- return unparser.command(self)
29
+ def deparse_as_version(deparser)
30
+ return deparser.command(self)
31
31
  end
32
32
 
33
33
  def minimum_grammar_for_emitting_input()
@@ -41,12 +41,12 @@ class Fig::Statement::Configuration < Fig::Statement
41
41
  def walk_statements(&block)
42
42
  @statements.each do |statement|
43
43
  yield statement
44
- statement.walk_statements &block
44
+ statement.walk_statements(&block)
45
45
  end
46
46
  end
47
47
 
48
- def unparse_as_version(unparser)
49
- return unparser.configuration(self)
48
+ def deparse_as_version(deparser)
49
+ return deparser.configuration(self)
50
50
  end
51
51
 
52
52
  def minimum_grammar_for_emitting_input()
@@ -16,8 +16,8 @@ class Fig::Statement::GrammarVersion < Fig::Statement
16
16
  return 'grammar'
17
17
  end
18
18
 
19
- def unparse_as_version(unparser)
20
- return unparser.grammar_version(self)
19
+ def deparse_as_version(deparser)
20
+ return deparser.grammar_version(self)
21
21
  end
22
22
 
23
23
  def minimum_grammar_for_emitting_input()
@@ -75,8 +75,8 @@ class Fig::Statement::Include < Fig::Statement
75
75
  )
76
76
  end
77
77
 
78
- def unparse_as_version(unparser)
79
- return unparser.include(self)
78
+ def deparse_as_version(deparser)
79
+ return deparser.include(self)
80
80
  end
81
81
 
82
82
  def minimum_grammar_for_emitting_input()
@@ -113,7 +113,7 @@ class Fig::Statement::Include < Fig::Statement
113
113
 
114
114
  def minimum_grammar()
115
115
  if included_package
116
- raise 'Cannot unparse synthetic include statement with directly referenced package.'
116
+ raise 'Cannot deparse synthetic include statement with directly referenced package.'
117
117
  end
118
118
 
119
119
  return [0]
@@ -68,8 +68,8 @@ class Fig::Statement::IncludeFile < Fig::Statement
68
68
  return 'include-file'
69
69
  end
70
70
 
71
- def unparse_as_version(unparser)
72
- return unparser.include_file(self)
71
+ def deparse_as_version(deparser)
72
+ return deparser.include_file(self)
73
73
  end
74
74
 
75
75
  def minimum_grammar_for_emitting_input()
@@ -37,8 +37,8 @@ class Fig::Statement::Override < Fig::Statement
37
37
  return 'override'
38
38
  end
39
39
 
40
- def unparse_as_version(unparser)
41
- return unparser.override(self)
40
+ def deparse_as_version(deparser)
41
+ return deparser.override(self)
42
42
  end
43
43
 
44
44
  def minimum_grammar_for_emitting_input()
@@ -55,8 +55,8 @@ class Fig::Statement::Path < Fig::Statement
55
55
  return true
56
56
  end
57
57
 
58
- def unparse_as_version(unparser)
59
- return unparser.path(self)
58
+ def deparse_as_version(deparser)
59
+ return deparser.path(self)
60
60
  end
61
61
 
62
62
  private
@@ -32,7 +32,7 @@ class Fig::Statement::Resource < Fig::Statement
32
32
  return nil
33
33
  end
34
34
 
35
- def unparse_as_version(unparser)
36
- return unparser.resource(self)
35
+ def deparse_as_version(deparser)
36
+ return deparser.resource(self)
37
37
  end
38
38
  end
@@ -58,8 +58,8 @@ class Fig::Statement::Retrieve < Fig::Statement
58
58
  @referenced = yea_or_nay
59
59
  end
60
60
 
61
- def unparse_as_version(unparser)
62
- return unparser.retrieve(self)
61
+ def deparse_as_version(deparser)
62
+ return deparser.retrieve(self)
63
63
  end
64
64
 
65
65
  def minimum_grammar_for_emitting_input()
@@ -35,8 +35,8 @@ class Fig::Statement::Set < Fig::Statement
35
35
  return true
36
36
  end
37
37
 
38
- def unparse_as_version(unparser)
39
- return unparser.set(self)
38
+ def deparse_as_version(deparser)
39
+ return deparser.set(self)
40
40
  end
41
41
 
42
42
  private
@@ -16,8 +16,8 @@ class Fig::Statement::SyntheticRawText < Fig::Statement
16
16
  return nil
17
17
  end
18
18
 
19
- def unparse_as_version(unparser)
20
- return unparser.synthetic_raw_text(self)
19
+ def deparse_as_version(deparser)
20
+ return deparser.synthetic_raw_text(self)
21
21
  end
22
22
 
23
23
  def minimum_grammar_for_emitting_input()
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: 1.4.0
4
+ version: 1.5.0
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: 2013-03-18 00:00:00.000000000 Z
12
+ date: 2013-04-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colorize
16
- requirement: &22715240 !ruby/object:Gem::Requirement
16
+ requirement: &16892200 !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: *22715240
24
+ version_requirements: *16892200
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: highline
27
- requirement: &22714240 !ruby/object:Gem::Requirement
27
+ requirement: &16891640 !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: *22714240
35
+ version_requirements: *16891640
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &22713360 !ruby/object:Gem::Requirement
38
+ requirement: &16891140 !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: *22713360
46
+ version_requirements: *16891140
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: libarchive-static
49
- requirement: &22712400 !ruby/object:Gem::Requirement
49
+ requirement: &16890560 !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: *22712400
57
+ version_requirements: *16890560
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: log4r
60
- requirement: &22711660 !ruby/object:Gem::Requirement
60
+ requirement: &16890060 !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: *22711660
68
+ version_requirements: *16890060
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: net-netrc
71
- requirement: &22729260 !ruby/object:Gem::Requirement
71
+ requirement: &16889560 !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: *22729260
79
+ version_requirements: *16889560
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: net-sftp
82
- requirement: &22728800 !ruby/object:Gem::Requirement
82
+ requirement: &16889100 !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: *22728800
90
+ version_requirements: *16889100
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: net-ssh
93
- requirement: &22728280 !ruby/object:Gem::Requirement
93
+ requirement: &16888560 !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: *22728280
101
+ version_requirements: *16888560
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: open4
104
- requirement: &22727560 !ruby/object:Gem::Requirement
104
+ requirement: &16887700 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 1.0.1
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *22727560
112
+ version_requirements: *16887700
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rdoc
115
- requirement: &22726460 !ruby/object:Gem::Requirement
115
+ requirement: &16886940 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '3.12'
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *22726460
123
+ version_requirements: *16886940
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: sys-admin
126
- requirement: &22725320 !ruby/object:Gem::Requirement
126
+ requirement: &16885760 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 1.5.6
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *22725320
134
+ version_requirements: *16885760
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: treetop
137
- requirement: &22724620 !ruby/object:Gem::Requirement
137
+ requirement: &16955660 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 1.4.2
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *22724620
145
+ version_requirements: *16955660
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: bundler
148
- requirement: &22724120 !ruby/object:Gem::Requirement
148
+ requirement: &16955140 !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: *22724120
156
+ version_requirements: *16955140
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: rake
159
- requirement: &22723520 !ruby/object:Gem::Requirement
159
+ requirement: &16954540 !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: *22723520
167
+ version_requirements: *16954540
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: rspec
170
- requirement: &22723020 !ruby/object:Gem::Requirement
170
+ requirement: &16953620 !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: *22723020
178
+ version_requirements: *16953620
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: rspec-core
181
- requirement: &22722560 !ruby/object:Gem::Requirement
181
+ requirement: &16952940 !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: *22722560
189
+ version_requirements: *16952940
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: rspec-expectations
192
- requirement: &22722100 !ruby/object:Gem::Requirement
192
+ requirement: &16952300 !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: *22722100
200
+ version_requirements: *16952300
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: rspec-mocks
203
- requirement: &22721640 !ruby/object:Gem::Requirement
203
+ requirement: &16951820 !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: *22721640
211
+ version_requirements: *16951820
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: simplecov
214
- requirement: &22803380 !ruby/object:Gem::Requirement
214
+ requirement: &16951220 !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: *22803380
222
+ version_requirements: *16951220
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: simplecov-html
225
- requirement: &22802900 !ruby/object:Gem::Requirement
225
+ requirement: &16950680 !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: *22802900
233
+ version_requirements: *16950680
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
@@ -304,6 +304,11 @@ files:
304
304
  - lib/fig/command/package_applier.rb
305
305
  - lib/fig/command/package_loader.rb
306
306
  - lib/fig/config_file_error.rb
307
+ - lib/fig/deparser.rb
308
+ - lib/fig/deparser/v0.rb
309
+ - lib/fig/deparser/v1.rb
310
+ - lib/fig/deparser/v1_base.rb
311
+ - lib/fig/deparser/v2.rb
307
312
  - lib/fig/environment_variables.rb
308
313
  - lib/fig/environment_variables/case_insensitive.rb
309
314
  - lib/fig/environment_variables/case_sensitive.rb
@@ -364,11 +369,6 @@ files:
364
369
  - lib/fig/tokenized_string.rb
365
370
  - lib/fig/tokenized_string/plain_segment.rb
366
371
  - lib/fig/tokenized_string/token.rb
367
- - lib/fig/unparser.rb
368
- - lib/fig/unparser/v0.rb
369
- - lib/fig/unparser/v1.rb
370
- - lib/fig/unparser/v1_base.rb
371
- - lib/fig/unparser/v2.rb
372
372
  - lib/fig/update_lock.rb
373
373
  - lib/fig/url.rb
374
374
  - lib/fig/url_access_disallowed_error.rb