buildr4osgi 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/buildr4osgi.gemspec +2 -2
- data/lib/buildr4osgi.rb +2 -0
- data/lib/buildr4osgi/compile.rb +2 -1
- data/lib/buildr4osgi/compile/compiler.rb +1 -3
- data/lib/buildr4osgi/compile/external.rb +71 -0
- data/lib/buildr4osgi/eclipse.rb +3 -1
- data/lib/buildr4osgi/eclipse/feature.rb +12 -7
- data/lib/buildr4osgi/eclipse/p2.rb +137 -0
- data/lib/buildr4osgi/eclipse/site.rb +207 -0
- data/lib/buildr4osgi/osgi/bundle.rb +17 -12
- data/lib/buildr4osgi/osgi/bundle_package.rb +35 -11
- data/lib/buildr4osgi/osgi/container.rb +1 -0
- data/lib/buildr4osgi/osgi/execution_environment.rb +199 -0
- data/lib/buildr4osgi/osgi/library_extension.rb +14 -1
- data/lib/buildr4osgi/osgi/packaging_sources.rb +4 -0
- data/lib/buildr4osgi/osgi/project_extension.rb +59 -20
- data/lib/buildr4osgi/osgi/registry.rb +23 -29
- data/lib/buildr4osgi/osgi/resolving_strategies.rb +1 -0
- data/lib/buildr4osgi/osgi/version.rb +1 -1
- data/rakelib/all-in-one.rake +84 -0
- data/rakelib/stage.rake +5 -4
- data/spec/compile/external_spec.rb +41 -0
- data/spec/eclipse/p2_spec.rb +65 -0
- data/spec/eclipse/site_spec.rb +94 -0
- data/spec/osgi/bundle_package_spec.rb +13 -1
- data/spec/osgi/bundle_spec.rb +2 -2
- data/spec/osgi/execution_environment_spec.rb +48 -0
- data/spec/osgi/library_extension_spec.rb +15 -2
- data/spec/osgi/project_extension_spec.rb +86 -18
- data/spec/osgi/registry_spec.rb +30 -20
- data/spec/osgi/resolving_strategies_spec.rb +2 -2
- data/spec/osgi/version_spec.rb +6 -0
- data/spec/spec_helpers.rb +12 -0
- metadata +12 -16
- data/spec/tmp/remote/eclipse/org.eclipse.debug.ui/3.4.1.v20080811_r341/org.eclipse.debug.ui-3.4.1.v20080811_r341.jar +0 -0
- data/spec/tmp/remote/eclipse/org.eclipse.debug.ui/3.4.1.v20080811_r341/org.eclipse.debug.ui-3.4.1.v20080811_r341.pom +0 -82
- data/spec/tmp/remote/log4j/log4j/1.2.15/log4j-1.2.15.jar +0 -0
- data/spec/tmp/remote/log4j/log4j/1.2.15/log4j-1.2.15.pom +0 -478
- data/spec/tmp/remote/org/slf4j/jcl104-over-slf4j/1.5.8/jcl104-over-slf4j-1.5.8-sources.jar +0 -0
- data/spec/tmp/remote/org/slf4j/jcl104-over-slf4j/1.5.8/jcl104-over-slf4j-1.5.8.jar +0 -0
- data/spec/tmp/remote/org/slf4j/jcl104-over-slf4j/1.5.8/jcl104-over-slf4j-1.5.8.pom +0 -30
- data/spec/tmp/remote/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8-sources.jar +0 -0
- data/spec/tmp/remote/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar +0 -0
- data/spec/tmp/remote/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.pom +0 -101
- data/spec/tmp/remote/org/slf4j/slf4j-log4j12/1.5.8/slf4j-log4j12-1.5.8-sources.jar +0 -0
- data/spec/tmp/remote/org/slf4j/slf4j-log4j12/1.5.8/slf4j-log4j12-1.5.8.jar +0 -0
- data/spec/tmp/remote/org/slf4j/slf4j-log4j12/1.5.8/slf4j-log4j12-1.5.8.pom +0 -56
data/spec/osgi/bundle_spec.rb
CHANGED
@@ -193,9 +193,9 @@ MANIFEST
|
|
193
193
|
|
194
194
|
it "should find the bundle fragments" do
|
195
195
|
foo = define("foo")
|
196
|
-
|
196
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
197
197
|
|
198
|
-
@bundle.fragments
|
198
|
+
@bundle.fragments.should == [@fragment]
|
199
199
|
end
|
200
200
|
|
201
201
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
# contributor license agreements. See the NOTICE file distributed with this
|
3
|
+
# work for additional information regarding copyright ownership. The ASF
|
4
|
+
# licenses this file to you under the Apache License, Version 2.0 (the
|
5
|
+
# "License"); you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
12
|
+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
13
|
+
# License for the specific language governing permissions and limitations under
|
14
|
+
# the License.
|
15
|
+
|
16
|
+
require File.join(File.dirname(__FILE__), '../spec_helpers')
|
17
|
+
|
18
|
+
describe OSGi::ExecutionEnvironment do
|
19
|
+
|
20
|
+
it 'should create a frozen object' do
|
21
|
+
ee = OSGi::ExecutionEnvironment.new("example", "hello", ["com", "org"])
|
22
|
+
ee.should be_frozen
|
23
|
+
ee.packages.should be_frozen
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe OSGi::ExecutionEnvironmentConfiguration do
|
28
|
+
|
29
|
+
before :all do
|
30
|
+
@conf = OSGi::ExecutionEnvironmentConfiguration.new
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
it "should add the default execution environments" do
|
35
|
+
@conf.send( :available_ee).values.should include OSGi::NONE, OSGi::CDC10FOUNDATION10, OSGi::CDC10FOUNDATION11, OSGi::J2SE12, OSGi::J2SE13, OSGi::J2SE14, OSGi::J2SE15, OSGi::JAVASE16, OSGi::JAVASE17, OSGi::OSGIMINIMUM10, OSGi::OSGIMINIMUM11, OSGi::OSGIMINIMUM12
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should set JavaSE1.6 as the default execution environment" do
|
39
|
+
@conf.current_execution_environment.should == OSGi::JAVASE16
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should let the user define extra packages to be part of the execution environment" do
|
43
|
+
@conf.extra_packages << "com.sum.nedia"
|
44
|
+
@conf.extra_packages.should include("com.sum.nedia")
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
|
@@ -92,7 +92,7 @@ describe Buildr4OSGi::BuildLibraries do
|
|
92
92
|
library_project(SLF4J, "group", "foo", "1.0.0")
|
93
93
|
foo = project("foo")
|
94
94
|
lambda {foo.package(:sources).invoke}.should_not raise_error
|
95
|
-
sources = File.join(foo.base_dir, "target", "foo-1.0.0-sources.
|
95
|
+
sources = File.join(foo.base_dir, "target", "foo-1.0.0-sources.jar")
|
96
96
|
File.exists?(sources).should be_true
|
97
97
|
Zip::ZipFile.open(sources) {|zip|
|
98
98
|
zip.find_entry("org/slf4j/Marker.java").should_not be_nil
|
@@ -155,5 +155,18 @@ describe Buildr4OSGi::BuildLibraries do
|
|
155
155
|
lambda {library_project(SLF4J, "org.nuxeo.libs", "org.nuxeo.logging", "1.1.2",
|
156
156
|
:manifest => {"Require-Bundle" => "org.apache.log4j"})}.should_not raise_error(NoMethodError)
|
157
157
|
end
|
158
|
-
end
|
158
|
+
end
|
159
|
+
|
160
|
+
it "should not add a manifest Export-Package entry if that package was excluded" do
|
161
|
+
library_project(SLF4J, "org.hello.libs", "org.hello.logging", "1.1.2", :exclude => "org/slf4j/impl/*")
|
162
|
+
foo = project("org.hello.logging")
|
163
|
+
foo.package(:library_project).invoke
|
164
|
+
jar = File.join(foo.base_dir, "target", "org.hello.logging-1.1.2.jar")
|
165
|
+
File.exists?(jar).should be_true
|
166
|
+
Zip::ZipFile.open(jar) {|zip|
|
167
|
+
zip.find_entry("org/slf4j/impl").should be_nil
|
168
|
+
zip.find_entry("org/slf4j/helpers").should_not be_nil
|
169
|
+
zip.read("META-INF/MANIFEST.MF").should_not match /org\.slf4j\.impl/
|
170
|
+
}
|
171
|
+
end
|
159
172
|
end
|
@@ -19,6 +19,14 @@ Spec::Runner.configure do |config|
|
|
19
19
|
config.include Buildr4OSGi::SpecHelpers
|
20
20
|
end
|
21
21
|
|
22
|
+
describe OSGi::BundleCollector do
|
23
|
+
|
24
|
+
it 'should be able to cache a resolved bundle' do
|
25
|
+
pending "TODO"
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
22
30
|
describe OSGi::ProjectExtension do
|
23
31
|
|
24
32
|
it 'should give a way to take project dependencies' do
|
@@ -47,6 +55,65 @@ describe OSGi::ProjectExtension do
|
|
47
55
|
}
|
48
56
|
end
|
49
57
|
|
58
|
+
it 'should get the execution environments from the project manifest' do
|
59
|
+
write 'META-INF/MANIFEST.MF', <<-MANIFEST
|
60
|
+
Bundle-RequiredExecutionEnvironment: JavaSE-1.6,
|
61
|
+
JavaSE-1.7
|
62
|
+
MANIFEST
|
63
|
+
foo = define("foo", :version => "1.0") do
|
64
|
+
package(:bundle)
|
65
|
+
end
|
66
|
+
foo.execution_environments.should == [OSGi::JAVASE16, OSGi::JAVASE17]
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'should get the execution environment from the project manifest (bis)' do
|
70
|
+
write 'META-INF/MANIFEST.MF', <<-MANIFEST
|
71
|
+
Manifest-Version: 1.0
|
72
|
+
Bundle-ManifestVersion: 2
|
73
|
+
Bundle-Name: uh-core
|
74
|
+
Bundle-SymbolicName: org.thingy
|
75
|
+
Bundle-Version: 3.6.2.qualifier
|
76
|
+
Bundle-RequiredExecutionEnvironment: J2SE-1.5
|
77
|
+
Import-Package: blah,
|
78
|
+
blob
|
79
|
+
MANIFEST
|
80
|
+
foo = define("foo", :version => "1.0") do
|
81
|
+
package(:bundle)
|
82
|
+
end
|
83
|
+
foo.execution_environments.should == [OSGi::J2SE15]
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'should return an empty array when no execution environment is specified' do
|
87
|
+
write 'META-INF/MANIFEST.MF', <<-MANIFEST
|
88
|
+
Manifest-Version: 1.0
|
89
|
+
Bundle-ManifestVersion: 2
|
90
|
+
Bundle-Name: uh-core
|
91
|
+
Bundle-SymbolicName: org.thingy
|
92
|
+
Bundle-Version: 3.6.2.qualifier
|
93
|
+
Import-Package: blah,
|
94
|
+
blob
|
95
|
+
MANIFEST
|
96
|
+
foo = define("foo", :version => "1.0") do
|
97
|
+
package(:bundle)
|
98
|
+
end
|
99
|
+
foo.execution_environments.should == []
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'should return nil when no bundle packaging is specified' do
|
103
|
+
write 'META-INF/MANIFEST.MF', <<-MANIFEST
|
104
|
+
Manifest-Version: 1.0
|
105
|
+
Bundle-ManifestVersion: 2
|
106
|
+
Bundle-Name: uh-core
|
107
|
+
Bundle-SymbolicName: org.thingy
|
108
|
+
Bundle-Version: 3.6.2.qualifier
|
109
|
+
Import-Package: blah,
|
110
|
+
blob
|
111
|
+
MANIFEST
|
112
|
+
foo = define("foo", :version => "1.0") do
|
113
|
+
package(:jar)
|
114
|
+
end
|
115
|
+
foo.execution_environments.should be_nil
|
116
|
+
end
|
50
117
|
end
|
51
118
|
|
52
119
|
describe OSGi::DependenciesTask do
|
@@ -87,7 +154,7 @@ MANIFEST
|
|
87
154
|
foo = define('foo', :version=> "1.0", :group => "grp" ) {
|
88
155
|
package(:bundle)
|
89
156
|
}
|
90
|
-
|
157
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
91
158
|
foo.manifest_dependencies.select {|b| b.name == "com.ibm.icu"}.should_not be_empty
|
92
159
|
end
|
93
160
|
|
@@ -153,7 +220,7 @@ MANIFEST
|
|
153
220
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
154
221
|
package(:bundle)
|
155
222
|
}
|
156
|
-
|
223
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
157
224
|
foo.manifest_dependencies.select {|b| b.name == "com.ibm.icu"}.should_not be_empty
|
158
225
|
foo.manifest_dependencies.select {|b| b.name == "com.ibm.icu" && b.version="[3.4.0,3.5.0)"}.should_not be_empty
|
159
226
|
foo.manifest_dependencies.select {|b| b.name == "org.eclipse.core.resources" && b.version="3.5.0.R_20090512"}.should_not be_empty
|
@@ -182,7 +249,7 @@ MANIFEST
|
|
182
249
|
package(:bundle)
|
183
250
|
end
|
184
251
|
end
|
185
|
-
|
252
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
186
253
|
project('container:foo').manifest_dependencies.should include(project('container:bar'))
|
187
254
|
|
188
255
|
end
|
@@ -198,7 +265,8 @@ MANIFEST
|
|
198
265
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
199
266
|
package(:bundle)
|
200
267
|
}
|
201
|
-
|
268
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
269
|
+
foo.manifest_dependencies
|
202
270
|
foo.manifest_dependencies.select {|b| b.name == "com.ibm.icu"}.should_not be_empty
|
203
271
|
end
|
204
272
|
|
@@ -235,7 +303,7 @@ MANIFEST
|
|
235
303
|
package(:bundle)
|
236
304
|
end
|
237
305
|
end
|
238
|
-
|
306
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
239
307
|
project('container:foo').manifest_dependencies.should include(project('container:bar'))
|
240
308
|
project('container:foo').manifest_dependencies.should_not include(project('container:bar2'))
|
241
309
|
end
|
@@ -251,7 +319,7 @@ MANIFEST
|
|
251
319
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
252
320
|
package(:bundle)
|
253
321
|
}
|
254
|
-
|
322
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
255
323
|
foo.manifest_dependencies.select {|b| b.name == "com.ibm.icu"}.should_not be_empty
|
256
324
|
end
|
257
325
|
|
@@ -288,7 +356,7 @@ MANIFEST
|
|
288
356
|
package(:bundle)
|
289
357
|
end
|
290
358
|
end
|
291
|
-
|
359
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
292
360
|
project('container:foo').manifest_dependencies.should include(project('container:bar'))
|
293
361
|
project('container:foo').manifest_dependencies.should_not include(project('container:bar2'))
|
294
362
|
|
@@ -305,7 +373,7 @@ MANIFEST
|
|
305
373
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
306
374
|
package(:bundle)
|
307
375
|
}
|
308
|
-
|
376
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
309
377
|
foo.task('osgi:resolve:dependencies').invoke
|
310
378
|
File.exist?('dependencies.yml').should be_true
|
311
379
|
deps = YAML::load(File.read('dependencies.yml'))
|
@@ -339,7 +407,7 @@ MANIFEST
|
|
339
407
|
package(:bundle)
|
340
408
|
end
|
341
409
|
end
|
342
|
-
|
410
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
343
411
|
project('container').task('osgi:resolve:dependencies').invoke
|
344
412
|
File.exist?('dependencies.yml').should be_true
|
345
413
|
deps = YAML::load(File.read('dependencies.yml'))
|
@@ -371,7 +439,7 @@ MANIFEST
|
|
371
439
|
package(:bundle)
|
372
440
|
end
|
373
441
|
end
|
374
|
-
|
442
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
375
443
|
project('container').task('osgi:resolve:dependencies').invoke
|
376
444
|
File.exist?('dependencies.yml').should be_true
|
377
445
|
deps = YAML::load(File.read('dependencies.yml'))
|
@@ -403,7 +471,7 @@ MANIFEST
|
|
403
471
|
package(:bundle)
|
404
472
|
end
|
405
473
|
end
|
406
|
-
|
474
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
407
475
|
project('container:foo').task('osgi:resolve:dependencies').invoke
|
408
476
|
project('container:bar').task('osgi:resolve:dependencies').invoke
|
409
477
|
File.exist?('dependencies.yml').should be_true
|
@@ -432,7 +500,7 @@ MANIFEST
|
|
432
500
|
package(:bundle)
|
433
501
|
}
|
434
502
|
end
|
435
|
-
|
503
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
436
504
|
project('container').task('osgi:resolve:dependencies').invoke
|
437
505
|
File.exist?('dependencies.yml').should be_true
|
438
506
|
File.read('dependencies.yml').should == <<-CONTENTS
|
@@ -481,7 +549,7 @@ MANIFEST
|
|
481
549
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
482
550
|
package(:bundle)
|
483
551
|
}
|
484
|
-
|
552
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
485
553
|
foo.task('osgi:resolve:dependencies').invoke
|
486
554
|
File.exist?('dependencies.yml').should be_true
|
487
555
|
deps = YAML::load(File.read('dependencies.yml'))
|
@@ -514,7 +582,7 @@ MANIFEST
|
|
514
582
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
515
583
|
package(:bundle)
|
516
584
|
}
|
517
|
-
|
585
|
+
OSGi.registry.containers = [e2]
|
518
586
|
foo.task('osgi:resolve:dependencies').invoke
|
519
587
|
File.exist?('dependencies.yml').should be_true
|
520
588
|
deps = YAML::load(File.read('dependencies.yml'))
|
@@ -548,7 +616,7 @@ MANIFEST
|
|
548
616
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
549
617
|
package(:bundle)
|
550
618
|
}
|
551
|
-
|
619
|
+
OSGi.registry.containers = [e2]
|
552
620
|
foo.task('osgi:resolve:dependencies').invoke
|
553
621
|
File.exist?('dependencies.yml').should be_true
|
554
622
|
deps = YAML::load(File.read('dependencies.yml'))
|
@@ -587,7 +655,7 @@ MANIFEST
|
|
587
655
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
588
656
|
package(:bundle)
|
589
657
|
}
|
590
|
-
|
658
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
591
659
|
foo.dependencies
|
592
660
|
foo.task('osgi:install:dependencies').invoke
|
593
661
|
File.exist?(artifact("org.eclipse:org.eclipse.debug.ui:jar:3.4.1.v20080811_r341").to_s).should be_true
|
@@ -605,7 +673,7 @@ Require-Bundle: org.eclipse.debug.ui,
|
|
605
673
|
org.eclipse.core.runtime.compatibility.registry
|
606
674
|
MANIFEST
|
607
675
|
foo = define('foo', :version => "1.0", :group => "grp") do package(:bundle) end
|
608
|
-
|
676
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
609
677
|
|
610
678
|
foo.task('osgi:resolve:dependencies').invoke
|
611
679
|
foo.task('osgi:install:dependencies').invoke
|
@@ -632,7 +700,7 @@ MANIFEST
|
|
632
700
|
foo = define('foo', :version => "1.0", :group => "grp") {
|
633
701
|
package(:bundle)
|
634
702
|
}
|
635
|
-
|
703
|
+
OSGi.registry.containers = @eclipse_instances.dup
|
636
704
|
repositories.release_to = 'sftp://example.com/base'
|
637
705
|
|
638
706
|
foo.task('osgi:resolve:dependencies').invoke
|
data/spec/osgi/registry_spec.rb
CHANGED
@@ -15,49 +15,59 @@
|
|
15
15
|
|
16
16
|
require File.join(File.dirname(__FILE__), '../spec_helpers')
|
17
17
|
|
18
|
+
Spec::Runner.configure do |config|
|
19
|
+
config.include Buildr4OSGi::SpecHelpers
|
20
|
+
end
|
21
|
+
|
18
22
|
describe OSGi::Registry do
|
19
23
|
|
20
24
|
it 'should be possible to set containers from the Buildr settings' do
|
21
25
|
pending "Doesn't work when using rake coverage"
|
22
26
|
yaml = {"osgi" => ({"containers" => ["myContainer"]})}
|
23
27
|
write 'home/.buildr/settings.yaml', yaml.to_yaml
|
24
|
-
|
28
|
+
OSGi.registry.containers.should == ["myContainer"]
|
25
29
|
end
|
26
30
|
|
27
|
-
it 'should be
|
28
|
-
|
31
|
+
it 'should be possible to set the containers from the OSGi environment variables' do
|
32
|
+
ENV['OSGi'] = "foo;bar"
|
33
|
+
OSGi.registry.containers.should == ["foo","bar"]
|
29
34
|
end
|
30
35
|
|
36
|
+
it 'should fall back on OSGI if the constant OSGi is not defined, issuing a warning' do
|
37
|
+
ENV['OSGi'] = nil
|
38
|
+
ENV['OSGI'] = "foo;bar"
|
39
|
+
lambda {OSGi.registry.resolved_containers}.should show_warning "The correct constant to define for the OSGi containers is named OSGi"
|
40
|
+
ENV['OSGi'].should == ENV['OSGI']
|
41
|
+
end
|
31
42
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
define('foo').osgi.registry.containers.should == ["foo","bar"]
|
43
|
+
it 'should not complain if OSGI is set and OSGi is also set' do
|
44
|
+
ENV['OSGI'] = nil
|
45
|
+
lambda {OSGi.registry.resolved_containers}.should_not show_warning "The correct constant to define for the OSGi containers is named OSGi"
|
36
46
|
end
|
37
47
|
|
38
|
-
it 'should be possible to modify the containers in the registry before the
|
39
|
-
|
40
|
-
lambda {
|
41
|
-
lambda {foo.osgi.registry.containers = ["hello"]}.should_not raise_error
|
48
|
+
it 'should be possible to modify the containers in the registry before the resolved_containers method is called' do
|
49
|
+
lambda {OSGi.registry.containers << "hello"}.should_not raise_error
|
50
|
+
lambda {OSGi.registry.containers = ["hello"]}.should_not raise_error
|
42
51
|
end
|
43
52
|
|
44
|
-
it 'should throw an exception when modifying the containers in the registry after the
|
53
|
+
it 'should throw an exception when modifying the containers in the registry after the resolved_containers method is called' do
|
45
54
|
foo = define('foo')
|
46
|
-
|
47
|
-
lambda {
|
48
|
-
lambda {
|
55
|
+
OSGi.registry.resolved_containers
|
56
|
+
lambda {OSGi.registry.containers << "hello"}.should raise_error(TypeError)
|
57
|
+
lambda {OSGi.registry.containers = ["hello"]}.should raise_error(RuntimeError, /Cannot set containers, containers have been resolved already/)
|
49
58
|
end
|
50
59
|
end
|
51
60
|
|
52
61
|
|
53
|
-
describe OSGi
|
62
|
+
describe OSGi do
|
54
63
|
|
55
|
-
it 'should
|
56
|
-
|
64
|
+
it 'should give a handle over the OSGi containers registry' do
|
65
|
+
OSGi.registry.should be_instance_of(::OSGi::Registry)
|
57
66
|
end
|
58
67
|
|
59
|
-
it 'should
|
60
|
-
|
68
|
+
it 'should help determine whether a package is part of the framework given by the execution environment' do
|
69
|
+
OSGi.is_framework_package?("com.mypackage").should be_false
|
70
|
+
OSGi.is_framework_package?(OSGi::JAVASE16.packages.first).should be_true
|
61
71
|
end
|
62
72
|
|
63
73
|
end
|
@@ -24,7 +24,7 @@ describe OSGi::BundleResolvingStrategies do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'should use latest by default to resolve bundle dependencies' do
|
27
|
-
|
27
|
+
OSGi.options.bundle_resolving_strategy.should eql(:latest)
|
28
28
|
end
|
29
29
|
|
30
30
|
describe 'latest' do
|
@@ -70,7 +70,7 @@ describe OSGi::PackageResolvingStrategies do
|
|
70
70
|
end
|
71
71
|
|
72
72
|
it 'should use all by default to resolve package dependencies' do
|
73
|
-
|
73
|
+
OSGi.options.package_resolving_strategy.should eql(:all)
|
74
74
|
end
|
75
75
|
|
76
76
|
describe 'all' do
|
data/spec/osgi/version_spec.rb
CHANGED
@@ -124,4 +124,10 @@ describe OSGi::VersionRange do
|
|
124
124
|
r2.to_s.should eql("[1.0.0,2.0.0)")
|
125
125
|
end
|
126
126
|
|
127
|
+
it 'should be able to consume a range with a space before or after the two limits' do
|
128
|
+
OSGi::VersionRange.parse("[1.0.0, 2.0.0)").should be_instance_of(OSGi::VersionRange)
|
129
|
+
OSGi::VersionRange.parse("[1.0.0 , 2.0.0)").should be_instance_of(OSGi::VersionRange)
|
130
|
+
OSGi::VersionRange.parse("[1.0.0 ,2.0.0)").should be_instance_of(OSGi::VersionRange)
|
131
|
+
end
|
132
|
+
|
127
133
|
end
|
data/spec/spec_helpers.rb
CHANGED
@@ -51,14 +51,26 @@ unless defined?(SpecHelpers)
|
|
51
51
|
|
52
52
|
OSGi_REPOS = File.expand_path File.join(File.dirname(__FILE__), "..", "tmp", "osgi")
|
53
53
|
|
54
|
+
module MockInstanceWriter
|
55
|
+
def registry=(i)
|
56
|
+
@registry=i
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
54
60
|
class << self
|
55
61
|
|
56
62
|
def included(config)
|
63
|
+
config.before(:all) {
|
64
|
+
OSGi.extend MockInstanceWriter
|
65
|
+
}
|
66
|
+
|
57
67
|
config.before(:each) {
|
58
68
|
remoteRepositoryForHelpers()
|
69
|
+
OSGi.registry = OSGi::Registry.new
|
59
70
|
}
|
60
71
|
config.after(:all) {
|
61
72
|
FileUtils.rm_rf Buildr4OSGi::SpecHelpers::OSGi_REPOS
|
73
|
+
|
62
74
|
}
|
63
75
|
end
|
64
76
|
end
|