diff options
| author | Daniel Bovensiepen <[email protected]> | 2014-04-20 05:39:40 +0800 |
|---|---|---|
| committer | Daniel Bovensiepen <[email protected]> | 2014-04-20 05:39:40 +0800 |
| commit | 874bec2af5800b0847d702999efbe796b1c20cfa (patch) | |
| tree | 1caf87feca38136587e33c12e0564da5650e0031 /tasks/mruby_build_commands.rake | |
| parent | 44cc51fef7b68f2b93a5c51d4da9778ca43fa80e (diff) | |
| download | mruby-874bec2af5800b0847d702999efbe796b1c20cfa.tar.gz mruby-874bec2af5800b0847d702999efbe796b1c20cfa.zip | |
Implement :checksum_hash mrbgem option.
This allows to use a mgem with a specific checksum hash.
The following modification were necessary to implement this
function:
- add run_checkout build command to use 'git checkout'
- skip shallow copy in case checksum_hash is used
- make 'master' the default branch if branch isn't defined
Diffstat (limited to 'tasks/mruby_build_commands.rake')
| -rw-r--r-- | tasks/mruby_build_commands.rake | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tasks/mruby_build_commands.rake b/tasks/mruby_build_commands.rake index d64b20ff3..4beb7e743 100644 --- a/tasks/mruby_build_commands.rake +++ b/tasks/mruby_build_commands.rake @@ -228,14 +228,15 @@ module MRuby class Command::Git < Command attr_accessor :flags - attr_accessor :clone_options, :pull_options + attr_accessor :clone_options, :pull_options, :checkout_options def initialize(build) super @command = 'git' - @flags = %w[--depth 1] + @flags = %w[] @clone_options = "clone %{flags} %{url} %{dir}" @pull_options = "pull" + @checkout_options = "checkout %{checksum_hash}" end def run_clone(dir, url, _flags = []) @@ -250,6 +251,14 @@ module MRuby _run pull_options Dir.chdir root end + + def run_checkout(dir, checksum_hash) + root = Dir.pwd + Dir.chdir dir + _pp "GIT CHECKOUT", checksum_hash + _run checkout_options, { :checksum_hash => checksum_hash } + Dir.chdir root + end end class Command::Mrbc < Command |
