fig 1.27.0 → 1.27.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/BUGS.md +1 -0
- data/Changes +42 -6
- data/README.md +8 -13
- data/lib/fig.rb +1 -1
- data/lib/fig/command/action/source_package.rb +16 -2
- data/lib/fig/operating_system.rb +1 -1
- data/lib/fig/package.rb +2 -0
- data/lib/fig/repository_package_publisher.rb +19 -0
- data/lib/fig/runtime_environment.rb +1 -1
- data/lib/fig/working_directory_maintainer.rb +33 -16
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2340ed4733d60d36f09564178f935b9055a2bd4
|
4
|
+
data.tar.gz: 026e1aa63920ab41ea4a88875ce5650b28c81569
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3eacf1f335d744178e6a9ca9ef36c02d291a5f1d53392c5d56340c857c4c61513e6ef6c1807022f17fc216ff0aae5e6283ff8982f6feb62138fafe3f56f94d19
|
7
|
+
data.tar.gz: 1268b9a35c94ca0d337ef019a6f07d670587e12db4f1a95c03c94fff68588a537bc7ee28864632df817d8f77b0314db6036db08507e34bd73d1c01f9a8c02b97
|
data/BUGS.md
CHANGED
@@ -5,4 +5,5 @@
|
|
5
5
|
value of `FIG_REMOTE_URL` into account, meaning that, if you switch
|
6
6
|
`FIG_REMOTE_URL` without also switching `FIG_HOME`, "fun" things can happen.
|
7
7
|
- URLs with query parameters or involve redirects are untested.
|
8
|
+
- NetRC is looked for as ".netrc" and not "\_netrc".
|
8
9
|
- Repository locking doesn't happen on Windows.
|
data/Changes
CHANGED
@@ -1,3 +1,37 @@
|
|
1
|
+
v1.27.3 - 2018/5/16
|
2
|
+
|
3
|
+
Bug fixes:
|
4
|
+
|
5
|
+
- Fix crash when attempting to use --source-package without also specifying
|
6
|
+
--update or --update-if-missing. Thanks to Matt Godbolt for the report.
|
7
|
+
- Fix for publishing from Windows; _stat() chokes on directories when the
|
8
|
+
path contains a trailing slash. Patch by Andrey Zdanovich.
|
9
|
+
- Fix for warning message emitted when a retrieve path gets changed. Patch
|
10
|
+
by Gabriel Burca.
|
11
|
+
|
12
|
+
Miscellaneous:
|
13
|
+
|
14
|
+
- Line number is included in error messages when parsing local metadata.
|
15
|
+
- Home of all things Fig moved to https://github.com/fig-package-manager/fig.
|
16
|
+
|
17
|
+
v1.27.2 - 2016/10/20
|
18
|
+
|
19
|
+
Miscellaneous:
|
20
|
+
|
21
|
+
- Log when a retrieval is removing a symlink or overwriting a file.
|
22
|
+
- Include publishing operating system in package metadata.
|
23
|
+
|
24
|
+
v1.27.1 - 2016/7/19
|
25
|
+
|
26
|
+
Bug fixes:
|
27
|
+
|
28
|
+
- Fixed comparison of packages due to changes in Ruby v2.3.x.
|
29
|
+
|
30
|
+
Miscellaneous:
|
31
|
+
|
32
|
+
- JSON and RDoc version requirements bumped to values compatible with Ruby
|
33
|
+
v2.3.1.
|
34
|
+
|
1
35
|
v1.27.0 - 2015/7/9
|
2
36
|
|
3
37
|
Bug fixes:
|
@@ -110,8 +144,9 @@ v1.23.0 - 2015/1/2
|
|
110
144
|
- Upgraded dependencies.
|
111
145
|
- A rudimentary Vim plugin has been added to the repository with syntax
|
112
146
|
highlighting of comments and keywords. See
|
113
|
-
https://github.com/
|
114
|
-
Those with better VimL knowledge encouraged to submit
|
147
|
+
https://github.com/fig-package-manager/fig/blob/master/support/vim/README.md
|
148
|
+
for more. Those with better VimL knowledge encouraged to submit
|
149
|
+
improvements.
|
115
150
|
|
116
151
|
v1.22.1.beta.1 - 2014/12/17
|
117
152
|
|
@@ -764,9 +799,9 @@ v0.2.1 - 2012/11/5
|
|
764
799
|
Grammar v1 is required because the set statement (--set option) contains a comment ("#") character.
|
765
800
|
|
766
801
|
Documentation for the new grammar is available at
|
767
|
-
https://github.com/
|
768
|
-
a look at the old one, as well:
|
769
|
-
https://github.com/
|
802
|
+
https://github.com/fig-package-manager/fig/wiki/v1-grammar. It may be
|
803
|
+
helpful to have a look at the old one, as well:
|
804
|
+
https://github.com/fig-package-manager/fig/wiki/v0-grammar
|
770
805
|
|
771
806
|
Miscellaneous:
|
772
807
|
|
@@ -1270,7 +1305,8 @@ v0.1.64 - 2012/5/21
|
|
1270
1305
|
messages and fewer stack traces.
|
1271
1306
|
|
1272
1307
|
- README.md has had most of its content ripped out. Documentation has been
|
1273
|
-
greatly expanded and is available at
|
1308
|
+
greatly expanded and is available at
|
1309
|
+
https://github.com/fig-package-manager/fig/wiki.
|
1274
1310
|
|
1275
1311
|
- Includes the Fig version in the comments in published .fig files.
|
1276
1312
|
|
data/README.md
CHANGED
@@ -1,10 +1,9 @@
|
|
1
|
-
Description
|
2
|
-
===========
|
1
|
+
# Description
|
3
2
|
|
4
3
|
Fig is a utility for configuring environments and managing dependencies across
|
5
4
|
a team of developers.
|
6
5
|
|
7
|
-
An "environment" in
|
6
|
+
An "environment" in Fig is a set of environment variables. A "package" is a
|
8
7
|
collection of files, along with some metadata describing which environment
|
9
8
|
variables should be modified when the package is included. For instance, each
|
10
9
|
dependency may prepend its corresponding jar to CLASSPATH. The metadata may
|
@@ -27,25 +26,21 @@ install them in the fig-home as needed. Fig does not contact the remote
|
|
27
26
|
repository unless it needs to. The default fig-home is `$HOME/.fighome`, but
|
28
27
|
may be changed by setting the `$FIG_HOME` environment variable.
|
29
28
|
|
30
|
-
Full documentation
|
31
|
-
==================
|
29
|
+
# Full documentation
|
32
30
|
|
33
|
-
https://github.com/
|
31
|
+
https://github.com/fig-package-manager/fig/wiki
|
34
32
|
|
35
|
-
Community
|
36
|
-
=========
|
33
|
+
# Community
|
37
34
|
|
38
35
|
\#fig on irc.freenode.net
|
39
36
|
|
40
37
|
[Fig Mailing List](http://groups.google.com/group/fig-user)
|
41
38
|
|
42
|
-
Extensions for other tools
|
43
|
-
==========================
|
39
|
+
# Extensions for other tools
|
44
40
|
|
45
41
|
These live in the `support` directory within the repository. For example,
|
46
42
|
there's a Vim plugin in `support/vim`.
|
47
43
|
|
48
|
-
Copyright
|
49
|
-
=========
|
44
|
+
# Copyright
|
50
45
|
|
51
|
-
Copyright
|
46
|
+
Copyright ©2009-2018 Matthew Foemmel. See LICENSE for details.
|
data/lib/fig.rb
CHANGED
@@ -49,14 +49,28 @@ class Fig::Command::Action::SourcePackage
|
|
49
49
|
return EXIT_FAILURE
|
50
50
|
end
|
51
51
|
if File.directory? @file
|
52
|
-
$stderr.puts
|
52
|
+
$stderr.puts(
|
53
|
+
%Q<"#{@file}" is a directory. Fig does not keep track of directories.>
|
54
|
+
)
|
55
|
+
|
53
56
|
return EXIT_FAILURE
|
54
57
|
end
|
55
58
|
|
56
59
|
maintainer = @execution_context.working_directory_maintainer
|
60
|
+
if not maintainer
|
61
|
+
$stderr.puts(
|
62
|
+
%Q<Cannot answer what source packages are because retrieves are not active. Try again, but additionally specify --update or --update-if-missing.>
|
63
|
+
)
|
64
|
+
|
65
|
+
return EXIT_FAILURE
|
66
|
+
end
|
67
|
+
|
57
68
|
package_version = maintainer.find_package_version_for_file @file
|
58
69
|
if ! package_version
|
59
|
-
$stderr.puts
|
70
|
+
$stderr.puts(
|
71
|
+
%Q<Don't know anything about "#{@file}". It is not in the list of files that resulted from a "retrieve".>
|
72
|
+
)
|
73
|
+
|
60
74
|
return EXIT_FAILURE
|
61
75
|
end
|
62
76
|
|
data/lib/fig/operating_system.rb
CHANGED
@@ -279,7 +279,7 @@ class Fig::OperatingSystem
|
|
279
279
|
def add_path_to_archive(path, archive_writer)
|
280
280
|
children = []
|
281
281
|
archive_writer.new_entry do |entry|
|
282
|
-
entry.copy_lstat(path)
|
282
|
+
entry.copy_lstat(path.chomp '/') # chomp required on Windows
|
283
283
|
entry.pathname = path
|
284
284
|
if entry.symbolic_link?
|
285
285
|
linked = File.readlink(path)
|
data/lib/fig/package.rb
CHANGED
@@ -152,6 +152,7 @@ class Fig::RepositoryPackagePublisher
|
|
152
152
|
|
153
153
|
@text_assembler.add_header %Q<# User: #{@publish_login}>
|
154
154
|
@text_assembler.add_header %Q<# Host: #{@publish_host}>
|
155
|
+
@text_assembler.add_header %Q<# O/S: #{derive_platform_description}>
|
155
156
|
|
156
157
|
sanitized_argv = ARGV.map {|arg| arg.gsub "\n", '\\n'}
|
157
158
|
@text_assembler.add_header %Q<# Args: "#{sanitized_argv.join %q[", "]}">
|
@@ -203,6 +204,24 @@ class Fig::RepositoryPackagePublisher
|
|
203
204
|
return
|
204
205
|
end
|
205
206
|
|
207
|
+
def derive_platform_description
|
208
|
+
host_os = RbConfig::CONFIG['host_os']
|
209
|
+
|
210
|
+
return host_os if host_os !~ /linux|darwin/i
|
211
|
+
|
212
|
+
if host_os =~ /darwin/i
|
213
|
+
product_name = %x/sw_vers -productName/
|
214
|
+
product_version = %x/sw_vers -productVersion/
|
215
|
+
return product_name.strip + ' ' + product_version.strip
|
216
|
+
end
|
217
|
+
|
218
|
+
linux_distribution = %x/lsb_release --description --short/
|
219
|
+
linux_distribution.chomp!
|
220
|
+
linux_distribution.gsub!(/\A " (.*) " \z/x, '\1')
|
221
|
+
|
222
|
+
return linux_distribution
|
223
|
+
end
|
224
|
+
|
206
225
|
def add_environment_variables_to_package_metadata()
|
207
226
|
variables = @application_configuration[
|
208
227
|
'environment variables to include in comments in published packages'
|
@@ -58,7 +58,7 @@ class Fig::RuntimeEnvironment
|
|
58
58
|
name = retrieve_statement.variable
|
59
59
|
if @retrieves.has_key?(name)
|
60
60
|
Fig::Logging.warn \
|
61
|
-
%
|
61
|
+
%Q<About to overwrite "#{name}" retrieve path of "#{@retrieves[name].path}" with "#{retrieve_statement.path}".>
|
62
62
|
end
|
63
63
|
|
64
64
|
@retrieves[name] = retrieve_statement
|
@@ -107,25 +107,36 @@ class Fig::WorkingDirectoryMaintainer
|
|
107
107
|
private
|
108
108
|
|
109
109
|
def load_metadata()
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
if
|
119
|
-
|
120
|
-
|
110
|
+
file = nil
|
111
|
+
|
112
|
+
begin
|
113
|
+
file = File.open(@metadata_file)
|
114
|
+
file.each_line do
|
115
|
+
|line|
|
116
|
+
|
117
|
+
line.strip!()
|
118
|
+
if line =~ /^(.+)=(.+)\/(.+)$/
|
119
|
+
target = $1
|
120
|
+
package_name = $2
|
121
|
+
package_version = $3
|
122
|
+
|
123
|
+
package_meta = @package_metadata_by_name[package_name]
|
124
|
+
if package_meta
|
125
|
+
if package_meta.current_version != package_version
|
126
|
+
raise "Version mismatch for #{package_meta.package_name} in #{@metadata_file}."
|
127
|
+
end
|
128
|
+
else
|
129
|
+
package_meta =
|
130
|
+
reset_package_metadata_with_version(package_name, package_version)
|
121
131
|
end
|
132
|
+
package_meta.add_file(target)
|
122
133
|
else
|
123
|
-
|
124
|
-
reset_package_metadata_with_version(package_name, package_version)
|
134
|
+
raise "parse error in #{@metadata_file}:#{file.lineno}: #{line}"
|
125
135
|
end
|
126
|
-
|
127
|
-
|
128
|
-
|
136
|
+
end
|
137
|
+
ensure
|
138
|
+
if not file.nil?
|
139
|
+
file.close
|
129
140
|
end
|
130
141
|
end
|
131
142
|
|
@@ -210,6 +221,10 @@ class Fig::WorkingDirectoryMaintainer
|
|
210
221
|
# preserve.
|
211
222
|
preserve = File.exist?(source) && ! File.symlink?(source)
|
212
223
|
|
224
|
+
if File.exist?(target)
|
225
|
+
Fig::Logging.info("Overwriting #{target}.")
|
226
|
+
end
|
227
|
+
|
213
228
|
FileUtils.copy_entry(
|
214
229
|
source, target, preserve, false, :remove_destination
|
215
230
|
)
|
@@ -229,7 +244,9 @@ class Fig::WorkingDirectoryMaintainer
|
|
229
244
|
return false
|
230
245
|
end
|
231
246
|
|
247
|
+
Fig::Logging.info("Removing symbolic link #{target}.")
|
232
248
|
FileUtils.rm(target)
|
249
|
+
|
233
250
|
return true
|
234
251
|
end
|
235
252
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.27.
|
4
|
+
version: 1.27.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Foemmel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -390,7 +390,7 @@ files:
|
|
390
390
|
- lib/fig/user_input_error.rb
|
391
391
|
- lib/fig/working_directory_maintainer.rb
|
392
392
|
- lib/fig/working_directory_metadata.rb
|
393
|
-
homepage: http://github.com/
|
393
|
+
homepage: http://github.com/fig-package-manager/fig
|
394
394
|
licenses:
|
395
395
|
- BSD
|
396
396
|
metadata: {}
|
@@ -410,7 +410,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
410
410
|
version: '0'
|
411
411
|
requirements: []
|
412
412
|
rubyforge_project:
|
413
|
-
rubygems_version: 2.
|
413
|
+
rubygems_version: 2.5.1
|
414
414
|
signing_key:
|
415
415
|
specification_version: 4
|
416
416
|
summary: Fig is a utility for configuring environments and managing dependencies across
|