fig 1.27.0 → 1.27.3
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.
- 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
|