You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by do...@apache.org on 2017/09/09 11:16:45 UTC
buildr git commit: BUILDR-732 - Support bnd version 2.1.0 or more.
Repository: buildr
Updated Branches:
refs/heads/master 63120eeec -> 00f02b727
BUILDR-732 - Support bnd version 2.1.0 or more.
Submitted By Eric Bruneton.
Project: http://git-wip-us.apache.org/repos/asf/buildr/repo
Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/00f02b72
Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/00f02b72
Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/00f02b72
Branch: refs/heads/master
Commit: 00f02b7277e5984f320107d506689a8434cfc106
Parents: 63120ee
Author: Peter Donald <pe...@realityforge.org>
Authored: Sat Sep 9 21:03:33 2017 +1000
Committer: Peter Donald <pe...@realityforge.org>
Committed: Sat Sep 9 21:03:33 2017 +1000
----------------------------------------------------------------------
CHANGELOG | 1 +
addon/buildr/bnd.rb | 10 ++++-
spec/addon/bnd_spec.rb | 100 +++++++++++++++++++++++++++++++++++---------
3 files changed, 89 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/buildr/blob/00f02b72/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index 0a80ac3..5a11d7e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,5 @@
1.5.4 (Pending)
+* Added: BUILDR-732 - Support bnd version 2.1.0 or more. Submitted By Eric Bruneton.
* Added: Support to compiling Kotlin
* Fixed: Remove section on development builds in the Contributing section.
* Added: New way to concatenate file contents when merging several archives together.
http://git-wip-us.apache.org/repos/asf/buildr/blob/00f02b72/addon/buildr/bnd.rb
----------------------------------------------------------------------
diff --git a/addon/buildr/bnd.rb b/addon/buildr/bnd.rb
index 03ec68a..db0be34 100644
--- a/addon/buildr/bnd.rb
+++ b/addon/buildr/bnd.rb
@@ -27,7 +27,13 @@ module Buildr
# The specs for requirements
def dependencies
- ["biz.aQute:bnd:jar:#{version}"]
+ if Gem::Version.new(version) <= Gem::Version.new('1.50.0')
+ ["biz.aQute:bnd:jar:#{version}"]
+ elsif Gem::Version.new(version) <= Gem::Version.new('2.4.0')
+ ["biz.aQute.bnd:bnd:jar:#{version}"]
+ else
+ ["biz.aQute.bnd:biz.aQute.bnd:jar:#{version}"]
+ end
end
def bnd_main(*args)
@@ -110,7 +116,7 @@ module Buildr
Buildr::Bnd.bnd_main( bnd_filename )
begin
- Buildr::Bnd.bnd_main('print', '-verify', filename )
+ Buildr::Bnd.bnd_main('print', '-v', filename )
rescue => e
rm filename
raise e
http://git-wip-us.apache.org/repos/asf/buildr/blob/00f02b72/spec/addon/bnd_spec.rb
----------------------------------------------------------------------
diff --git a/spec/addon/bnd_spec.rb b/spec/addon/bnd_spec.rb
index eff5ef3..0b35928 100644
--- a/spec/addon/bnd_spec.rb
+++ b/spec/addon/bnd_spec.rb
@@ -55,35 +55,95 @@ package com.biz.bar;
public class Bar {}
SRC
- @foo = define "foo" do
- project.version = "2.1.3"
- project.group = "mygroup"
- manifest["Magic-Food"] = "Chocolate"
- manifest["Magic-Drink"] = "Wine"
+ @foo = define "foo" do
+ project.version = "2.1.3"
+ project.group = "mygroup"
+ manifest["Magic-Food"] = "Chocolate"
+ manifest["Magic-Drink"] = "Wine"
+ package(:bundle).tap do |bnd|
+ bnd["Export-Package"] = "com.*"
+ end
+
+ define "bar" do
+ project.version = "2.2"
package(:bundle).tap do |bnd|
+ bnd["Magic-Food"] = "Cheese"
bnd["Export-Package"] = "com.*"
end
+ end
+ end
+ task('package').invoke
+ end
- define "bar" do
- project.version = "2.2"
- package(:bundle).tap do |bnd|
- bnd["Magic-Food"] = "Cheese"
- bnd["Export-Package"] = "com.*"
- end
- end
+ it "version 0.0.384 does not export the version and wrong import-package" do
+ open_main_manifest_section do |attribs|
+ attribs['Bundle-Name'].should eql('foo')
+ attribs['Bundle-Version'].should eql('2.1.3')
+ attribs['Bundle-SymbolicName'].should eql('mygroup.foo')
+ attribs['Export-Package'].should eql('com.biz')
+ attribs['Import-Package'].should eql('com.biz')
+ end
+ end
+ end
+
+ describe "project.bnd version 2.4.0 (assure forwward compatibility)" do
+ after do
+ STDERR.puts("forward compatibility: used #{Buildr::Bnd.version} restoring #{@savedVersion}")
+ Buildr::Bnd.version = @savedVersion
+ end
+
+ before do
+ @savedVersion = Buildr::Bnd.version
+ Buildr::Bnd.version = '2.4.0'
+ write "src/main/java/com/biz/Foo.java", <<SRC
+package com.biz;
+public class Foo {}
+SRC
+
+ @foo = define "foo" do
+ project.version = "2.1.3"
+ project.group = "mygroup"
+ package(:bundle).tap do |bnd|
+ bnd["Export-Package"] = "com.*"
end
- task('package').invoke
end
+ task('package').invoke
+ end
- it "version 0.0.384 does not export the version and wrong import-package" do
- open_main_manifest_section do |attribs|
- attribs['Bundle-Name'].should eql('foo')
- attribs['Bundle-Version'].should eql('2.1.3')
- attribs['Bundle-SymbolicName'].should eql('mygroup.foo')
- attribs['Export-Package'].should eql('com.biz')
- attribs['Import-Package'].should eql('com.biz')
+ it "produces a .bnd and a .jar in the correct location for root project" do
+ File.should be_exist(@foo._("target/foo-2.1.3.bnd"))
+ File.should be_exist(@foo._("target/foo-2.1.3.jar"))
+ end
+ end
+
+ describe "project.bnd version 3.4.0 (assure forward compatibility)" do
+ after do
+ STDERR.puts("forward compatibility: used #{Buildr::Bnd.version} restoring #{@savedVersion}")
+ Buildr::Bnd.version = @savedVersion
+ end
+
+ before do
+ @savedVersion = Buildr::Bnd.version
+ Buildr::Bnd.version = '3.4.0'
+ write "src/main/java/com/biz/Foo.java", <<SRC
+package com.biz;
+public class Foo {}
+SRC
+
+ @foo = define "foo" do
+ project.version = "2.1.3"
+ project.group = "mygroup"
+ package(:bundle).tap do |bnd|
+ bnd["Export-Package"] = "com.*"
end
end
+ task('package').invoke
+ end
+
+ it "produces a .bnd and a .jar in the correct location for root project" do
+ File.should be_exist(@foo._("target/foo-2.1.3.bnd"))
+ File.should be_exist(@foo._("target/foo-2.1.3.jar"))
+ end
end
describe "package :bundle" do