fig 0.1.57 → 0.1.59

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.
Files changed (45) hide show
  1. data/Changes +80 -0
  2. data/VERSION +1 -1
  3. data/bin/fig-debug +12 -0
  4. data/bin/fig.bat +1 -0
  5. data/lib/fig/applicationconfiguration.rb +41 -41
  6. data/lib/fig/backtrace.rb +28 -30
  7. data/lib/fig/command.rb +52 -112
  8. data/lib/fig/command/listing.rb +207 -41
  9. data/lib/fig/command/packageload.rb +137 -0
  10. data/lib/fig/environment.rb +59 -72
  11. data/lib/fig/environmentvariables.rb +44 -0
  12. data/lib/fig/environmentvariables/caseinsensitive.rb +49 -0
  13. data/lib/fig/environmentvariables/casesensitive.rb +30 -0
  14. data/lib/fig/grammar.treetop +60 -35
  15. data/lib/fig/log4r/outputter.rb +96 -0
  16. data/lib/fig/logging.rb +2 -1
  17. data/lib/fig/logging/colorizable.rb +14 -0
  18. data/lib/fig/nosuchpackageconfigerror.rb +15 -0
  19. data/lib/fig/operatingsystem.rb +24 -13
  20. data/lib/fig/options.rb +70 -20
  21. data/lib/fig/package.rb +25 -26
  22. data/lib/fig/packagecache.rb +3 -3
  23. data/lib/fig/packagedescriptor.rb +36 -19
  24. data/lib/fig/packageparseerror.rb +7 -0
  25. data/lib/fig/parser.rb +76 -39
  26. data/lib/fig/repository.rb +131 -93
  27. data/lib/fig/retriever.rb +61 -39
  28. data/lib/fig/statement.rb +24 -2
  29. data/lib/fig/statement/archive.rb +4 -6
  30. data/lib/fig/statement/command.rb +4 -6
  31. data/lib/fig/statement/configuration.rb +7 -9
  32. data/lib/fig/statement/include.rb +49 -32
  33. data/lib/fig/statement/override.rb +7 -8
  34. data/lib/fig/statement/path.rb +4 -6
  35. data/lib/fig/statement/publish.rb +4 -11
  36. data/lib/fig/statement/resource.rb +4 -6
  37. data/lib/fig/statement/retrieve.rb +4 -6
  38. data/lib/fig/statement/set.rb +4 -6
  39. data/lib/fig/urlaccesserror.rb +4 -5
  40. metadata +52 -215
  41. data/LICENSE +0 -27
  42. data/README.md +0 -526
  43. data/TODO +0 -4
  44. data/lib/fig/packageerror.rb +0 -8
  45. data/lib/fig/windows.rb +0 -44
data/TODO DELETED
@@ -1,4 +0,0 @@
1
- Cleanup tasks:
2
-
3
- - Clean up method names in Fig::Command, probably by breaking out package loading into a separate class.
4
- - Make everything use PackageDescriptors rather than passing name/version/config around.
@@ -1,8 +0,0 @@
1
- require 'fig/userinputerror'
2
-
3
- module Fig
4
- # An issue with a stored package, i.e. not a package.fig in the current
5
- # directory.
6
- class PackageError < UserInputError
7
- end
8
- end
@@ -1,44 +0,0 @@
1
- require 'erb'
2
- require 'fileutils'
3
-
4
- # I don't know how to set environment variables so that a sub-shell will
5
- # be able to use them. Therefore, I'm punting, and creating a batch script
6
- # on the fly to run a user supplied command.
7
-
8
- module Fig
9
- # Windows-specific implementation details.
10
- class Windows
11
- BATCH_SCRIPT_TEMPLATE = <<EOF
12
- @echo off
13
- % ENV.each do |k,v|
14
- set <%= k %>=<%= v %>
15
- % end
16
-
17
- cmd /C <%= command %>
18
- EOF
19
-
20
-
21
- def self.with_generated_batch_script(cmd)
22
- command = cmd.join(' ')
23
- template = ERB.new(BATCH_SCRIPT_TEMPLATE, 0, '%')
24
- output = template.result(binding)
25
- begin
26
- tf = File.new('C:/tmp/fig_command.bat', 'w')
27
- FileUtils.chmod(0755, tf.path)
28
- File.open(tf.path, 'w') do |fh|
29
- fh.puts output
30
- end
31
- tf.close
32
- yield tf.path
33
- ensure
34
- # tf.delete
35
- end
36
- end
37
-
38
- def self.shell_exec_windows(cmd)
39
- with_generated_batch_script(cmd) do |f|
40
- Kernel.exec(f)
41
- end
42
- end
43
- end
44
- end