Remove Buildr::Project#on_define, deprecated in 1.3
diff --git a/CHANGELOG b/CHANGELOG
index 980daf1..d567532 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -11,6 +11,7 @@
* Change: Update ecj to 4.5.1
* Change: Added jekyll-textile-converter 0.1.0 to generate the site.
* Change: Move to default on Scala 2.11.
+* Change: Remove Buildr::Project#on_define, deprecated in 1.3
* Added: Travis badge to README.rdoc
* Added: Added Rubygems badges to README.rdoc
* Added: BUILDR-577 Allow remote repo to be added with http basic auth support. Submitted by Michael Guymon.
diff --git a/lib/buildr/core/project.rb b/lib/buildr/core/project.rb
index 4511ae4..d74c81d 100644
--- a/lib/buildr/core/project.rb
+++ b/lib/buildr/core/project.rb
@@ -214,9 +214,6 @@
project.send :call_callbacks, :after_define
end
end
- project.enhance do |project|
- @on_define.each { |extension| extension[project] }
- end if @on_define
# Enhance the project using the definition block.
project.enhance { project.instance_exec project, &block } if block
diff --git a/spec/core/project_spec.rb b/spec/core/project_spec.rb
index b9f591a..0be54b8 100644
--- a/spec/core/project_spec.rb
+++ b/spec/core/project_spec.rb
@@ -328,70 +328,22 @@
end
-describe Project, '#on_define' do
- it 'should be called when project is defined' do
- names = []
- Project.on_define { |project| names << project.name }
- define 'foo' ; define 'bar'
- names.should eql(['foo', 'bar'])
- end
-
- it 'should be called with project object' do
- Project.on_define { |project| project.name.should eql('foo') }
- define('foo')
- end
-
- it 'should be called with project object and set properties' do
- Project.on_define { |project| project.version.should eql('2.0') }
- define('foo', :version=>'2.0')
- end
-
- it 'should execute in namespace of project' do
- scopes = []
- Project.on_define { |project| scopes << Buildr.application.current_scope }
- define('foo') { define 'bar' }
- scopes.should eql([['foo'], ['foo', 'bar']])
- end
-
- it 'should be called before project block' do
- order = []
- Project.on_define { |project| order << 'on_define' }
- define('foo') { order << 'define' }
- order.should eql(['on_define', 'define'])
- end
-
- it 'should accept enhancement and call it after project block' do
- order = []
- Project.on_define { |project| project.enhance { order << 'enhance' } }
- define('foo') { order << 'define' }
- order.should eql(['define', 'enhance'])
- end
-
- it 'should accept enhancement and call it with project' do
- Project.on_define { |project| project.enhance { |project| project.name.should eql('foo') } }
- define('foo')
- end
-
- it 'should execute enhancement in namespace of project' do
- scopes = []
- Project.on_define { |project| project.enhance { scopes << Buildr.application.current_scope } }
- define('foo') { define 'bar' }
- scopes.should eql([['foo'], ['foo', 'bar']])
- end
-
- it 'should be removed in version 1.5 since it was deprecated in version 1.3' do
- Buildr::VERSION.should < '1.5'
- end
-end
-
-
describe Rake::Task, ' recursive' do
before do
- @order = []
- Project.on_define do |project| # TODO on_define is deprecated
- project.recursive_task('doda') { @order << project.name }
- end
- define('foo') { define('bar') { define('baz') } }
+ define('foo') {
+ @order = []
+ def order
+ @order
+ end
+ recursive_task('doda') { project('foo').order << 'foo' }
+ define('bar') {
+ recursive_task('doda') { project('foo').order << 'foo:bar' }
+ define('baz') {
+ recursive_task('doda') { project('foo').order << 'foo:bar:baz' }
+ }
+ }
+ }
+ @order = project('foo').order
end
it 'should invoke same task in child project' do
@@ -626,11 +578,12 @@
describe Rake::Task, ' local directory' do
before do
@task = Project.local_task(task(('doda')))
- Project.on_define { |project| task('doda') { |task| @task.from project.name } }
+
end
it 'should execute project in local directory' do
define 'foo'
+ project('foo').tap { |project| task('doda') { |task| @task.from project.name } }
@task.should_receive(:from).with('foo')
@task.invoke
end
@@ -638,18 +591,24 @@
it 'should execute sub-project in local directory' do
@task.should_receive(:from).with('foo:bar')
define('foo') { define 'bar' }
+ project('foo:bar').tap { |project| task('doda') { |task| @task.from project.name } }
in_original_dir(project('foo:bar').base_dir) { @task.invoke }
end
it 'should do nothing if no project in local directory' do
@task.should_not_receive(:from)
- define('foo') { define 'bar' }
+ define('foo') {
+ task('doda') { |task| @task.from project.name }
+ define 'bar'
+ }
+
in_original_dir('../not_foo') { @task.invoke }
end
it 'should find closest project that matches current directory' do
mkpath 'bar/src/main'
define('foo') { define 'bar' }
+ project('foo:bar').tap { |project| task('doda') { |task| @task.from project.name } }
@task.should_receive(:from).with('foo:bar')
in_original_dir('bar/src/main') { @task.invoke }
end