geminstaller 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
+