fig 1.9.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
data/Changes CHANGED
@@ -1,3 +1,20 @@
1
+ v1.10.0 - 2013/09/25
2
+
3
+ Bug fixes:
4
+
5
+ - Command statements were not being correctly published if they contained "@"
6
+ signs.
7
+
8
+ Miscellaneous:
9
+
10
+ - Resource statements that refer to directories will now pull in the full
11
+ directory contents instead of just the directory itself.
12
+
13
+ v1.9.1.beta.2 - 2013/09/20
14
+ v1.9.1.beta.1 - 2013/09/19
15
+
16
+ - Test releases.
17
+
1
18
  v1.9.0 - 2013/09/19
2
19
 
3
20
  Bug fixes:
data/lib/fig.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fig
2
- VERSION = '1.9.0'
2
+ VERSION = '1.10.0'
3
3
  end
@@ -180,26 +180,14 @@ class Fig::OperatingSystem
180
180
  Dir.chdir(directory) { FileUtils.mv(from, to, :force => true) }
181
181
  end
182
182
 
183
- # Expects files_to_archive as an Array of filenames.
184
- def create_archive(archive_name, files_to_archive)
183
+ # Expects paths_to_archive as an Array of paths.
184
+ def create_archive(archive_name, paths_to_archive)
185
185
  # TODO: Need to verify files_to_archive exists.
186
186
  ::Archive.write_open_filename(
187
187
  archive_name, ::Archive::COMPRESSION_GZIP, ::Archive::FORMAT_TAR
188
188
  ) do |writer|
189
- files_to_archive.each do |file_name|
190
- writer.new_entry do |entry|
191
- entry.copy_lstat(file_name)
192
- entry.pathname = file_name
193
- if entry.symbolic_link?
194
- linked = File.readlink(file_name)
195
- entry.symlink = linked
196
- end
197
- writer.write_header(entry)
198
-
199
- if entry.regular?
200
- writer.write_data(open(file_name) {|f| f.binmode; f.read })
201
- end
202
- end
189
+ paths_to_archive.each do |path|
190
+ add_path_to_archive(path, writer)
203
191
  end
204
192
  end
205
193
  end
@@ -284,6 +272,32 @@ class Fig::OperatingSystem
284
272
  return protocol, uri
285
273
  end
286
274
 
275
+ def add_path_to_archive(path, archive_writer)
276
+ children = []
277
+ archive_writer.new_entry do |entry|
278
+ entry.copy_lstat(path)
279
+ entry.pathname = path
280
+ if entry.symbolic_link?
281
+ linked = File.readlink(path)
282
+ entry.symlink = linked
283
+ end
284
+ archive_writer.write_header(entry)
285
+
286
+ if entry.regular?
287
+ archive_writer.write_data(open(path) {|f| f.binmode; f.read })
288
+ elsif entry.directory?
289
+ children = Dir.entries(path) - ['.', '..']
290
+ end
291
+ end
292
+
293
+ children.each do
294
+ |child|
295
+ add_path_to_archive(File.join(path, child), archive_writer)
296
+ end
297
+
298
+ return
299
+ end
300
+
287
301
  def check_archive_entry_for_windows(entry, archive_path)
288
302
  bad_type = nil
289
303
  if entry.symbolic_link?
@@ -521,7 +521,7 @@ class Fig::RuntimeEnvironment
521
521
  return argument.to_expanded_string() do
522
522
  |token|
523
523
 
524
- package_name = token.raw_value
524
+ package_name = token.raw_value[1..-1]
525
525
  package = nil
526
526
  if package_name.empty?
527
527
  package = starting_package
@@ -7,7 +7,6 @@ module Fig; end
7
7
  class Fig::Statement::Command < Fig::Statement
8
8
  attr_reader :command
9
9
 
10
-
11
10
  def self.validate_and_process_escapes_in_argument(
12
11
  command_line_argument, &block
13
12
  )
@@ -67,7 +66,7 @@ class Fig::Statement::Command < Fig::Statement
67
66
  lambda {
68
67
  |subexpression, error_block|
69
68
 
70
- Fig::TokenizedString::Token.new :package_path, subexpression[1..-1]
69
+ Fig::TokenizedString::Token.new :package_path, subexpression
71
70
  }
72
71
  }
