Sha256: 3f4e2765e503c2a208c82246c017fd86ad18efed83829ea11480bb0bc899f169
Contents?: true
Size: 1.93 KB
Versions: 2
Compression:
Stored size: 1.93 KB
Contents
#!/usr/bin/env rake 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 = 'Qujo' rdoc.options << '--line-numbers' rdoc.rdoc_files.include('README.md') rdoc.rdoc_files.include('lib/**/*.rb') end Bundler::GemHelper.install_tasks require 'rake/testtask' Rake::TestTask.new(:test) do |t| t.libs << 'lib' t.libs << 'test' t.pattern = 'test/**/*_test.rb' t.verbose = false end task :default => :test def changelog(last=nil, single=false) command="git --no-pager log --format='%an::::%h::::%s'" list = `git tag` puts "# Changelog" puts ordered = list.lines.sort_by {|e| (a,b,c) = e.gsub(/^v/,"").split("."); "%3d%3d%3d" % [a, b, c]} ordered.reject{|e| (a,b,c,d) = e.split("."); !d.nil?}.reverse_each do |t| tag = t.chomp if last check = { } out = [] log = `#{command} #{last}...#{tag}` log.lines.each do |line| (who, hash, msg) = line.split('::::') unless check[msg] unless msg =~ /^Merge branch/ || msg =~ /CHANGELOG/ || msg =~ /^(v|version|changes for|preparing|ready for release|ready to release|bump version)*\s*(v|version)*\d+\.\d+\.\d+/ msg.gsub(" *", "\n*").gsub(/^\*\*/, " *").lines.each do |l| line = l =~ /^(\s+)*\*/ ? l : "* #{l}" out << line end check[msg] = hash end end end puts "## #{last}:" out.each { |e| puts e } #puts log puts end last = tag exit if single end end desc "generate changelog output" task :changelog do changelog end desc "show current changes (changelog output from HEAD to most recent tag)" task :current do changelog("HEAD",true) end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
qujo-0.1.4 | Rakefile |
qujo-0.1.3 | Rakefile |