From e895095f38fe7e7c234563cedde4da1d1fb0295d Mon Sep 17 00:00:00 2001 From: Watson Date: Fri, 28 Nov 2014 21:32:46 +0900 Subject: [PATCH] [RM-644] merge 429a71f and 231ffe5 commits for Framework --- lib/motion/project/target/framework_target.rb | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/motion/project/target/framework_target.rb b/lib/motion/project/target/framework_target.rb index 3c9e558a..e1215ef9 100644 --- a/lib/motion/project/target/framework_target.rb +++ b/lib/motion/project/target/framework_target.rb @@ -48,12 +48,22 @@ module Motion; module Project # @return [Boolean] Whether or not invoking the rake task succeeded. # def rake(task) - command = "cd #{@full_path} && #{environment_variables} rake #{task}" - if App::VERBOSE - command << " --trace" - puts command + Dir.chdir(@full_path) do + ENV["PWD"] = @full_path + rake = "rake" + if File.exist?("Gemfile") && ENV["BUNDLE_GEMFILE"] + ENV["BUNDLE_GEMFILE"] = File.join(@full_path, "Gemfile") + system(ENV, "bundle install") unless File.exist?("Gemfile.lock") + rake = "bundle exec rake" + end + + command = "#{environment_variables} #{rake} #{task}" + if App::VERBOSE + command << " --trace" + puts command + end + system(ENV, command) end - system(command) end def build(platform)