73
72
  ]
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.9.0
4
+ version: 1.10.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-09-19 00:00:00.000000000 Z
12
+ date: 2013-09-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colorize
16
- requirement: &18877160 !ruby/object:Gem::Requirement
16
+ requirement: &18966000 !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: *18877160
24
+ version_requirements: *18966000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: highline
27
- requirement: &18876700 !ruby/object:Gem::Requirement
27
+ requirement: &18965540 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.6.19
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *18876700
35
+ version_requirements: *18965540
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &18876240 !ruby/object:Gem::Requirement
38
+ requirement: &18965080 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '1.8'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *18876240
46
+ version_requirements: *18965080
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: libarchive-static
49
- requirement: &18875780 !ruby/object:Gem::Requirement
49
+ requirement: &18964620 !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: *18875780
57
+ version_requirements: *18964620
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: log4r
60
- requirement: &18875320 !ruby/object:Gem::Requirement
60
+ requirement: &18964160 !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: *18875320
68
+ version_requirements: *18964160
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: net-netrc
71
- requirement: &18874860 !ruby/object:Gem::Requirement
71
+ requirement: &18963700 !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: *18874860
79
+ version_requirements: *18963700
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: net-sftp
82
- requirement: &18874400 !ruby/object:Gem::Requirement
82
+ requirement: &18963240 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 2.1.2
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *18874400
90
+ version_requirements: *18963240
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: net-ssh
93
- requirement: &18873940 !ruby/object:Gem::Requirement
93
+ requirement: &18962780 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 2.6.7
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *18873940
101
+ version_requirements: *18962780
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: open4
104
- requirement: &18873480 !ruby/object:Gem::Requirement
104
+ requirement: &18962320 !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: *18873480
112
+ version_requirements: *18962320
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rdoc
115
- requirement: &18873020 !ruby/object:Gem::Requirement
115
+ requirement: &18961860 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '4'
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *18873020
123
+ version_requirements: *18961860
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: treetop
126
- requirement: &18872560 !ruby/object:Gem::Requirement
126
+ requirement: &18961400 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 1.4.14
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *18872560
134
+ version_requirements: *18961400
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: bundler
137
- requirement: &18872100 !ruby/object:Gem::Requirement
137
+ requirement: &18960940 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 1.0.15
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *18872100
145
+ version_requirements: *18960940
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: rake
148
- requirement: &18871640 !ruby/object:Gem::Requirement
148
+ requirement: &18960480 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: 0.8.7
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *18871640
156
+ version_requirements: *18960480
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: rspec
159
- requirement: &18871180 !ruby/object:Gem::Requirement
159
+ requirement: &18960020 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ~>
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: '2'
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *18871180
167
+ version_requirements: *18960020
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: simplecov
170
- requirement: &18870720 !ruby/object:Gem::Requirement
170
+ requirement: &19001480 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: 0.6.2
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *18870720
178
+ version_requirements: *19001480
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: simplecov-html
181
- requirement: &18904140 !ruby/object:Gem::Requirement
181
+ requirement: &19001020 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ! '>='
@@ -186,7 +186,7 @@ dependencies:
186
186
  version: 0.5.3
187
187
  type: :development
188
188
  prerelease: false
189
- version_requirements: *18904140
189
+ version_requirements: *19001020
190
190
  description: Fig is a utility for configuring environments and managing dependencies
191
191
  across a team of developers. Given a list of packages and a command to run, Fig
192
192
  builds environment variables named in those packages (e.g., CLASSPATH), then executes
@@ -271,12 +271,19 @@ files:
271
271
  - lib/fig/external_program.rb
272
272
  - lib/fig/figrc.rb
273
273
  - lib/fig/file_not_found_error.rb
274
+ - lib/fig/grammar/base.rb
274
275
  - lib/fig/grammar/base.treetop
276
+ - lib/fig/grammar/v0.rb
275
277
  - lib/fig/grammar/v0.treetop
278
+ - lib/fig/grammar/v1.rb
276
279
  - lib/fig/grammar/v1.treetop
280
+ - lib/fig/grammar/v1_base.rb
277
281
  - lib/fig/grammar/v1_base.treetop
282
+ - lib/fig/grammar/v2.rb
278
283
  - lib/fig/grammar/v2.treetop
284
+ - lib/fig/grammar/version.rb
279
285
  - lib/fig/grammar/version.treetop
286
+ - lib/fig/grammar/version_identification.rb
280
287
  - lib/fig/grammar/version_identification.treetop
281
288
  - lib/fig/grammar_monkey_patches.rb
282
289
  - lib/fig/include_backtrace.rb
@@ -333,13 +340,6 @@ files:
333
340
  - lib/fig/working_directory_metadata.rb
334
341
  - LICENSE
335
342
  - README.md
336
- - lib/fig/grammar/base.rb
337
- - lib/fig/grammar/v0.rb
338
- - lib/fig/grammar/v1.rb
339
- - lib/fig/grammar/v1_base.rb
340
- - lib/fig/grammar/v2.rb
341
- - lib/fig/grammar/version.rb
342
- - lib/fig/grammar/version_identification.rb
343
343
  homepage: http://github.com/mfoemmel/fig
344
344
  licenses: []
345
345
  post_install_message: