Rakefile in options-2.3.0 vs Rakefile in options-2.3.1

- old
+ new

@@ -1,10 +1,13 @@ This.rubyforge_project = 'codeforpeople' This.author = "Ara T. Howard" This.email = "ara.t.howard@gmail.com" -This.homepage = "http://github.com/ahoward/#{ This.lib }/tree/master" +This.homepage = "https://github.com/ahoward/#{ This.lib }" +task :license do + open('LICENSE', 'w'){|fd| fd.puts "same as ruby's"} +end task :default do puts((Rake::Task.tasks.map{|task| task.name.gsub(/::/,':')} - ['default']).sort) end @@ -24,15 +27,14 @@ test_glob ||= File.join(test_dir, "#{ which }/**_test.rb") test_rbs = Dir.glob(test_glob).sort div = ('=' * 119) line = ('-' * 119) - helper = "-r ./test/helper.rb" if test(?e, "./test/helper.rb") test_rbs.each_with_index do |test_rb, index| testno = index + 1 - command = "#{ This.ruby } -I ./lib -I ./test/lib #{ helper } #{ test_rb }" + command = "#{ This.ruby } -w -I ./lib -I ./test/lib #{ test_rb }" puts say(div, :color => :cyan, :bold => true) say("@#{ testno } => ", :bold => true, :method => :print) say(command, :color => :cyan, :bold => true) @@ -57,13 +59,13 @@ end end task :gemspec do - ignore_extensions = 'git', 'svn', 'tmp', /sw./, 'bak', 'gem' - ignore_directories = 'pkg' - ignore_files = 'test/log' + ignore_extensions = ['git', 'svn', 'tmp', /sw./, 'bak', 'gem'] + ignore_directories = ['pkg'] + ignore_files = ['test/log'] shiteless = lambda do |list| list.delete_if do |entry| next unless test(?e, entry) @@ -85,14 +87,15 @@ lib = This.lib object = This.object version = This.version files = shiteless[Dir::glob("**/**")] executables = shiteless[Dir::glob("bin/*")].map{|exe| File.basename(exe)} - has_rdoc = true #File.exist?('doc') + #has_rdoc = true #File.exist?('doc') test_files = "test/#{ lib }.rb" if File.file?("test/#{ lib }.rb") summary = object.respond_to?(:summary) ? object.summary : "summary: #{ lib } kicks the ass" description = object.respond_to?(:description) ? object.description : "description: #{ lib } kicks the ass" + license = object.respond_to?(:license) ? object.license : "same as ruby's" if This.extensions.nil? This.extensions = [] extensions = This.extensions %w( Makefile configure extconf.rb ).each do |ext| @@ -114,21 +117,22 @@ spec.name = #{ lib.inspect } spec.version = #{ version.inspect } spec.platform = Gem::Platform::RUBY spec.summary = #{ lib.inspect } spec.description = #{ description.inspect } + spec.license = #{ license.inspect } - spec.files = #{ files.inspect } + spec.files =\n#{ files.sort.pretty_inspect } spec.executables = #{ executables.inspect } spec.require_path = "lib" - spec.has_rdoc = #{ has_rdoc.inspect } spec.test_files = #{ test_files.inspect } - #spec.add_dependency 'lib', '>= version' - spec.add_dependency 'fattr' + ### spec.add_dependency 'lib', '>= version' + #### spec.add_dependency 'map' + spec.extensions.push(*#{ extensions.inspect }) spec.rubyforge_project = #{ This.rubyforge_project.inspect } spec.author = #{ This.author.inspect } spec.email = #{ This.email.inspect } @@ -137,11 +141,11 @@ __ } end Fu.mkdir_p(This.pkgdir) - gemspec = File.join(This.pkgdir, "#{ lib }.gemspec") + gemspec = "#{ lib }.gemspec" open(gemspec, "w"){|fd| fd.puts(template)} This.gemspec = gemspec end task :gem => [:clean, :gemspec] do @@ -174,12 +178,12 @@ cmd = "ruby -e'STDOUT.sync=true; exec %(ruby -I ./lib #{ sample })'" samples << Util.indent(`#{ cmd } 2>&1`, 4) << "\n" end template = - if test(?e, 'readme.erb') - Template{ IO.read('readme.erb') } + if test(?e, 'README.erb') + Template{ IO.read('README.erb') } else Template { <<-__ NAME #{ lib } @@ -233,10 +237,11 @@ require 'ostruct' require 'erb' require 'fileutils' require 'rbconfig' + require 'pp' # fu shortcut # Fu = FileUtils @@ -290,11 +295,11 @@ s.gsub(%r/^/, ws) end def unindent(s) indent = nil - s.each do |line| + s.each_line do |line| next if line =~ %r/^\s*$/ indent = line[%r/^\s*/] and break end indent ? s.gsub(%r/^#{ indent }/, "") : s end @@ -307,10 +312,10 @@ def initialize(&block) @block = block @template = block.call.to_s end def expand(b=nil) - ERB.new(Util.unindent(@template)).result(b||@block) + ERB.new(Util.unindent(@template)).result((b||@block).binding) end alias_method 'to_s', 'expand' end def Template(*args, &block) Template.new(*args, &block) end