fig 1.23.0 → 1.23.1.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/Changes +14 -0
  3. data/bin/fig +76 -14
  4. data/bin/fig-debug +76 -14
  5. data/bin/fig.bat +3 -1
  6. data/lib/fig.rb +3 -1
  7. data/lib/fig/application_configuration.rb +2 -0
  8. data/lib/fig/at_exit.rb +2 -0
  9. data/lib/fig/command.rb +2 -0
  10. data/lib/fig/command/action.rb +2 -0
  11. data/lib/fig/command/action/clean.rb +2 -0
  12. data/lib/fig/command/action/dump_package_definition_for_command_line.rb +2 -0
  13. data/lib/fig/command/action/dump_package_definition_parsed.rb +2 -0
  14. data/lib/fig/command/action/dump_package_definition_text.rb +2 -0
  15. data/lib/fig/command/action/get.rb +2 -0
  16. data/lib/fig/command/action/help.rb +2 -0
  17. data/lib/fig/command/action/help_long.rb +2 -0
  18. data/lib/fig/command/action/list_configs.rb +2 -0
  19. data/lib/fig/command/action/list_dependencies.rb +2 -0
  20. data/lib/fig/command/action/list_dependencies/all_configs.rb +2 -0
  21. data/lib/fig/command/action/list_dependencies/default.rb +2 -0
  22. data/lib/fig/command/action/list_dependencies/graphviz.rb +2 -0
  23. data/lib/fig/command/action/list_dependencies/graphviz_all_configs.rb +2 -0
  24. data/lib/fig/command/action/list_dependencies/tree.rb +2 -0
  25. data/lib/fig/command/action/list_dependencies/tree_all_configs.rb +2 -0
  26. data/lib/fig/command/action/list_local.rb +2 -0
  27. data/lib/fig/command/action/list_remote.rb +2 -0
  28. data/lib/fig/command/action/list_variables.rb +2 -0
  29. data/lib/fig/command/action/list_variables/all_configs.rb +2 -0
  30. data/lib/fig/command/action/list_variables/default.rb +2 -0
  31. data/lib/fig/command/action/list_variables/graphviz.rb +2 -0
  32. data/lib/fig/command/action/list_variables/graphviz_all_configs.rb +2 -0
  33. data/lib/fig/command/action/list_variables/tree.rb +2 -0
  34. data/lib/fig/command/action/list_variables/tree_all_configs.rb +2 -0
  35. data/lib/fig/command/action/options.rb +2 -0
  36. data/lib/fig/command/action/publish.rb +2 -0
  37. data/lib/fig/command/action/publish_local.rb +2 -0
  38. data/lib/fig/command/action/role/has_no_sub_action.rb +2 -0
  39. data/lib/fig/command/action/role/has_sub_action.rb +2 -0
  40. data/lib/fig/command/action/role/list_all_configs.rb +2 -0
  41. data/lib/fig/command/action/role/list_as_graphviz.rb +2 -0
  42. data/lib/fig/command/action/role/list_base_config.rb +2 -0
  43. data/lib/fig/command/action/role/list_dependencies_as_graphviz.rb +2 -0
  44. data/lib/fig/command/action/role/list_dependencies_flat.rb +2 -0
  45. data/lib/fig/command/action/role/list_dependencies_in_a_tree.rb +2 -0
  46. data/lib/fig/command/action/role/list_variables_as_graphviz.rb +2 -0
  47. data/lib/fig/command/action/role/list_variables_in_a_tree.rb +2 -0
  48. data/lib/fig/command/action/role/list_walking_dependency_tree.rb +2 -0
  49. data/lib/fig/command/action/role/publish.rb +2 -0
  50. data/lib/fig/command/action/role/update.rb +2 -0
  51. data/lib/fig/command/action/run_command_line.rb +2 -0
  52. data/lib/fig/command/action/run_command_statement.rb +2 -0
  53. data/lib/fig/command/action/source_package.rb +2 -0
  54. data/lib/fig/command/action/update.rb +2 -0
  55. data/lib/fig/command/action/update_if_missing.rb +2 -0
  56. data/lib/fig/command/action/version.rb +3 -1
  57. data/lib/fig/command/action/version_plain.rb +2 -0
  58. data/lib/fig/command/coverage_support.rb +2 -0
  59. data/lib/fig/command/initialization.rb +21 -0
  60. data/lib/fig/command/option_error.rb +2 -0
  61. data/lib/fig/command/options.rb +17 -0
  62. data/lib/fig/command/options/parser.rb +2 -0
  63. data/lib/fig/command/package_applier.rb +2 -0
  64. data/lib/fig/command/package_loader.rb +2 -0
  65. data/lib/fig/config_file_error.rb +2 -0
  66. data/lib/fig/deparser.rb +2 -0
  67. data/lib/fig/deparser/v0.rb +2 -0
  68. data/lib/fig/deparser/v1.rb +2 -0
  69. data/lib/fig/deparser/v1_base.rb +2 -0
  70. data/lib/fig/deparser/v2.rb +2 -0
  71. data/lib/fig/environment_variables.rb +2 -0
  72. data/lib/fig/environment_variables/case_insensitive.rb +2 -0
  73. data/lib/fig/environment_variables/case_sensitive.rb +2 -0
  74. data/lib/fig/external_program.rb +64 -25
  75. data/lib/fig/figrc.rb +2 -0
  76. data/lib/fig/file_not_found_error.rb +2 -0
  77. data/lib/fig/grammar/base.rb +3 -1
  78. data/lib/fig/grammar/base.treetop +2 -0
  79. data/lib/fig/grammar/v0.rb +3 -1
  80. data/lib/fig/grammar/v0.treetop +2 -0
  81. data/lib/fig/grammar/v1.rb +3 -1
  82. data/lib/fig/grammar/v1.treetop +2 -0
  83. data/lib/fig/grammar/v1_base.rb +3 -1
  84. data/lib/fig/grammar/v1_base.treetop +2 -0
  85. data/lib/fig/grammar/v2.rb +3 -1
  86. data/lib/fig/grammar/v2.treetop +2 -0
  87. data/lib/fig/grammar/version.rb +3 -1
  88. data/lib/fig/grammar/version.treetop +2 -0
  89. data/lib/fig/grammar/version_identification.rb +3 -1
  90. data/lib/fig/grammar/version_identification.treetop +2 -0
  91. data/lib/fig/grammar_monkey_patches.rb +2 -0
  92. data/lib/fig/include_backtrace.rb +2 -0
  93. data/lib/fig/log4r/outputter.rb +2 -0
  94. data/lib/fig/log4r_config_error.rb +2 -0
  95. data/lib/fig/logging.rb +2 -0
  96. data/lib/fig/logging/colorizable.rb +2 -0
  97. data/lib/fig/network_error.rb +2 -0
  98. data/lib/fig/no_such_package_config_error.rb +2 -0
  99. data/lib/fig/not_yet_parsed_package.rb +2 -0
  100. data/lib/fig/operating_system.rb +2 -0
  101. data/lib/fig/package.rb +2 -0
  102. data/lib/fig/package_cache.rb +2 -0
  103. data/lib/fig/package_definition_text_assembler.rb +2 -0
  104. data/lib/fig/package_descriptor.rb +2 -0
  105. data/lib/fig/package_descriptor_parse_error.rb +2 -0
  106. data/lib/fig/package_parse_error.rb +2 -0
  107. data/lib/fig/parser.rb +2 -0
  108. data/lib/fig/parser_package_build_state.rb +2 -0
  109. data/lib/fig/protocol.rb +2 -0
  110. data/lib/fig/protocol/file.rb +2 -0
  111. data/lib/fig/protocol/ftp.rb +2 -0
  112. data/lib/fig/protocol/http.rb +2 -0
  113. data/lib/fig/protocol/netrc_enabled.rb +2 -0
  114. data/lib/fig/protocol/sftp.rb +2 -0
  115. data/lib/fig/protocol/ssh.rb +2 -0
  116. data/lib/fig/repository.rb +2 -0
  117. data/lib/fig/repository_error.rb +2 -0
  118. data/lib/fig/repository_package_publisher.rb +31 -5
  119. data/lib/fig/runtime_environment.rb +2 -0
  120. data/lib/fig/statement/archive.rb +2 -0
  121. data/lib/fig/statement/asset.rb +2 -0
  122. data/lib/fig/statement/command.rb +2 -0
  123. data/lib/fig/statement/configuration.rb +2 -0
  124. data/lib/fig/statement/environment_variable.rb +2 -0
  125. data/lib/fig/statement/grammar_version.rb +2 -0
  126. data/lib/fig/statement/include.rb +2 -0
  127. data/lib/fig/statement/include_file.rb +2 -0
  128. data/lib/fig/statement/override.rb +2 -0
  129. data/lib/fig/statement/path.rb +2 -0
  130. data/lib/fig/statement/resource.rb +2 -0
  131. data/lib/fig/statement/retrieve.rb +2 -0
  132. data/lib/fig/statement/set.rb +2 -0
  133. data/lib/fig/statement/synthetic_raw_text.rb +2 -0
  134. data/lib/fig/tokenized_string.rb +2 -0
  135. data/lib/fig/tokenized_string/plain_segment.rb +2 -0
  136. data/lib/fig/tokenized_string/token.rb +2 -0
  137. data/lib/fig/update_lock.rb +2 -0
  138. data/lib/fig/url.rb +2 -0
  139. data/lib/fig/url_access_disallowed_error.rb +2 -0
  140. data/lib/fig/user_input_error.rb +2 -0
  141. data/lib/fig/working_directory_maintainer.rb +2 -0
  142. data/lib/fig/working_directory_metadata.rb +2 -0
  143. metadata +5 -18
