summaryrefslogtreecommitdiff
path: root/spec/integration/java
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-04-17 16:03:04 -0600
committermo khan <mo.khan@gmail.com>2020-04-17 16:03:04 -0600
commitab651a14f3ee5f22fd3c9b9cf918b99e68fdb4f6 (patch)
tree54073bb34dfe1b8924a76768ac869067d2e2d174 /spec/integration/java
parent8c21c18441195a01f6487de613350e265f2275ac (diff)
Split groovy and kotlin specs because they are supported differently based on java version and gradle version 😵
Diffstat (limited to 'spec/integration/java')
-rw-r--r--spec/integration/java/gradle_spec.rb58
1 files changed, 28 insertions, 30 deletions
diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb
index 674281f..deef050 100644
--- a/spec/integration/java/gradle_spec.rb
+++ b/spec/integration/java/gradle_spec.rb
@@ -77,41 +77,39 @@ plugins {
end
end
+ ['4.9', '5.6', '6.3'].each do |gradle_version|
+ context "when using Java v11 with a kotlin project using gradle v#{gradle_version}" do
+ let(:report) { runner.scan(env: { 'LM_JAVA_VERSION' => '11', 'GRADLE_CLI_OPTS' => '-b build.gradle.kts' }) }
+
+ before do
+ runner.add_file('.tool-versions', "gradle #{gradle_version}")
+ runner.add_file('build.gradle.kts', fixture_file_content("java/build.gradle.kts"))
+ runner.add_file('settings.gradle.kts', 'rootProject.name = "example"')
+ end
+
+ specify { expect(report).to match_schema(version: '2.0') }
+ specify { expect(report.dependency_names).to match_array(['postgresql']) }
+ specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) }
+ end
+ end
+
[
{ java: '8', gradle: ['2.9', '3.5'] },
{ java: '11', gradle: ['4.9', '5.6', '6.3'] }
].each do |item|
- context "when using Java v#{item[:java]}" do
- let(:report) { runner.scan(env: { 'LM_JAVA_VERSION' => item[:java] }) }
-
- item[:gradle].each do |gradle_version|
- context "with gradle #{gradle_version}" do
- before do
- runner.add_file('.tool-versions', "gradle #{gradle_version}")
- end
-
- context "with a kotlin project" do
- before do
- runner.add_file('build.gradle.kts', fixture_file_content("java/build.gradle.kts"))
- runner.add_file('settings.gradle.kts', 'rootProject.name = "example"')
- end
-
- specify { expect(report).to match_schema(version: '2.0') }
- specify { expect(report.dependency_names).to match_array(['postgresql']) }
- specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) }
- end
-
- context "with a groovy project" do
- before do
- runner.add_file('build.gradle', fixture_file_content("java/build-#{item[:java]}.gradle"))
- runner.add_file('settings.gradle', 'rootProject.name = "example"')
- end
-
- specify { expect(report).to match_schema(version: '2.0') }
- specify { expect(report.dependency_names).to match_array(['postgresql']) }
- specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) }
- end
+ item[:gradle].each do |gradle_version|
+ context "when using Java v#{item[:java]} with a gradle v#{gradle_version} on a groovy project" do
+ let(:report) { runner.scan(env: { 'LM_JAVA_VERSION' => item[:java] }) }
+
+ before do
+ runner.add_file('.tool-versions', "gradle #{gradle_version}")
+ runner.add_file('build.gradle', fixture_file_content("java/build-#{item[:java]}.gradle"))
+ runner.add_file('settings.gradle', 'rootProject.name = "example"')
end
+
+ specify { expect(report).to match_schema(version: '2.0') }
+ specify { expect(report.dependency_names).to match_array(['postgresql']) }
+ specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) }
end
end
end