buildr-iidea 0.0.9 → 0.0.10
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/CHANGELOG +38 -33
- data/LICENSE +203 -203
- data/NOTICE +16 -16
- data/README.rdoc +328 -328
- data/Rakefile +42 -33
- data/buildr-iidea.gemspec +25 -25
- data/lib/buildr/intellij_idea/idea_file.rb +85 -85
- data/lib/buildr/intellij_idea/idea_module.rb +255 -263
- data/lib/buildr/intellij_idea/idea_project.rb +105 -105
- data/lib/buildr/intellij_idea/project_extension.rb +108 -108
- data/lib/buildr/intellij_idea/version.rb +10 -10
- data/lib/buildr_iidea.rb +6 -6
- data/spec/buildr/intellij_idea/clean_spec.rb +37 -37
- data/spec/buildr/intellij_idea/dependency_spec.rb +115 -115
- data/spec/buildr/intellij_idea/extra_modules_spec.rb +24 -24
- data/spec/buildr/intellij_idea/facet_generation_spec.rb +36 -36
- data/spec/buildr/intellij_idea/group_spec.rb +33 -33
- data/spec/buildr/intellij_idea/idea_file_generation_spec.rb +243 -243
- data/spec/buildr/intellij_idea/inform_spec.rb +28 -28
- data/spec/buildr/intellij_idea/initial_components_spec.rb +38 -38
- data/spec/buildr/intellij_idea/module_content_generation_spec.rb +96 -96
- data/spec/buildr/intellij_idea/module_defaults.rb +15 -15
- data/spec/buildr/intellij_idea/module_property_inheritance_spec.rb +27 -27
- data/spec/buildr/intellij_idea/project_extension_spec.rb +96 -96
- data/spec/buildr/intellij_idea/template_spec.rb +233 -233
- data/spec/spec_helper.rb +79 -72
- data/spec/xpath_matchers.rb +108 -108
- metadata +15 -16
- data/spec/spec.opts +0 -1
@@ -1,243 +1,243 @@
|
|
1
|
-
require File.expand_path('../../../spec_helper', __FILE__)
|
2
|
-
|
3
|
-
describe "iidea:generate" do
|
4
|
-
describe "with a single project definition" do
|
5
|
-
describe "and default naming" do
|
6
|
-
before do
|
7
|
-
@foo = define "foo"
|
8
|
-
invoke_generate_task
|
9
|
-
end
|
10
|
-
|
11
|
-
it "generates a single IPR" do
|
12
|
-
Dir[@foo._("**/*.ipr")].should have(1).entry
|
13
|
-
end
|
14
|
-
|
15
|
-
it "generate an IPR in the root directory" do
|
16
|
-
File.should be_exist(@foo._("foo.ipr"))
|
17
|
-
end
|
18
|
-
|
19
|
-
it "generates a single IML" do
|
20
|
-
Dir[@foo._("**/*.iml")].should have(1).entry
|
21
|
-
end
|
22
|
-
|
23
|
-
it "generates an IML in the root directory" do
|
24
|
-
File.should be_exist(@foo._("foo.iml"))
|
25
|
-
end
|
26
|
-
|
27
|
-
it "generate an IPR with the reference to correct module file" do
|
28
|
-
File.should be_exist(@foo._("foo.ipr"))
|
29
|
-
doc = xml_document(@foo._("foo.ipr"))
|
30
|
-
module_ref = "$PROJECT_DIR$/foo.iml"
|
31
|
-
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe "with no_iml generation disabled" do
|
36
|
-
before do
|
37
|
-
@foo = define "foo" do
|
38
|
-
project.no_iml
|
39
|
-
end
|
40
|
-
invoke_generate_task
|
41
|
-
end
|
42
|
-
|
43
|
-
it "generates no IML" do
|
44
|
-
Dir[@foo._("**/*.iml")].should have(0).entry
|
45
|
-
end
|
46
|
-
|
47
|
-
it "generate an IPR with no references" do
|
48
|
-
File.should be_exist(@foo._("foo.ipr"))
|
49
|
-
doc = xml_document(@foo._("foo.ipr"))
|
50
|
-
doc.should have_nodes("#{xpath_to_module}", 0)
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
describe "with ipr generation disabled" do
|
55
|
-
before do
|
56
|
-
@foo = define "foo" do
|
57
|
-
project.no_ipr
|
58
|
-
end
|
59
|
-
invoke_generate_task
|
60
|
-
end
|
61
|
-
|
62
|
-
it "generates a single IML" do
|
63
|
-
Dir[@foo._("**/*.iml")].should have(1).entry
|
64
|
-
end
|
65
|
-
|
66
|
-
it "generate no IPR" do
|
67
|
-
File.should_not be_exist(@foo._("foo.ipr"))
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
describe "and id overrides" do
|
72
|
-
before do
|
73
|
-
@foo = define "foo" do
|
74
|
-
ipr.id = 'fooble'
|
75
|
-
iml.id = 'feap'
|
76
|
-
define "bar" do
|
77
|
-
iml.id = "baz"
|
78
|
-
end
|
79
|
-
end
|
80
|
-
invoke_generate_task
|
81
|
-
end
|
82
|
-
|
83
|
-
it "generate an IPR in the root directory" do
|
84
|
-
File.should be_exist(@foo._("fooble.ipr"))
|
85
|
-
end
|
86
|
-
|
87
|
-
it "generates an IML in the root directory" do
|
88
|
-
File.should be_exist(@foo._("feap.iml"))
|
89
|
-
end
|
90
|
-
|
91
|
-
it "generates an IML in the subproject directory" do
|
92
|
-
File.should be_exist(@foo._("bar/baz.iml"))
|
93
|
-
end
|
94
|
-
|
95
|
-
it "generate an IPR with the reference to correct module file" do
|
96
|
-
File.should be_exist(@foo._("fooble.ipr"))
|
97
|
-
doc = xml_document(@foo._("fooble.ipr"))
|
98
|
-
module_ref = "$PROJECT_DIR$/feap.iml"
|
99
|
-
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
describe "and a suffix defined" do
|
104
|
-
before do
|
105
|
-
@foo = define "foo" do
|
106
|
-
ipr.suffix = '-ipr-suffix'
|
107
|
-
iml.suffix = '-iml-suffix'
|
108
|
-
end
|
109
|
-
invoke_generate_task
|
110
|
-
end
|
111
|
-
|
112
|
-
it "generate an IPR in the root directory" do
|
113
|
-
File.should be_exist(@foo._("foo-ipr-suffix.ipr"))
|
114
|
-
end
|
115
|
-
|
116
|
-
it "generates an IML in the root directory" do
|
117
|
-
File.should be_exist(@foo._("foo-iml-suffix.iml"))
|
118
|
-
end
|
119
|
-
|
120
|
-
it "generate an IPR with the reference to correct module file" do
|
121
|
-
File.should be_exist(@foo._("foo-ipr-suffix.ipr"))
|
122
|
-
doc = xml_document(@foo._("foo-ipr-suffix.ipr"))
|
123
|
-
doc.should have_nodes("#{xpath_to_module}", 1)
|
124
|
-
module_ref = "$PROJECT_DIR$/foo-iml-suffix.iml"
|
125
|
-
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
126
|
-
end
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
describe "with a subproject" do
|
131
|
-
before do
|
132
|
-
@foo = define "foo" do
|
133
|
-
define 'bar'
|
134
|
-
end
|
135
|
-
invoke_generate_task
|
136
|
-
end
|
137
|
-
|
138
|
-
it "creates the subproject directory" do
|
139
|
-
File.should be_exist(@foo._("bar"))
|
140
|
-
end
|
141
|
-
|
142
|
-
it "generates an IML in the subproject directory" do
|
143
|
-
File.should be_exist(@foo._("bar/bar.iml"))
|
144
|
-
end
|
145
|
-
|
146
|
-
it "generate an IPR with the reference to correct module file" do
|
147
|
-
File.should be_exist(@foo._("foo.ipr"))
|
148
|
-
doc = xml_document(@foo._("foo.ipr"))
|
149
|
-
doc.should have_nodes("#{xpath_to_module}", 2)
|
150
|
-
module_ref = "$PROJECT_DIR$/foo.iml"
|
151
|
-
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
152
|
-
module_ref = "$PROJECT_DIR$/bar/bar.iml"
|
153
|
-
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
describe "with base_dir specified" do
|
158
|
-
before do
|
159
|
-
@foo = define "foo" do
|
160
|
-
define('bar', :base_dir => 'fe') do
|
161
|
-
define('baz', :base_dir => 'fi') do
|
162
|
-
define('foe')
|
163
|
-
end
|
164
|
-
define('fum')
|
165
|
-
end
|
166
|
-
end
|
167
|
-
invoke_generate_task
|
168
|
-
end
|
169
|
-
|
170
|
-
it "generates a subproject IML in the specified directory" do
|
171
|
-
File.should be_exist(@foo._("fe/bar.iml"))
|
172
|
-
end
|
173
|
-
|
174
|
-
it "generates a sub-subproject IML in the specified directory" do
|
175
|
-
File.should be_exist(@foo._("fi/baz.iml"))
|
176
|
-
end
|
177
|
-
|
178
|
-
it "generates a sub-sub-subproject IML that inherits the specified directory" do
|
179
|
-
File.should be_exist(@foo._("fi/foe/foe.iml"))
|
180
|
-
end
|
181
|
-
|
182
|
-
it "generates a sub-subproject IML that inherits the specified directory" do
|
183
|
-
File.should be_exist(@foo._("fe/fum/fum.iml"))
|
184
|
-
end
|
185
|
-
|
186
|
-
it "generate an IPR with the references to correct module files" do
|
187
|
-
doc = xml_document(@foo._("foo.ipr"))
|
188
|
-
doc.should have_nodes("#{xpath_to_module}", 5)
|
189
|
-
["foo.iml", "fe/bar.iml", "fi/baz.iml", "fi/foe/foe.iml","fe/fum/fum.iml"].each do |module_ref|
|
190
|
-
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://$PROJECT_DIR$/#{module_ref}', @filepath='$PROJECT_DIR$/#{module_ref}']", 1)
|
191
|
-
end
|
192
|
-
end
|
193
|
-
end
|
194
|
-
|
195
|
-
describe "with extensive intermodule dependencies" do
|
196
|
-
before do
|
197
|
-
mkdir_p 'foo/src/main/resources'
|
198
|
-
mkdir_p 'foo/src/main/java/foo'
|
199
|
-
touch 'foo/src/main/java/foo/Foo.java' # needed so that buildr will treat as a java project
|
200
|
-
define "root" do
|
201
|
-
repositories.remote << 'http://mirrors.ibiblio.org/pub/mirrors/maven2/'
|
202
|
-
project.version = "2.5.2"
|
203
|
-
define 'foo' do
|
204
|
-
resources.from _(:source, :main, :resources)
|
205
|
-
compile.with 'org.slf4j:slf4j-api:jar:1.5.11'
|
206
|
-
test.using(:junit)
|
207
|
-
package(:jar)
|
208
|
-
end
|
209
|
-
|
210
|
-
define 'bar' do
|
211
|
-
# internally transitive dependencies on foo, both runtime and test
|
212
|
-
compile.with project('root:foo'), project('root:foo').compile.dependencies
|
213
|
-
test.using(:junit).with [project('root:foo').test.compile.target,
|
214
|
-
project('root:foo').test.resources.target,
|
215
|
-
project('root:foo').test.compile.dependencies].compact
|
216
|
-
package(:jar)
|
217
|
-
end
|
218
|
-
end
|
219
|
-
|
220
|
-
invoke_generate_task
|
221
|
-
@bar_iml = xml_document(project('root:bar')._('bar.iml'))
|
222
|
-
@bar_lib_urls = @bar_iml.get_elements("//orderEntry[@type='module-library']/library/CLASSES/root").collect do |root|
|
223
|
-
root.attribute('url').to_s
|
224
|
-
end
|
225
|
-
end
|
226
|
-
|
227
|
-
it "depends on the associated module exactly once" do
|
228
|
-
@bar_iml.should have_nodes("//orderEntry[@type='module', @module-name='foo']", 1)
|
229
|
-
end
|
230
|
-
|
231
|
-
it "does not depend on the other project's packaged JAR" do
|
232
|
-
@bar_lib_urls.grep(%r{#{project('root:foo').packages.first}}).should == []
|
233
|
-
end
|
234
|
-
|
235
|
-
it "does not depend on the the other project's target/classes directory" do
|
236
|
-
@bar_lib_urls.grep(%r{foo/target/classes}).should == []
|
237
|
-
end
|
238
|
-
|
239
|
-
it "depends on the the other project's target/resources directory" do
|
240
|
-
@bar_lib_urls.grep(%r{file://\$MODULE_DIR\$/../foo/target/resources}).size.should == 1
|
241
|
-
end
|
242
|
-
end
|
243
|
-
end
|
1
|
+
require File.expand_path('../../../spec_helper', __FILE__)
|
2
|
+
|
3
|
+
describe "iidea:generate" do
|
4
|
+
describe "with a single project definition" do
|
5
|
+
describe "and default naming" do
|
6
|
+
before do
|
7
|
+
@foo = define "foo"
|
8
|
+
invoke_generate_task
|
9
|
+
end
|
10
|
+
|
11
|
+
it "generates a single IPR" do
|
12
|
+
Dir[@foo._("**/*.ipr")].should have(1).entry
|
13
|
+
end
|
14
|
+
|
15
|
+
it "generate an IPR in the root directory" do
|
16
|
+
File.should be_exist(@foo._("foo.ipr"))
|
17
|
+
end
|
18
|
+
|
19
|
+
it "generates a single IML" do
|
20
|
+
Dir[@foo._("**/*.iml")].should have(1).entry
|
21
|
+
end
|
22
|
+
|
23
|
+
it "generates an IML in the root directory" do
|
24
|
+
File.should be_exist(@foo._("foo.iml"))
|
25
|
+
end
|
26
|
+
|
27
|
+
it "generate an IPR with the reference to correct module file" do
|
28
|
+
File.should be_exist(@foo._("foo.ipr"))
|
29
|
+
doc = xml_document(@foo._("foo.ipr"))
|
30
|
+
module_ref = "$PROJECT_DIR$/foo.iml"
|
31
|
+
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "with no_iml generation disabled" do
|
36
|
+
before do
|
37
|
+
@foo = define "foo" do
|
38
|
+
project.no_iml
|
39
|
+
end
|
40
|
+
invoke_generate_task
|
41
|
+
end
|
42
|
+
|
43
|
+
it "generates no IML" do
|
44
|
+
Dir[@foo._("**/*.iml")].should have(0).entry
|
45
|
+
end
|
46
|
+
|
47
|
+
it "generate an IPR with no references" do
|
48
|
+
File.should be_exist(@foo._("foo.ipr"))
|
49
|
+
doc = xml_document(@foo._("foo.ipr"))
|
50
|
+
doc.should have_nodes("#{xpath_to_module}", 0)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "with ipr generation disabled" do
|
55
|
+
before do
|
56
|
+
@foo = define "foo" do
|
57
|
+
project.no_ipr
|
58
|
+
end
|
59
|
+
invoke_generate_task
|
60
|
+
end
|
61
|
+
|
62
|
+
it "generates a single IML" do
|
63
|
+
Dir[@foo._("**/*.iml")].should have(1).entry
|
64
|
+
end
|
65
|
+
|
66
|
+
it "generate no IPR" do
|
67
|
+
File.should_not be_exist(@foo._("foo.ipr"))
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe "and id overrides" do
|
72
|
+
before do
|
73
|
+
@foo = define "foo" do
|
74
|
+
ipr.id = 'fooble'
|
75
|
+
iml.id = 'feap'
|
76
|
+
define "bar" do
|
77
|
+
iml.id = "baz"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
invoke_generate_task
|
81
|
+
end
|
82
|
+
|
83
|
+
it "generate an IPR in the root directory" do
|
84
|
+
File.should be_exist(@foo._("fooble.ipr"))
|
85
|
+
end
|
86
|
+
|
87
|
+
it "generates an IML in the root directory" do
|
88
|
+
File.should be_exist(@foo._("feap.iml"))
|
89
|
+
end
|
90
|
+
|
91
|
+
it "generates an IML in the subproject directory" do
|
92
|
+
File.should be_exist(@foo._("bar/baz.iml"))
|
93
|
+
end
|
94
|
+
|
95
|
+
it "generate an IPR with the reference to correct module file" do
|
96
|
+
File.should be_exist(@foo._("fooble.ipr"))
|
97
|
+
doc = xml_document(@foo._("fooble.ipr"))
|
98
|
+
module_ref = "$PROJECT_DIR$/feap.iml"
|
99
|
+
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
describe "and a suffix defined" do
|
104
|
+
before do
|
105
|
+
@foo = define "foo" do
|
106
|
+
ipr.suffix = '-ipr-suffix'
|
107
|
+
iml.suffix = '-iml-suffix'
|
108
|
+
end
|
109
|
+
invoke_generate_task
|
110
|
+
end
|
111
|
+
|
112
|
+
it "generate an IPR in the root directory" do
|
113
|
+
File.should be_exist(@foo._("foo-ipr-suffix.ipr"))
|
114
|
+
end
|
115
|
+
|
116
|
+
it "generates an IML in the root directory" do
|
117
|
+
File.should be_exist(@foo._("foo-iml-suffix.iml"))
|
118
|
+
end
|
119
|
+
|
120
|
+
it "generate an IPR with the reference to correct module file" do
|
121
|
+
File.should be_exist(@foo._("foo-ipr-suffix.ipr"))
|
122
|
+
doc = xml_document(@foo._("foo-ipr-suffix.ipr"))
|
123
|
+
doc.should have_nodes("#{xpath_to_module}", 1)
|
124
|
+
module_ref = "$PROJECT_DIR$/foo-iml-suffix.iml"
|
125
|
+
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
describe "with a subproject" do
|
131
|
+
before do
|
132
|
+
@foo = define "foo" do
|
133
|
+
define 'bar'
|
134
|
+
end
|
135
|
+
invoke_generate_task
|
136
|
+
end
|
137
|
+
|
138
|
+
it "creates the subproject directory" do
|
139
|
+
File.should be_exist(@foo._("bar"))
|
140
|
+
end
|
141
|
+
|
142
|
+
it "generates an IML in the subproject directory" do
|
143
|
+
File.should be_exist(@foo._("bar/bar.iml"))
|
144
|
+
end
|
145
|
+
|
146
|
+
it "generate an IPR with the reference to correct module file" do
|
147
|
+
File.should be_exist(@foo._("foo.ipr"))
|
148
|
+
doc = xml_document(@foo._("foo.ipr"))
|
149
|
+
doc.should have_nodes("#{xpath_to_module}", 2)
|
150
|
+
module_ref = "$PROJECT_DIR$/foo.iml"
|
151
|
+
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
152
|
+
module_ref = "$PROJECT_DIR$/bar/bar.iml"
|
153
|
+
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://#{module_ref}', @filepath='#{module_ref}']", 1)
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
describe "with base_dir specified" do
|
158
|
+
before do
|
159
|
+
@foo = define "foo" do
|
160
|
+
define('bar', :base_dir => 'fe') do
|
161
|
+
define('baz', :base_dir => 'fi') do
|
162
|
+
define('foe')
|
163
|
+
end
|
164
|
+
define('fum')
|
165
|
+
end
|
166
|
+
end
|
167
|
+
invoke_generate_task
|
168
|
+
end
|
169
|
+
|
170
|
+
it "generates a subproject IML in the specified directory" do
|
171
|
+
File.should be_exist(@foo._("fe/bar.iml"))
|
172
|
+
end
|
173
|
+
|
174
|
+
it "generates a sub-subproject IML in the specified directory" do
|
175
|
+
File.should be_exist(@foo._("fi/baz.iml"))
|
176
|
+
end
|
177
|
+
|
178
|
+
it "generates a sub-sub-subproject IML that inherits the specified directory" do
|
179
|
+
File.should be_exist(@foo._("fi/foe/foe.iml"))
|
180
|
+
end
|
181
|
+
|
182
|
+
it "generates a sub-subproject IML that inherits the specified directory" do
|
183
|
+
File.should be_exist(@foo._("fe/fum/fum.iml"))
|
184
|
+
end
|
185
|
+
|
186
|
+
it "generate an IPR with the references to correct module files" do
|
187
|
+
doc = xml_document(@foo._("foo.ipr"))
|
188
|
+
doc.should have_nodes("#{xpath_to_module}", 5)
|
189
|
+
["foo.iml", "fe/bar.iml", "fi/baz.iml", "fi/foe/foe.iml","fe/fum/fum.iml"].each do |module_ref|
|
190
|
+
doc.should have_nodes("#{xpath_to_module}[@fileurl='file://$PROJECT_DIR$/#{module_ref}', @filepath='$PROJECT_DIR$/#{module_ref}']", 1)
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
describe "with extensive intermodule dependencies" do
|
196
|
+
before do
|
197
|
+
mkdir_p 'foo/src/main/resources'
|
198
|
+
mkdir_p 'foo/src/main/java/foo'
|
199
|
+
touch 'foo/src/main/java/foo/Foo.java' # needed so that buildr will treat as a java project
|
200
|
+
define "root" do
|
201
|
+
repositories.remote << 'http://mirrors.ibiblio.org/pub/mirrors/maven2/'
|
202
|
+
project.version = "2.5.2"
|
203
|
+
define 'foo' do
|
204
|
+
resources.from _(:source, :main, :resources)
|
205
|
+
compile.with 'org.slf4j:slf4j-api:jar:1.5.11'
|
206
|
+
test.using(:junit)
|
207
|
+
package(:jar)
|
208
|
+
end
|
209
|
+
|
210
|
+
define 'bar' do
|
211
|
+
# internally transitive dependencies on foo, both runtime and test
|
212
|
+
compile.with project('root:foo'), project('root:foo').compile.dependencies
|
213
|
+
test.using(:junit).with [project('root:foo').test.compile.target,
|
214
|
+
project('root:foo').test.resources.target,
|
215
|
+
project('root:foo').test.compile.dependencies].compact
|
216
|
+
package(:jar)
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
invoke_generate_task
|
221
|
+
@bar_iml = xml_document(project('root:bar')._('bar.iml'))
|
222
|
+
@bar_lib_urls = @bar_iml.get_elements("//orderEntry[@type='module-library']/library/CLASSES/root").collect do |root|
|
223
|
+
root.attribute('url').to_s
|
224
|
+
end
|
225
|
+
end
|
226
|
+
|
227
|
+
it "depends on the associated module exactly once" do
|
228
|
+
@bar_iml.should have_nodes("//orderEntry[@type='module', @module-name='foo']", 1)
|
229
|
+
end
|
230
|
+
|
231
|
+
it "does not depend on the other project's packaged JAR" do
|
232
|
+
@bar_lib_urls.grep(%r{#{project('root:foo').packages.first}}).should == []
|
233
|
+
end
|
234
|
+
|
235
|
+
it "does not depend on the the other project's target/classes directory" do
|
236
|
+
@bar_lib_urls.grep(%r{foo/target/classes}).should == []
|
237
|
+
end
|
238
|
+
|
239
|
+
it "depends on the the other project's target/resources directory" do
|
240
|
+
@bar_lib_urls.grep(%r{file://\$MODULE_DIR\$/../foo/target/resources}).size.should == 1
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|