#!/usr/bin/env rake # encoding: utf-8 require 'rubocop/rake_task' begin require 'bundler/setup' rescue LoadError puts 'You must `gem install bundler` and `bundle install` to run rake tasks' end begin require 'rdoc/task' rescue LoadError require 'rdoc/rdoc' require 'rake/rdoctask' RDoc::Task = Rake::RDocTask end RDoc::Task.new(:rdoc) do |rdoc| rdoc.rdoc_dir = 'rdoc' rdoc.title = 'EnableplaceholderJquery::Rails' rdoc.options << '--line-numbers' rdoc.rdoc_files.include('README.rdoc') rdoc.rdoc_files.include('lib/**/*.rb') end APP_RAKEFILE = File.expand_path('../spec/test_app/Rakefile', __FILE__) load 'rails/tasks/engine.rake' Bundler::GemHelper.install_tasks require 'rspec/core/rake_task' RSpec::Core::RakeTask.new(:spec) task :default => [:rubocop, :spec] #------------------------------------------------------ ruby lint/style checks desc 'Runs rubocop lint tool against the gem.' task :rubocop do RuboCop::RakeTask.new(:rubocop) do |task| # task.fail_on_error = true end end # task #------------------------------------------------------------------- changelog # TODO: improve the following: # - remove bump version commits # - prepend to CHANGELOG without using changelog.tmp desc 'Updates changelog with commit messages' task :changelog, [:tag1, :tag2] do |t, args| args.with_defaults(:tag1 => 'v0.1.0', :tag2 => 'HEAD') date = `git log -1 --format=%ad #{args[:tag2]} --date=short` title = %(#{args[:tag2].gsub(/^v/, '')} / #{date}).chomp underline = '-' * title.size url = 'https://github.com/jhx' format = %(- "'`'"TYPE"'`'" - %s | [view](#{url}/$basename/commit/%h)) file = 'changelog.tmp' sh <<-EOF remote=$(git config --get branch.master.remote) url=$(git config --get remote.$remote.url) basename=$(basename "$url" .git) echo "#{title}\n#{underline}\n" > #{file} git log #{args[:tag1]}..#{args[:tag2]} --no-merges \ --pretty=format:"#{format}" >> #{file} EOF end # task