summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/fixtures/build.gradle.kts11
-rw-r--r--spec/integration/java/gradle_spec.rb26
-rw-r--r--spec/spec_helper.rb2
-rw-r--r--spec/support/fixture_file_helper.rb5
4 files changed, 44 insertions, 0 deletions
diff --git a/spec/fixtures/build.gradle.kts b/spec/fixtures/build.gradle.kts
new file mode 100644
index 0000000..494fc8b
--- /dev/null
+++ b/spec/fixtures/build.gradle.kts
@@ -0,0 +1,11 @@
+plugins {
+ `java-library`
+}
+repositories {
+ jcenter()
+}
+dependencies {
+ api("org.apache.commons:commons-math3:3.6.1")
+ implementation("com.google.guava:guava:28.1-jre")
+ testImplementation("junit:junit:4.12")
+}
diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb
index fc52c72..ddde21c 100644
--- a/spec/integration/java/gradle_spec.rb
+++ b/spec/integration/java/gradle_spec.rb
@@ -47,4 +47,30 @@ plugins {
end
end
end
+
+ [
+ '6.2',
+ '5.6',
+ '4.9',
+ '3.5',
+ '2.9',
+ '1.9',
+ ].each do |gradle_version|
+ %w{8 11}.each do |java_version|
+ context "when scanning a gradle (v#{gradle_version}) project that uses a kotlin build script" do
+ let(:build_file_content) { fixture_file_content("build.gradle.kts") }
+
+ it 'scans a gradle project' do
+ runner.add_file('build.gradle.kts', build_file_content)
+ runner.add_file('settings.gradle.kts', 'rootProject.name = "example"')
+ runner.add_file('.tool-versions', "gradle #{gradle_version}")
+
+ report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version })
+ expect(report).to match_schema(version: '2.0')
+ expect(report[:licenses]).to be_empty
+ expect(report[:dependencies]).to be_empty
+ end
+ end
+ end
+ end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 1889335..15c9dad 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -2,10 +2,12 @@ require 'license/management'
require 'json'
require 'securerandom'
require 'json-schema'
+require 'support/fixture_file_helper'
require 'support/integration_test_helper'
require 'support/matchers'
RSpec.configure do |config|
+ config.include FixtureFileHelper
config.include IntegrationTestHelper, type: :integration
config.define_derived_metadata(file_path: /\/spec\/integration/) do |metadata|
metadata[:type] = :integration
diff --git a/spec/support/fixture_file_helper.rb b/spec/support/fixture_file_helper.rb
new file mode 100644
index 0000000..c98b98a
--- /dev/null
+++ b/spec/support/fixture_file_helper.rb
@@ -0,0 +1,5 @@
+module FixtureFileHelper
+ def fixture_file_content(path)
+ IO.read(License::Management.root.join("spec/fixtures/#{path}"))
+ end
+end