data/lib/fig/figrc.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'json'
2
4
 
3
5
  require 'fig/application_configuration'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  module Fig
2
4
  # A (possibly remote) file that was looked for was not found. This may or
3
5
  # may not actually be a problem; i.e. this may be the result of an existence
@@ -1,8 +1,10 @@
1
- # Treetop (http://treetop.rubyforge.org/) grammar for common definitions.
1
+ # coding: utf-8
2
2
  # Autogenerated from a Treetop grammar. Edits may be lost.
3
3
 
4
4
 
5
5
 
6
+ # Treetop (http://treetop.rubyforge.org/) grammar for common definitions.
7
+
6
8
  require 'treetop'
7
9
 
8
10
  module Fig
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  # Treetop (http://treetop.rubyforge.org/) grammar for common definitions.
2
4
 
3
5
  require 'treetop'
@@ -1,7 +1,9 @@
1
- # Treetop (http://treetop.rubyforge.org/) grammar for package definitions from
1
+ # coding: utf-8
2
2
  # Autogenerated from a Treetop grammar. Edits may be lost.
3
3
 
4
4
 
5
+
6
+ # Treetop (http://treetop.rubyforge.org/) grammar for package definitions from
5
7
  # the early days.
6
8
 
7
9
  # Some aspects of this grammar are significantly dumber than they could be
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  # Treetop (http://treetop.rubyforge.org/) grammar for package definitions from
2
4
  # the early days.
