Author: boisvert
Date: Thu Sep 30 04:49:50 2010
New Revision: 1002948

URL: http://svn.apache.org/viewvc?rev=1002948&view=rev
Log:
BUILDR-518 Load _buildr.rb or .buildr.rb from same directory as Buildfile if 
they exist (Peter Donald)

Modified:
    buildr/trunk/CHANGELOG
    buildr/trunk/lib/buildr/core/application.rb
    buildr/trunk/spec/core/application_spec.rb

Modified: buildr/trunk/CHANGELOG
URL: 
http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=1002948&r1=1002947&r2=1002948&view=diff
==============================================================================
--- buildr/trunk/CHANGELOG (original)
+++ buildr/trunk/CHANGELOG Thu Sep 30 04:49:50 2010
@@ -1,5 +1,6 @@
 1.4.3 (Pending)
-* Fixed:  BUILDR-519 Load repositories.release_to from build settings (Peter 
Donald)
+* Added:  BUILDR-518 Load _buildr.rb or .buildr.rb from same directory as 
Buildfile if they exist (Peter Donald)
+* Added:  BUILDR-519 Load repositories.release_to from build settings (Peter 
Donald)
 * Fixed:  BUILDR-520 Scaladoc 2.8 no longer support -windowtitle, use 
-doc-title instead.
 * Fixed:  BUILDR-512 Buildr::Util.ruby invokes non existent method (Peter 
Donald)
 * Fixed:  BUILDR-513 --trace fails with NoMethodError : undefined method 

Modified: buildr/trunk/lib/buildr/core/application.rb
URL: 
http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/core/application.rb?rev=1002948&r1=1002947&r2=1002948&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/core/application.rb (original)
+++ buildr/trunk/lib/buildr/core/application.rb Thu Sep 30 04:49:50 2010
@@ -467,12 +467,19 @@ module Buildr
       if File.exist?(old) && !File.exist?(new)
         warn "Deprecated: Please move buildr.rb from your home directory to 
the .buildr directory in your home directory"
       end
+
       # Load home/.buildr/buildr.rb in preference
       files = [ File.exist?(new) ? new : old, 'buildr.rb' ].select { |file| 
File.exist?(file) }
       files += [ File.expand_path('buildr.rake', ENV['HOME']), 
File.expand_path('buildr.rake') ].
         select { |file| File.exist?(file) }.each { |file| warn "Please use 
'#{file.ext('rb')}' instead of '#{file}'" }
       files += (options.rakelib || []).collect { |rlib| Dir["#{rlib}/*.rake"] 
}.flatten
 
+      # Load .buildr/_buildr.rb same directory as buildfile
+      %w{.buildr.rb _buildr.rb}.each do |f|
+        local_buildr = 
File.expand_path("#{File.dirname(Buildr.application.buildfile.to_s)}/#{f}")
+        files << local_buildr if File.exist?( local_buildr )
+      end
+
       files.each do |file|
         unless $LOADED_FEATURES.include?(file)
           load file

Modified: buildr/trunk/spec/core/application_spec.rb
URL: 
http://svn.apache.org/viewvc/buildr/trunk/spec/core/application_spec.rb?rev=1002948&r1=1002947&r2=1002948&view=diff
==============================================================================
--- buildr/trunk/spec/core/application_spec.rb (original)
+++ buildr/trunk/spec/core/application_spec.rb Thu Sep 30 04:49:50 2010
@@ -561,13 +561,23 @@ describe Buildr, 'settings' do
 
     it 'should have the same timestamp as build.rb in home dir if the latter 
is newer (until version 1.6)' do
       Buildr::VERSION.should < '1.6'
-      write 'home/buildr.rb'; File.utime(@buildfile_time + 5, @buildfile_time 
+ 5, 'home/buildr.rb')
-      Buildr.application.send :load_tasks
-      Buildr.application.buildfile.timestamp.should be_close(@buildfile_time + 
5, 1)
+      buildfile_should_have_same_timestamp_as 'home/buildr.rb'
     end
 
     it 'should have the same timestamp as build.rb in home dir if the latter 
is newer' do
-      write 'home/.buildr/buildr.rb'; File.utime(@buildfile_time + 5, 
@buildfile_time + 5, 'home/.buildr/buildr.rb')
+      buildfile_should_have_same_timestamp_as 'home/.buildr/buildr.rb'
+    end
+
+    it 'should have the same timestamp as .buildr.rb in buildfile dir if the 
latter is newer' do
+      buildfile_should_have_same_timestamp_as '.buildr.rb'
+    end
+
+    it 'should have the same timestamp as _buildr.rb in buildfile dir if the 
latter is newer' do
+      buildfile_should_have_same_timestamp_as '_buildr.rb'
+    end
+
+    def buildfile_should_have_same_timestamp_as(file)
+      write file; File.utime(@buildfile_time + 5, @buildfile_time + 5, file)
       Buildr.application.send :load_tasks
       Buildr.application.buildfile.timestamp.should be_close(@buildfile_time + 
5, 1)
     end


Reply via email to