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