3
5
 
@@ -1,7 +1,9 @@
1
- # Treetop (http://treetop.rubyforge.org/) grammar for package definitions in v1
1
+ # coding: utf-8
2
2
  # Autogenerated from a Treetop grammar. Edits may be lost.
3
3
 
4
4
 
5
+
6
+ # Treetop (http://treetop.rubyforge.org/) grammar for package definitions in v1
5
7
  # format.
6
8
 
7
9
  require 'treetop'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  # Treetop (http://treetop.rubyforge.org/) grammar for package definitions in v1
2
4
  # format.
3
5
 
@@ -1,7 +1,9 @@
1
- # Reusable parts of Treetop (http://treetop.rubyforge.org/) grammar for package
1
+ # coding: utf-8
2
2
  # Autogenerated from a Treetop grammar. Edits may be lost.
3
3
 
4
4
 
5
+
6
+ # Reusable parts of Treetop (http://treetop.rubyforge.org/) grammar for package
5
7
  # definitions in v1 format.
6
8
 
7
9
  # Some aspects of this grammar are significantly dumber than they could be
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  # Reusable parts of Treetop (http://treetop.rubyforge.org/) grammar for package
2
4
  # definitions in v1 format.
3
5
 
@@ -1,7 +1,9 @@
1
- # Treetop (http://treetop.rubyforge.org/) grammar for package definitions in v2
1
+ # coding: utf-8
2
2
  # Autogenerated from a Treetop grammar. Edits may be lost.
