1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
Commit graph

17 commits

Author SHA1 Message Date
Matt Jones
41a94048e5 Fix several issues with the 2.3.2 gem loader.
Incorporates the following:

- migrates back small change to gems:build:force from bfc1609a50 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>
2009-06-09 19:57:38 +12:00
Yehuda Katz
4fa871654d Get Railties passing again 2009-05-16 12:28:25 -07:00
Matt Jones
bfc1609a50 Remove stray call to gems:unpack in gems:build:force
[#2266 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2009-05-06 18:57:27 -07:00
David Dollar
599f2cfb4a Attempt to deal with more cases of gems with native components.
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>
2009-04-28 23:16:47 -07:00
David Dollar
99d75a7b02 Makes the gem system understand development vs. runtime dependencies [#2195 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>
2009-03-13 10:20:23 +00:00
Matt Jones
a3ac1e1621 Display gem dependencies correctly and unpack exactly once [#2097 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2009-03-01 11:53:58 +00:00
Matt Jones
01c818e99f break out of initializer early if gems aren't loaded [#1750 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
2009-02-20 14:16:07 -06:00
Joshua Peek
f716ab92bf Disable eager loading for all rake tasks [#802 state:resolved] 2009-01-27 15:53:02 -06:00
Matt Jones
01433af6a5 Make refresh_specs more resilient. Always add vendor/gems to gem search path. Use Gem.clear_paths to ensure we get a current searcher.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
2008-11-01 17:35:56 +01:00
Matt Jones
326030a1e8 config.gem: Fix typo in unpack, skip dependencies on unloaded gems, and silence spec warnings on refresh. [#1128]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-10-20 21:45:01 +01:00
Matt Jones
9f15870946 Make VendorGemSourceIndex handle broken/missing specs generated by previous versions.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
2008-10-13 17:27:25 +02:00
Matt Jones
2bf58aa782 Fix a number of errors in the config.gem mechanism.
* 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>
2008-10-05 10:16:17 -07:00
rick
d5bcff172b Consolidate error messages for missing gems, and skip them when running rake gems:* tasks. [rick] 2008-05-31 16:36:34 -07:00
David Dollar
4364c361b5 Now that we have gems:unpack and gems:build allowing for integration of
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
2008-04-11 18:25:11 -04:00
Rick Olson
0bea3f8391 Don't require rails/gem_builder during rails initialization, it's only needed for the gems:build task. [rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9240 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-04-08 04:21:32 +00:00
Rick Olson
7d2316604a Flesh out rake gems:unpack to unpack all gems, and add rake gems:build for native extensions. Closes #11513 [ddollar]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9215 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-04-02 17:48:30 +00:00
Rick Olson
088ef182e3 Added config.gem for specifying which gems are required by the application, 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
2008-03-30 02:17:28 +00:00