You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.8 KiB
131 lines
3.8 KiB
# encoding: UTF-8
|
|
require "rubygems"
|
|
require "rake"
|
|
require "rake/testtask"
|
|
require "rdoc/task"
|
|
require "rake/packagetask"
|
|
require "rake/gempackagetask"
|
|
|
|
env = %(PKG_BUILD="#{ENV["PKG_BUILD"]}") if ENV["PKG_BUILD"]
|
|
|
|
PROJECTS_WITH_TEST_UNIT = %w(brnumeros brdinheiro brcep brdata brhelper brstring brI18n)
|
|
PROJECTS_WITH_RSPEC = %w(brcpfcnpj)
|
|
PROJECTS = PROJECTS_WITH_TEST_UNIT + PROJECTS_WITH_RSPEC
|
|
PKG_VERSION = "3.3.0"
|
|
|
|
Dir["#{File.dirname(__FILE__)}/*/lib/*/version.rb"].each do |version_path|
|
|
require version_path
|
|
end
|
|
|
|
desc "Run all tests by default"
|
|
task :default => [:test, :spec]
|
|
|
|
desc "Run test/spec task for all projects with test unit"
|
|
task :test do
|
|
PROJECTS_WITH_TEST_UNIT.each do |project|
|
|
system %(cd #{project} && #{env} #{$0} test)
|
|
end
|
|
end
|
|
|
|
desc "Run spec task for all projects with rspec"
|
|
task :spec do
|
|
PROJECTS_WITH_RSPEC.each do |project|
|
|
system %(cd #{project} && #{env} #{$0} spec)
|
|
end
|
|
end
|
|
|
|
%w(rdoc package release).each do |task_name|
|
|
desc "Run #{task_name} task for all projects"
|
|
task task_name do
|
|
PROJECTS.each do |project|
|
|
system %(cd #{project} && #{env} #{$0} #{task_name})
|
|
end
|
|
end
|
|
end
|
|
|
|
desc "install all gems"
|
|
task :install_all do
|
|
PROJECTS.each do |project|
|
|
Dir.entries("#{project}/pkg").select{ |d| d =~ /\.gem$/ }.each do |gem_file|
|
|
system %(sudo gem install #{project}/pkg/#{gem_file})
|
|
end
|
|
end
|
|
Dir.entries("./pkg").select{ |d| d =~ /\.gem$/ }.each do |gem_file|
|
|
system %(sudo gem install ./pkg/#{gem_file})
|
|
end
|
|
end
|
|
|
|
desc "remove old gem packages"
|
|
task :clean_packages do
|
|
require "fileutils"
|
|
PROJECTS.each do |project|
|
|
Dir.entries("#{project}/pkg").select{ |d| d =~ /#{project}/ }.each do |file|
|
|
FileUtils.rm_rf(File.join(project,"pkg",file))
|
|
end
|
|
end
|
|
Dir.entries("./pkg").select{ |d| d =~ /brazilian/ }.each do |file|
|
|
FileUtils.rm_rf(File.join("./pkg", file))
|
|
end
|
|
end
|
|
|
|
desc "Generate documentation for the Brazilian Rails"
|
|
Rake::RDocTask.new do |rdoc|
|
|
rdoc.rdoc_dir = "doc"
|
|
rdoc.title = "Brazilian Rails Documentation"
|
|
|
|
rdoc.options << "--line-numbers" << "--inline-source"
|
|
rdoc.options << "-A cattr_accessor=object"
|
|
rdoc.options << "--charset" << "utf-8"
|
|
rdoc.options << "-T html"
|
|
rdoc.options << "--all"
|
|
rdoc.options << "-U"
|
|
|
|
|
|
rdoc.template = "#{ENV["template"]}.rb" if ENV["template"]
|
|
|
|
rdoc.rdoc_files.include("README.mkdn")
|
|
|
|
PROJECTS.each do |project|
|
|
rdoc.rdoc_files.include("#{project}/README")
|
|
rdoc.rdoc_files.include("#{project}/README.mkdn")
|
|
rdoc.rdoc_files.include("#{project}/CHANGELOG")
|
|
rdoc.rdoc_files.include("#{project}/lib/**/*.rb")
|
|
end
|
|
|
|
end
|
|
|
|
# Create compressed packages
|
|
spec = Gem::Specification.new do |s|
|
|
s.platform = Gem::Platform::RUBY
|
|
s.name = "brazilian-rails"
|
|
s.summary = "O Brazilian Rails é um conjunto de gems para facilitar a vida dos programadores brasileiros."
|
|
s.description = %q{O Brazilian Rails é um conjunto de gems para facilitar a vida dos programadores brasileiros.}
|
|
s.version = PKG_VERSION
|
|
|
|
s.authors = ["Marcos Tapajós", "Celestino Gomes", "Andre Kupkosvki", "Vinícius Teles", "Felipe Barreto", "Rafael Walter", "Cassio Marques"]
|
|
s.email = %w"tapajos@gmail.com tinorj@gmail.com kupkovski@gmail.com vinicius.m.teles@gmail.com felipebarreto@gmail.com rafawalter@gmail.com cassiommc@gmail.com"
|
|
s.rubyforge_project = "brazilian-rails"
|
|
s.homepage = "http://www.improveit.com.br/software_livre/brazilian_rails"
|
|
|
|
s.has_rdoc = true
|
|
s.requirements << "none"
|
|
s.require_path = "lib"
|
|
|
|
PROJECTS.each do |project|
|
|
s.add_dependency(project, ["= #{PKG_VERSION}"])
|
|
end
|
|
|
|
s.add_development_dependency "rake"
|
|
|
|
s.files = [ "README.mkdn", "lib/brazilian-rails.rb"]
|
|
end
|
|
|
|
Rake::GemPackageTask.new(spec) do |p|
|
|
p.gem_spec = spec
|
|
end
|
|
|
|
desc "Publish the release files to RubyForge."
|
|
task :release => [ :package ] do
|
|
`gem push pkg/brazilian-rails-#{PKG_VERSION}.gem`
|
|
end
|