aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/gem_dependency.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect specification path in GemDependency#from_directory_nameMatt Jones2009-06-101-1/+1
| | | | Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Fix several issues with the 2.3.2 gem loader.Matt Jones2009-06-091-4/+16
| | | | | | | | | | | | | | | | | | Incorporates the following: - migrates back small change to gems:build:force from bfc1609a501fc3ed442685819de5bcdb5fbada1c to finish closing #2266. - unrolls to_proc calls in gems.rake, to match the change in master. - fixes #2722 by passing the options hash to dependencies during build. (includes a test) - fixes #2721 by loading the specification directly in from_directory_name. Adds an option to opt-out of specification loading when needed (in gems:refresh_specs, for instance). Includes tests. - fixes #2679 by refreshing specs for all frozen gems rather than just gems loaded from the environment. - fixes #2678 by passing the options hash to dependencies during unpack. Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Attempt to deal with more cases of gems with native components.David Dollar2009-04-281-4/+17
| | | | | | | | | | | | | | | | | | | This commit adds a rudimentary check for 'unbuilt' gems, so that we can abort the application load if there are any gems that have native components that have not yet been built. The rake task gems:build has now only builds 'unbuilt' gems as a result. The rake task gems:build:force has been added to deal with cases of incomplete builds, or any case where you need to force the build of all of your gems. Changes the gems:build task to get its gem list by parsing directory entries in vendor/gems, which sidesteps the chicken/egg issues involved with having a gem unpacked into vendor/gems without before its native bits are compiled. [#2266 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Makes the gem system understand development vs. runtime dependencies [#2195 ↵David Dollar2009-03-131-97/+117
| | | | | | | | | | | | | | | | state:resolved] The patch also fixes: * Fixes the chicken/egg problem present in the current gem system when gems are defined in the config that are not yet installed. * Remove the need to have hoe as a dependency of your production app. * Makes the gem 'unpacking' system a lot less fragile. Signed-off-by: Matt Jones <al2o3cr@gmail.com> Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Execute the appropriate gem command when using JRuby [#2215 state:resolved]Zack Hobson2009-03-131-1/+8
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Display gem dependencies correctly and unpack exactly once [#2097 ↵Matt Jones2009-03-011-4/+7
| | | | | | state:resolved] Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* handle missing dependecies in gem loadingMatt Jones2008-12-011-0/+1
| | | | Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Make refresh_specs more resilient. Always add vendor/gems to gem search ↵Matt Jones2008-11-011-13/+24
| | | | | | path. Use Gem.clear_paths to ensure we get a current searcher. Signed-off-by: Michael Koziarski <michael@koziarski.com>
* config.gem: Fix typo in unpack, skip dependencies on unloaded gems, and ↵Matt Jones2008-10-201-1/+1
| | | | | | silence spec warnings on refresh. [#1128] Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Make VendorGemSourceIndex handle broken/missing specs generated by previous ↵Matt Jones2008-10-131-4/+33
| | | | | | versions. Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Mark gem as not loaded when spec not foundMatt Jones2008-10-081-0/+2
| | | | Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Fix a number of errors in the config.gem mechanism.Matt Jones2008-10-051-31/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rails::GemDependency was missing definitions for hash and eql?, causing Array#uniq to not work. * If several versions of a gem are unpacked in vendor, now chooses the highest if no version is specified. * streamlined add_load_path. Now sets up Rubygems correctly to allow 'gem' to find frozen gems, with gems frozen to vendor/gems and specifications in vendor/gems/<gem-name>/.specification * Rails::GemDependency#specification would return a spec for the highest installed version, even for frozen gems and/or previously loaded lower versions. See in part ticket #1123. * removed vendor from default_load_paths - it was causing autoloading to append Gems::Gems::<gem-dir> to constant names * added additional tests for loading frozen gems. * incorporates the fix from #1107 for vendor rails * defers to freeze:gems for handling the Rails framework. gems:unpack WILL NOT place a copy of Rails in vendor/gems. Should close #1123 completely. * incorporates, via using the gem loader for frozen gems, fixes corresponding to #227, #324, #362, #527, and #742. * gem plugins now work the same whether frozen or not. Correctness of the behavior is a matter for another ticket... Signed-off-by: rick <technoweenie@gmail.com>
* Partially revert 185fe2e9cce737d69d3b47a656f3651ce152c0c1Michael Koziarski2008-09-241-1/+3
| | | | We shouldn't quote the unpack command's requirement as it's passed through GemRunner which takes care of it for us.
* Make requiring gems optional.Ben Sandofsky2008-08-041-1/+1
| | | | | Signed-off-by: Michael Koziarski <michael@koziarski.com> [#743 state:resolved]
* Fix discrepancies with loading rails/init.rb from gems. [#324 state:resolved]rick2008-06-081-1/+5
|
* GemDependency#specification should be publicJeremy Kemper2008-06-061-16/+15
|
* In 9c4f003, gem installation quotes versions. Do the same for unpack and ↵Joshua Peek2008-06-021-8/+8
| | | | update tests to reflect the change.
* Previously we only added the "lib" subdirectory to the load path whenrick2008-05-311-1/+3
| | | | | | | | setting up gem dependencies for frozen gems. Now we add the "ext" subdirectory as well for those gems which have compiled C extensions as well. [Wincent Colaiuta] [#268 state:resolved]
* Consolidate error messages for missing gems, and skip them when running rake ↵rick2008-05-311-1/+0
| | | | gems:* tasks. [rick]
* fix Gem installation command with versionsrick2008-05-311-2/+4
|
* Run gem install as external command. [#210 state:resolved]Tim Morgan2008-05-311-1/+5
|
* Gem dependencies don't require a version. Also fixed up failing gem ↵Joshua Peek2008-04-211-3/+1
| | | | dependency tests.
* Now that we have gems:unpack and gems:build allowing for integration ofDavid Dollar2008-04-111-7/+27
| | | | | | | | | | | | 100% of your gems into vendor/ it would be nice to have the ability to automatically unpack the full dependency tree of your specified gems. This patch adds the rake task gems:unpack:dependencies to do this. Usage: gems:unpack:dependencies # unpack all dependencies gems:unpack:dependencies GEM=foo # unpack all dependencies for gem foo
* Require rubygems if needed when initializing GemDependency instancesRick Olson2008-04-091-0/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9245 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Don't require rails/gem_builder during rails initialization, it's only ↵Rick Olson2008-04-081-2/+6
| | | | | | needed for the gems:build task. [rick] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9240 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Flesh out rake gems:unpack to unpack all gems, and add rake gems:build for ↵Rick Olson2008-04-021-0/+16
| | | | | | native extensions. Closes #11513 [ddollar] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9215 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Improving railties test coverage. Closes #11496 [miloops]Jeremy Kemper2008-04-011-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9197 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Small tweak to allow plugins to specify gem dependencies. [rick]Rick Olson2008-03-301-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9141 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added config.gem for specifying which gems are required by the application, ↵Rick Olson2008-03-301-0/+78
as well as rake tasks for installing and freezing gems. [rick] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9140 5ecf4fe2-1ee6-0310-87b1-e25e094e27de