geminstaller 0.2.0

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 (63) hide show
  1. data/COPYING +1 -0
  2. data/History.txt +4 -0
  3. data/LICENSE +21 -0
  4. data/Manifest.txt +62 -0
  5. data/README.txt +60 -0
  6. data/Rakefile +92 -0
  7. data/TODO.txt +88 -0
  8. data/bin/geminstaller +30 -0
  9. data/geminstaller.yml +34 -0
  10. data/lib/geminstaller/application.rb +105 -0
  11. data/lib/geminstaller/arg_parser.rb +162 -0
  12. data/lib/geminstaller/autogem.rb +43 -0
  13. data/lib/geminstaller/config.rb +69 -0
  14. data/lib/geminstaller/config_builder.rb +40 -0
  15. data/lib/geminstaller/dependency_injector.rb +129 -0
  16. data/lib/geminstaller/enhanced_stream_ui.rb +57 -0
  17. data/lib/geminstaller/exact_match_list_command.rb +16 -0
  18. data/lib/geminstaller/file_reader.rb +31 -0
  19. data/lib/geminstaller/gem_arg_processor.rb +44 -0
  20. data/lib/geminstaller/gem_command_line_proxy.rb +32 -0
  21. data/lib/geminstaller/gem_command_manager.rb +62 -0
  22. data/lib/geminstaller/gem_interaction_handler.rb +30 -0
  23. data/lib/geminstaller/gem_list_checker.rb +55 -0
  24. data/lib/geminstaller/gem_runner_proxy.rb +43 -0
  25. data/lib/geminstaller/gem_source_index_proxy.rb +21 -0
  26. data/lib/geminstaller/gem_spec_manager.rb +42 -0
  27. data/lib/geminstaller/geminstaller_error.rb +13 -0
  28. data/lib/geminstaller/hoe_extensions.rb +5 -0
  29. data/lib/geminstaller/install_processor.rb +56 -0
  30. data/lib/geminstaller/missing_dependency_finder.rb +41 -0
  31. data/lib/geminstaller/missing_file_error.rb +4 -0
  32. data/lib/geminstaller/noninteractive_chooser.rb +107 -0
  33. data/lib/geminstaller/output_filter.rb +49 -0
  34. data/lib/geminstaller/output_listener.rb +33 -0
  35. data/lib/geminstaller/output_observer.rb +32 -0
  36. data/lib/geminstaller/output_proxy.rb +36 -0
  37. data/lib/geminstaller/requires.rb +59 -0
  38. data/lib/geminstaller/rogue_gem_finder.rb +195 -0
  39. data/lib/geminstaller/ruby_gem.rb +44 -0
  40. data/lib/geminstaller/rubygems_exit.rb +5 -0
  41. data/lib/geminstaller/rubygems_extensions.rb +5 -0
  42. data/lib/geminstaller/unauthorized_dependency_prompt_error.rb +4 -0
  43. data/lib/geminstaller/unexpected_prompt_error.rb +4 -0
  44. data/lib/geminstaller/valid_platform_selector.rb +44 -0
  45. data/lib/geminstaller/version_specifier.rb +24 -0
  46. data/lib/geminstaller/yaml_loader.rb +22 -0
  47. data/lib/geminstaller.rb +102 -0
  48. data/start_local_gem_server.sh +1 -0
  49. data/test/test_all.rb +31 -0
  50. data/website/config.yaml +2 -0
  51. data/website/metainfo.yaml +72 -0
  52. data/website/src/code/index.page +25 -0
  53. data/website/src/community/index.page +14 -0
  54. data/website/src/community/links.page +9 -0
  55. data/website/src/default.css +168 -0
  56. data/website/src/default.template +41 -0
  57. data/website/src/documentation/documentation.page +417 -0
  58. data/website/src/documentation/index.page +88 -0
  59. data/website/src/documentation/tutorials.page +94 -0
  60. data/website/src/download.page +12 -0
  61. data/website/src/faq.page +7 -0
  62. data/website/src/index.page +38 -0
  63. metadata +107 -0
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: Overview
3
+ ---
4
+ h1. Overview
5
+
6
+ h2. What is GemInstaller?
7
+
8
+ GemInstaller provides automated management of RubyGems. It uses a simple YAML config file to:
9
+
10
+ * Automatically install the correct versions of all required gems wherever your app runs.
11
+ * Automatically ensure installed gems and versions are consistent across multiple applications, machines, platforms, and environments
12
+ * Automatically add correct versions of gems to the ruby load path when your app runs ('require_gem'/'gem')
13
+ * Automatically reinstall missing dependency gems
14
+ * Automatically guess at correct platform to install for multi-platform gems
15
+ * Print YAML for "rogue gems" which are not specified in the current config, to easily bootstrap your config file, or find gems that were manually installed without GemInstaller.
16
+ * Allow for common configs to be reused across projects or environments by supporting multiple config files and defaults with overrides.
17
+ * Avoid the "works on demo, breaks on production" syndrome
18
+
19
+ GemInstaller can be used from the command line, or embedded to run automatically on startup for a Rails app or any other Ruby program.
20
+
21
+ It has been tested on all major platforms (mac, linux, windows), and recent versions of RubyGems (0.8.x through 0.9.x).
22
+
23
+ h2. How do I get it?
24
+
25
+ GemInstaller can be "downloaded":http://rubyforge.org/frs/?group_id=1902 from RubyForge.
26
+
27
+ h2. How do I use it?
28
+
29
+ See the "Quick Start Guide":documentation/index.html, "Tutorials":documentation/tutorials.html, or the "Detailed Documentation":documentation/documentation.html.
30
+
31
+ h2. Who is responsible for GemInstaller?
32
+
33
+ GemInstaller was created by "Chad Woolley":http://www.thewoolleyweb.com.
34
+
35
+ h2. Known Bugs
36
+
37
+ Currently (as of version 0.0.2), the only _major_ known bug is related to auto-installing the Rails or Mongrel gems via boot.rb during startup of Mongrel or Webrick. The simple workaround is to run GemInstaller manually or just restart Rails anytime GemInstaller auto-installs a Rails/Mongrel gem upgrade during app startup. For Rails and other deployable apps, you can also "run GemInstaller from Capistrano":documentation/tutorials.html#running_geminstaller_from_capistrano to avoid this problem in demo/production environments. Researching and fixing this problem is a top priority. I bet there's another bug or twoo, so please "report them if you find them":http://rubyforge.org/tracker/?group_id=1902!
38
+
metadata ADDED
@@ -0,0 +1,107 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.2
3
+ specification_version: 1
4
+ name: geminstaller
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.2.0
7
+ date: 2007-05-13 00:00:00 -07:00
8
+ summary: GemInstaller provides automated management of RubyGems.
9
+ require_paths:
10
+ - lib
11
+ email: ryand-ruby@zenspider.com
12
+ homepage: " by Chad Woolley"
13
+ rubyforge_project: geminstaller
14
+ description: "== FEATURES: GemInstaller provides automated management of RubyGems. It uses a simple YAML config file to: * Automatically install the correct versions of all required gems wherever your app runs. * Automatically ensure installed gems and versions are consistent across multiple applications, machines, platforms, and environments * Automatically add correct versions of gems to the ruby load path when your app runs ('require_gem'/'gem') * Automatically reinstall missing dependency gems * Automatically guess at correct platform to install for multi-platform gems * Print YAML for \"rogue gems\" which are not specified in the current config, to easily bootstrap your config file, or find gems that were manually installed without GemInstaller. * Avoid the \"works on demo, broken on production\" syndrome == SYNOPSYS: GemInstaller provides automated management of RubyGems."
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - Chad Woolley
31
+ files:
32
+ - COPYING
33
+ - History.txt
34
+ - LICENSE
35
+ - Manifest.txt
36
+ - README.txt
37
+ - Rakefile
38
+ - TODO.txt
39
+ - bin/geminstaller
40
+ - geminstaller.yml
41
+ - lib/geminstaller.rb
42
+ - lib/geminstaller/application.rb
43
+ - lib/geminstaller/arg_parser.rb
44
+ - lib/geminstaller/autogem.rb
45
+ - lib/geminstaller/config.rb
46
+ - lib/geminstaller/config_builder.rb
47
+ - lib/geminstaller/dependency_injector.rb
48
+ - lib/geminstaller/enhanced_stream_ui.rb
49
+ - lib/geminstaller/exact_match_list_command.rb
50
+ - lib/geminstaller/file_reader.rb
51
+ - lib/geminstaller/gem_arg_processor.rb
52
+ - lib/geminstaller/gem_command_line_proxy.rb
53
+ - lib/geminstaller/gem_command_manager.rb
54
+ - lib/geminstaller/gem_interaction_handler.rb
55
+ - lib/geminstaller/gem_list_checker.rb
56
+ - lib/geminstaller/gem_runner_proxy.rb
57
+ - lib/geminstaller/gem_source_index_proxy.rb
58
+ - lib/geminstaller/gem_spec_manager.rb
59
+ - lib/geminstaller/geminstaller_error.rb
60
+ - lib/geminstaller/hoe_extensions.rb
61
+ - lib/geminstaller/install_processor.rb
62
+ - lib/geminstaller/missing_dependency_finder.rb
63
+ - lib/geminstaller/missing_file_error.rb
64
+ - lib/geminstaller/noninteractive_chooser.rb
65
+ - lib/geminstaller/output_filter.rb
66
+ - lib/geminstaller/output_listener.rb
67
+ - lib/geminstaller/output_observer.rb
68
+ - lib/geminstaller/output_proxy.rb
69
+ - lib/geminstaller/requires.rb
70
+ - lib/geminstaller/rogue_gem_finder.rb
71
+ - lib/geminstaller/ruby_gem.rb
72
+ - lib/geminstaller/rubygems_exit.rb
73
+ - lib/geminstaller/rubygems_extensions.rb
74
+ - lib/geminstaller/unauthorized_dependency_prompt_error.rb
75
+ - lib/geminstaller/unexpected_prompt_error.rb
76
+ - lib/geminstaller/valid_platform_selector.rb
77
+ - lib/geminstaller/version_specifier.rb
78
+ - lib/geminstaller/yaml_loader.rb
79
+ - start_local_gem_server.sh
80
+ - test/test_all.rb
81
+ - website/config.yaml
82
+ - website/metainfo.yaml
83
+ - website/src/code/index.page
84
+ - website/src/community/index.page
85
+ - website/src/community/links.page
86
+ - website/src/default.css
87
+ - website/src/default.template
88
+ - website/src/documentation/documentation.page
89
+ - website/src/documentation/index.page
90
+ - website/src/documentation/tutorials.page
91
+ - website/src/download.page
92
+ - website/src/faq.page
93
+ - website/src/index.page
94
+ test_files:
95
+ - test/test_all.rb
96
+ rdoc_options: []
97
+
98
+ extra_rdoc_files: []
99
+
100
+ executables:
101
+ - geminstaller
102
+ extensions: []
103
+
104
+ requirements: []
105
+
106
+ dependencies: []
107
+