From b131aa23501d8962deac7002ad1a686177c5697d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Tue, 3 Feb 2015 20:53:24 -0800 Subject: [PATCH] Remove rake-compiler in favor of manual step The manual rake definitions allow us to skip the compile process if the .bundle file is up to date. --- .gitignore | 5 ++++- Gemfile | 1 - Gemfile.lock | 3 --- Rakefile | 12 ++++++++++-- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index f3cb646..a696c7f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ .ruby-version -lib/*.bundle +Makefile +*.bundle +*.o +*.log tmp/ diff --git a/Gemfile b/Gemfile index 66250ff..857b9ca 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,5 @@ source "https://rubygems.org" gem "rake" -gem "rake-compiler" gemspec diff --git a/Gemfile.lock b/Gemfile.lock index 2f6bf33..099aa5b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,13 +7,10 @@ GEM remote: https://rubygems.org/ specs: rake (10.4.2) - rake-compiler (0.9.5) - rake PLATFORMS ruby DEPENDENCIES rake - rake-compiler version_sorter! diff --git a/Rakefile b/Rakefile index e5b4101..b776d6a 100644 --- a/Rakefile +++ b/Rakefile @@ -1,5 +1,4 @@ require 'rake/testtask' -require 'rake/extensiontask' task :default => :test @@ -8,5 +7,14 @@ Rake::TestTask.new(:test) do |t| t.test_files = FileList['test/*test.rb'] end -Rake::ExtensionTask.new('version_sorter') +file 'lib/version_sorter.bundle' => FileList['ext/version_sorter/*.{c,h,rb}'] do |task| + Dir.chdir 'ext/version_sorter' do + sh 'ruby extconf.rb' + sh 'make' + end + mv 'ext/version_sorter/version_sorter.bundle', task.name +end + +desc "Compile the native extension" +task :compile => 'lib/version_sorter.bundle' task :test => :compile