3
3
 
4
4
 
5
+
6
+ # Treetop (http://treetop.rubyforge.org/) grammar for package definitions in v2
5
7
  # format.
6
8
 
7
9
  require 'treetop'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  # Treetop (http://treetop.rubyforge.org/) grammar for package definitions in v2
2
4
  # format.
3
5
 
@@ -1,7 +1,9 @@
1
- # Treetop (http://treetop.rubyforge.org/) grammar for statement for declaring
1
+ # coding: utf-8
2
2
  # Autogenerated from a Treetop grammar. Edits may be lost.
3
3
 
4
4
 
5
+
6
+ # Treetop (http://treetop.rubyforge.org/) grammar for statement for declaring
5
7
  # package definition versions.
6
8
  #
7
9
  # Needs to be mixed in with Fig::Grammar::Base.
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  # Treetop (http://treetop.rubyforge.org/) grammar for statement for declaring
2
4
  # package definition versions.
3
5
  #
@@ -1,7 +1,9 @@
1
- # Treetop (http://treetop.rubyforge.org/) grammar for determining package
1
+ # coding: utf-8
2
2
  # Autogenerated from a Treetop grammar. Edits may be lost.
3
3
 
4
4
 
5
+
6
+ # Treetop (http://treetop.rubyforge.org/) grammar for determining package
5
7
  # definition versions.
6
8
 
7
9
  require 'treetop'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  # Treetop (http://treetop.rubyforge.org/) grammar for determining package
2
4
  # definition versions.
3
5
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  # The existence of this &!#%)(*!&% file makes me want to hurl, but it's the
2
4
  # simplest way to modify the classes generated by Treetop: the Treetop grammar
3
5
  # doesn't allow extensions at the grammar level, only the rule level.
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/repository_error'
2
4
 
3
5
  module Fig; end
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'colorize'
2
4
  require 'log4r/logger'
3
5
  require 'log4r/outputter/iooutputter'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/user_input_error'
2
4
 
3
5
  module Fig
data/lib/fig/logging.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'log4r'
2
4
  require 'log4r/configurator'
3
5
  require 'log4r/yamlconfigurator'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  module Fig; end
2
4
  module Fig::Logging; end
3
5
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/user_input_error'
2
4
 
3
5
  module Fig
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/package_descriptor'
2
4
  require 'fig/user_input_error'
3
5
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  module Fig; end
2
4
 
3
5
  # Metadata about a package definition file that hasn't been read yet.
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'cgi'
2
4
  require 'fileutils'
3
5
  # Must specify absolute path of ::Archive when using
data/lib/fig/package.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/logging'
2
4
  require 'fig/no_such_package_config_error'
3
5
  require 'fig/package_descriptor'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  module Fig; end
2
4
 
3
5
  # Simple double-level (name, version) cache of Packages.
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/deparser'
2
4
  require 'fig/deparser/v0'
