summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib/mruby/build.rb3
-rw-r--r--lib/mruby/build/load_gems.rb1
-rw-r--r--lib/mruby/gem.rb3
3 files changed, 6 insertions, 1 deletions
diff --git a/lib/mruby/build.rb b/lib/mruby/build.rb
index 375b2933a..55b82cd2b 100644
--- a/lib/mruby/build.rb
+++ b/lib/mruby/build.rb
@@ -43,7 +43,7 @@ module MRuby
include Rake::DSL
include LoadGems
attr_accessor :name, :bins, :exts, :file_separator, :build_dir, :gem_clone_dir
- attr_reader :libmruby_objs, :gems, :toolchains
+ attr_reader :libmruby_objs, :gems, :toolchains, :gem_dir_to_repo_url
attr_writer :enable_bintest, :enable_test
alias libmruby libmruby_objs
@@ -90,6 +90,7 @@ module MRuby
@enable_test = false
@enable_lock = true
@toolchains = []
+ @gem_dir_to_repo_url = {}
MRuby.targets[@name] = self
end
diff --git a/lib/mruby/build/load_gems.rb b/lib/mruby/build/load_gems.rb
index 7f2c7202b..9f09167ba 100644
--- a/lib/mruby/build/load_gems.rb
+++ b/lib/mruby/build/load_gems.rb
@@ -113,6 +113,7 @@ module MRuby
end
if lock_enabled?
+ @gem_dir_to_repo_url[gemdir] = url unless params[:path]
locks[url] = {
'url' => url,
'branch' => git.current_branch(gemdir),
diff --git a/lib/mruby/gem.rb b/lib/mruby/gem.rb
index 6cb067b91..a1cdb28af 100644
--- a/lib/mruby/gem.rb
+++ b/lib/mruby/gem.rb
@@ -91,6 +91,9 @@ module MRuby
build.libmruby_objs << @objs
instance_eval(&@build_config_initializer) if @build_config_initializer
+
+ repo_url = build.gem_dir_to_repo_url[dir]
+ build.locks[repo_url]['version'] = version if repo_url
end
def setup_compilers