mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Search gem from MRUBY_ROOT if build config is in build_config.
This commit is contained in:
@@ -12,12 +12,18 @@ a GEM, add the following line to your build configuration file, for example:
|
||||
conf.gem '/path/to/your/gem/dir'
|
||||
```
|
||||
|
||||
You can also use a relative path which would be relative from the mruby root:
|
||||
You can also use a relative path to specify a gem.
|
||||
|
||||
```ruby
|
||||
conf.gem 'examples/mrbgems/ruby_extension_example'
|
||||
```
|
||||
|
||||
In that case,
|
||||
|
||||
* if your build configuration file is in the `build_config` directory, it's
|
||||
relative from `MRUBY_ROOT`.
|
||||
* otherwise, it is relative from the directory where your build configuration is.
|
||||
|
||||
A remote GIT repository location for a GEM is also supported:
|
||||
```ruby
|
||||
conf.gem :git => 'https://github.com/masuidrive/mrbgems-example.git', :branch => 'master'
|
||||
|
||||
@@ -15,10 +15,14 @@ module MRuby
|
||||
def gem(gemdir, &block)
|
||||
if gemdir.is_a?(Hash)
|
||||
gemdir = load_special_path_gem(gemdir)
|
||||
elsif GemBox.path && gemdir.is_a?(String)
|
||||
elsif GemBox.path
|
||||
gemdir = File.expand_path(gemdir, File.dirname(GemBox.path))
|
||||
else
|
||||
gemdir = File.expand_path(gemdir, MRUBY_ROOT)
|
||||
caller_dir = File.expand_path(File.dirname(caller(1,1)[0][/^(.*?):\d/,1]))
|
||||
if caller_dir == "#{MRUBY_ROOT}/build_config"
|
||||
caller_dir = MRUBY_ROOT
|
||||
end
|
||||
gemdir = File.expand_path(gemdir, caller_dir)
|
||||
end
|
||||
|
||||
gemrake = File.join(gemdir, "mrbgem.rake")
|
||||
|
||||
Reference in New Issue
Block a user