3
5
  require 'fig/deparser/v1'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/package_descriptor_parse_error'
2
4
 
3
5
  module Fig; end
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/user_input_error'
2
4
 
3
5
  module Fig
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/user_input_error'
2
4
 
3
5
  module Fig
data/lib/fig/parser.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'set'
2
4
 
3
5
  require 'fig/grammar/version_identification'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/package'
2
4
  require 'fig/package_parse_error'
3
5
  require 'fig/statement'
data/lib/fig/protocol.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/logging'
2
4
  require 'fig/network_error'
3
5
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'cgi'
2
4
  require 'fileutils'
3
5
  require 'find'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'net/ftp'
2
4
 
3
5
  require 'fig/file_not_found_error'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'net/http'
2
4
  require 'uri'
3
5
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'highline'
2
4
  require 'net/netrc'
3
5
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'net/sftp'
2
4
 
3
5
  require 'fig/logging'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'cgi'
2
4
 
3
5
  require 'fig/logging'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fileutils'
2
4
  require 'set'
3
5
  require 'socket'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/user_input_error'
2
4
 
3
5
  module Fig
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fileutils'
2
4
  require 'etc'
3
5
  require 'set'
@@ -22,7 +24,6 @@ require 'fig/statement/grammar_version'
22
24
  require 'fig/statement/resource'
23
25
  require 'fig/statement/synthetic_raw_text'
24
26
  require 'fig/url'
25
- require 'fig/user_input_error'
26
27
 
27
28
  module Fig; end
28
29
 
@@ -166,11 +167,36 @@ class Fig::RepositoryPackagePublisher
166
167
  end
167
168
 
168
169
  def add_publish_comment
169
- return if ! @options.publish_comment
170
+ return if not @options.publish_comment and not @options.publish_comment_path
171
+
172
+ if @options.publish_comment
173
+ comment = @options.publish_comment.strip.gsub(/[ \t]*\n/, "\n# ")
174
+ @text_assembler.add_header %Q<# #{comment}>
175
+ @text_assembler.add_header %q<#>
176
+ end
177
+
178
+ if @options.publish_comment_path
179
+ begin
180
+ comment = IO.read(
181
+ @options.publish_comment_path, :external_encoding => Encoding::UTF_8,
182
+ )
183
+ comment = comment.strip.gsub(/[ \t]*\n/, "\n# ")
184
+ rescue Errno::ENOENT
185
+ Fig::Logging.fatal(
186
+ %Q<Comment file "#{@options.publish_comment_path}" does not exist.>
187
+ )
188
+ raise Fig::RepositoryError.new
189
+ rescue Errno::EACCES
190
+ Fig::Logging.fatal(
191
+ %Q<Could not read comment file "#{@options.publish_comment_path}".>
192
+ )
193
+ raise Fig::RepositoryError.new
194
+ end
195
+
196
+ @text_assembler.add_header %Q<# #{comment}>
197
+ @text_assembler.add_header %q<#>
198
+ end
170
199
 
171
- comment = @options.publish_comment.strip.gsub(/[ \t]*\n/, "\n# ")
172
- @text_assembler.add_header %Q<# #{comment}>
173
- @text_assembler.add_header %q<#>
174
200
  @text_assembler.add_header %q<#>
175
201
 
176
202
  return
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'stringio'
2
4
 
3
5
  require 'fig/deparser'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/statement'
2
4
  require 'fig/statement/asset'
3
5
 
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/statement'
2
4
  require 'fig/string_tokenizer'
3
5
  require 'fig/url'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/statement'
2
4
 
3
5
  module Fig; end
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/statement'
2
4
  require 'fig/statement/command'
3
5
  require 'fig/statement/synthetic_raw_text'
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require 'fig/statement'
2
4
  require 'fig/string_tokenizer'
3
5
  require 'fig/tokenized_string/token'