From 6730f0011eb1fafa97492e1d051403fbcdfdd15c Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 18 Mar 2020 13:39:30 -0600 Subject: Use GRADLE_CLI_OPTS when invoking gradle directly * Extract gradle_command method * Bump version and update CHANGELOG * Remove prepare_java step from run.sh --- spec/integration/java/gradle_spec.rb | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'spec/integration/java') diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb index 1b566bb..32e78c5 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -49,6 +49,38 @@ plugins { end end + context "when scanning a gradle projects that uses a custom repository" do + it 'detects the licenses' do + runner.add_file('build.gradle') do + <<~GRADLE +plugins { + id 'java-library' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation 'org.hibernate:hibernate-core:3.6.7.Final' + api 'com.google.guava:guava:23.0' + testImplementation 'junit:junit:4.+' +} + GRADLE + end + runner.add_file('my-settings.gradle') do + <<~SETTINGS + rootProject.name = 'gradle-example' + SETTINGS + end + + report = runner.scan(env: { + 'GRADLE_CLI_OPTS' => '--settings-file my-settings.gradle' + }) + expect(report).to match_schema(version: '2.0') + end + end + [ '6.2', '5.6', -- cgit v1.2.3 From 43c4a1c7ba355d42e717f61bcc7b71a317d9c5b3 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 16 Apr 2020 19:26:50 -0600 Subject: Ensure at least one runtime dependency is detected in gradle specs --- lib/license/finder/ext/gradle.rb | 39 +++++++++++++++++++++++++++++--- spec/fixtures/java/build.gradle | 13 +++++++++++ spec/fixtures/java/build.gradle.kts | 1 + spec/integration/java/gradle_spec.rb | 43 ++++++++++-------------------------- 4 files changed, 62 insertions(+), 34 deletions(-) create mode 100644 spec/fixtures/java/build.gradle (limited to 'spec/integration/java') diff --git a/lib/license/finder/ext/gradle.rb b/lib/license/finder/ext/gradle.rb index 64bcfbb..0129090 100644 --- a/lib/license/finder/ext/gradle.rb +++ b/lib/license/finder/ext/gradle.rb @@ -2,16 +2,49 @@ module LicenseFinder class Gradle + def current_packages + return [] unless download_licenses + + Pathname + .glob(project_path.join('**', 'dependency-license.xml')) + .map(&:read) + .flat_map { |xml_file| parse_from(xml_file) }.uniq + end + def package_management_command - wrapper? ? './gradlew' : gradle_command + wrapper? ? './gradlew' : 'gradle' + end + + private + + def download_licenses + _stdout, _stderr, status = Dir.chdir(project_path) do + shell.execute([ + @command, + 'downloadLicenses', + ENV.fetch('GRADLE_CLI_OPTS', '-x test') + ], env: { 'TERM' => 'noop' }) + end + + status.success? end def wrapper? File.exist?(File.join(project_path, 'gradlew')) end - def gradle_command - ['gradle', ENV.fetch('GRADLE_CLI_OPTS', '-x test')].join(' ') + def xml_parsing_options + @xml_parsing_options ||= { 'GroupTags' => { 'dependencies' => 'dependency' } } + end + + def parse_from(xml_file) + XmlSimple + .xml_in(xml_file, xml_parsing_options) + .fetch('dependency', []).map { |hash| map_from(hash) } + end + + def map_from(hash) + GradlePackage.new(hash, include_groups: @include_groups) end end end diff --git a/spec/fixtures/java/build.gradle b/spec/fixtures/java/build.gradle new file mode 100644 index 0000000..fa128ea --- /dev/null +++ b/spec/fixtures/java/build.gradle @@ -0,0 +1,13 @@ +plugins { + id 'java-library' +} + +repositories { + jcenter() +} + +dependencies { + runtime "org.postgresql:postgresql:42.1.4" + implementation 'com.google.guava:guava:28.2-jre' + testImplementation 'junit:junit:4.12' +} diff --git a/spec/fixtures/java/build.gradle.kts b/spec/fixtures/java/build.gradle.kts index 494fc8b..7680609 100644 --- a/spec/fixtures/java/build.gradle.kts +++ b/spec/fixtures/java/build.gradle.kts @@ -5,6 +5,7 @@ repositories { jcenter() } dependencies { + runtime("org.postgresql:postgresql:42.1.4") 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 32e78c5..54f944e 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -27,7 +27,7 @@ plugins { context 'when scanning a gradle project that does not include the `com.github.hierynomus.license` plugin' do let(:project_url) { 'https://gitlab.com/one-touch-pipeline/otp.git' } - let(:result) { runner.scan } + let(:result) { runner.scan(env: { 'LOG_LEVEL' => 'debug' }) } before do runner.clone(project_url) @@ -49,36 +49,17 @@ plugins { end end - context "when scanning a gradle projects that uses a custom repository" do - it 'detects the licenses' do - runner.add_file('build.gradle') do - <<~GRADLE -plugins { - id 'java-library' -} - -repositories { - mavenCentral() -} + context "when scanning a gradle project with a custom option to generate a profiler report" do + let(:report) { runner.scan(env: { 'GRADLE_CLI_OPTS' => '--profile' }) } -dependencies { - implementation 'org.hibernate:hibernate-core:3.6.7.Final' - api 'com.google.guava:guava:23.0' - testImplementation 'junit:junit:4.+' -} - GRADLE - end - runner.add_file('my-settings.gradle') do - <<~SETTINGS - rootProject.name = 'gradle-example' - SETTINGS - end - - report = runner.scan(env: { - 'GRADLE_CLI_OPTS' => '--settings-file my-settings.gradle' - }) - expect(report).to match_schema(version: '2.0') + before do + runner.add_file('build.gradle', fixture_file_content("java/build.gradle")) end + + specify { expect(report).to match_schema(version: '2.0') } + specify { expect { report }.to change { Dir.glob("#{runner.project_path}/build/reports/profile/profile-*.html").count }.from(0).to(1) } + specify { expect(report.dependency_names).to match_array(['postgresql']) } + specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) } end [ @@ -100,8 +81,8 @@ dependencies { 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 + expect(report.dependency_names).to match_array(['postgresql']) + expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) end end end -- cgit v1.2.3 From 8c6d89562017bad18333269a296523c0cad28885 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 16 Apr 2020 19:38:47 -0600 Subject: Update JAVA_HOME --- config/.bashrc | 12 ++++++++++-- lib/license/finder/ext/gradle.rb | 4 ++-- spec/integration/java/gradle_spec.rb | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) (limited to 'spec/integration/java') diff --git a/config/.bashrc b/config/.bashrc index cd1dc74..9c463dd 100644 --- a/config/.bashrc +++ b/config/.bashrc @@ -11,6 +11,15 @@ function inflate() { fi } +update_java_home() { + local java_path + java_path="$(asdf which java)" + if [[ -n "${java_path}" ]]; then + export JAVA_HOME + JAVA_HOME="$(dirname "$(dirname "$(realpath "${java_path}")")")" + fi +} + function switch_to() { local tool=$1 local major_version=$2 @@ -19,8 +28,7 @@ function switch_to() { asdf shell "$tool" "$version" if [[ "$tool" = "java" ]]; then - JAVA_HOME="$(asdf which java)" - export JAVA_HOME + update_java_home fi } diff --git a/lib/license/finder/ext/gradle.rb b/lib/license/finder/ext/gradle.rb index 0129090..2c3ce01 100644 --- a/lib/license/finder/ext/gradle.rb +++ b/lib/license/finder/ext/gradle.rb @@ -21,8 +21,8 @@ module LicenseFinder _stdout, _stderr, status = Dir.chdir(project_path) do shell.execute([ @command, - 'downloadLicenses', - ENV.fetch('GRADLE_CLI_OPTS', '-x test') + ENV.fetch('GRADLE_CLI_OPTS', '--exclude-task=test'), + 'downloadLicenses' ], env: { 'TERM' => 'noop' }) end diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb index 54f944e..a70dc38 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -79,7 +79,7 @@ plugins { 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 }) + report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version, 'LOG_LEVEL' => 'debug' }) expect(report).to match_schema(version: '2.0') expect(report.dependency_names).to match_array(['postgresql']) expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) -- cgit v1.2.3 From d8274b1f48e2ccc98b99af0258feb86a5fe24fb7 Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 17 Apr 2020 12:08:09 -0600 Subject: Test out gradle groovy builds --- spec/fixtures/java/build.gradle.kts | 5 ++--- spec/integration/java/gradle_spec.rb | 23 ++++++++++++++++------- 2 files changed, 18 insertions(+), 10 deletions(-) (limited to 'spec/integration/java') diff --git a/spec/fixtures/java/build.gradle.kts b/spec/fixtures/java/build.gradle.kts index 7680609..c842888 100644 --- a/spec/fixtures/java/build.gradle.kts +++ b/spec/fixtures/java/build.gradle.kts @@ -1,11 +1,10 @@ plugins { - `java-library` + `java-library` } repositories { - jcenter() + jcenter() } dependencies { - runtime("org.postgresql:postgresql:42.1.4") 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 a70dc38..842bdf7 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -63,7 +63,7 @@ plugins { end [ - '6.2', + '6.3', '5.6', '4.9', '3.5', @@ -71,15 +71,24 @@ plugins { '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("java/build.gradle.kts") } + context "when scanning a gradle (v#{gradle_version}) project" do + before do + runner.add_file('.tool-versions', "gradle #{gradle_version}") + end - it 'scans a gradle project' do - runner.add_file('build.gradle.kts', build_file_content) + it 'scans a kotlin gradle project' do + runner.add_file('build.gradle.kts', fixture_file_content("java/build.gradle.kts")) 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, 'LOG_LEVEL' => 'debug' }) + report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version }) + expect(report).to match_schema(version: '2.0') + end + + it 'scans a groovy gradle project' do + runner.add_file('build.gradle', fixture_file_content("java/build.gradle")) + runner.add_file('settings.gradle', 'rootProject.name = "example"') + + report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version }) expect(report).to match_schema(version: '2.0') expect(report.dependency_names).to match_array(['postgresql']) expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) -- cgit v1.2.3 From f16f093e26c1c2a87c2195453ae74c53eb3616bc Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 17 Apr 2020 13:58:09 -0600 Subject: Test specific versions of gradle with matching versions of java --- lib/license/finder/ext/gradle.rb | 9 +++++ spec/fixtures/java/build-11.gradle | 13 +++++++ spec/fixtures/java/build-8.gradle | 9 +++++ spec/fixtures/java/build.gradle | 13 ------- spec/fixtures/java/build.gradle.kts | 8 +++-- spec/integration/java/gradle_spec.rb | 69 +++++++++++++++++++++++------------- 6 files changed, 80 insertions(+), 41 deletions(-) create mode 100644 spec/fixtures/java/build-11.gradle create mode 100644 spec/fixtures/java/build-8.gradle delete mode 100644 spec/fixtures/java/build.gradle (limited to 'spec/integration/java') diff --git a/lib/license/finder/ext/gradle.rb b/lib/license/finder/ext/gradle.rb index 2c3ce01..ca26201 100644 --- a/lib/license/finder/ext/gradle.rb +++ b/lib/license/finder/ext/gradle.rb @@ -18,6 +18,8 @@ module LicenseFinder private def download_licenses + return [] unless gradle_major_version > 1 + _stdout, _stderr, status = Dir.chdir(project_path) do shell.execute([ @command, @@ -46,5 +48,12 @@ module LicenseFinder def map_from(hash) GradlePackage.new(hash, include_groups: @include_groups) end + + def gradle_major_version + stdout, _, status = shell.execute([package_management_command, '--version']) + stdout.match(/Gradle (?\d+)\.\d+/)&.fetch(:major, 0).to_i if status.success? + + 0 + end end end diff --git a/spec/fixtures/java/build-11.gradle b/spec/fixtures/java/build-11.gradle new file mode 100644 index 0000000..fa128ea --- /dev/null +++ b/spec/fixtures/java/build-11.gradle @@ -0,0 +1,13 @@ +plugins { + id 'java-library' +} + +repositories { + jcenter() +} + +dependencies { + runtime "org.postgresql:postgresql:42.1.4" + implementation 'com.google.guava:guava:28.2-jre' + testImplementation 'junit:junit:4.12' +} diff --git a/spec/fixtures/java/build-8.gradle b/spec/fixtures/java/build-8.gradle new file mode 100644 index 0000000..b7cffcd --- /dev/null +++ b/spec/fixtures/java/build-8.gradle @@ -0,0 +1,9 @@ +apply plugin: 'groovy' + +repositories { + mavenCentral() +} + +dependencies { + compile 'org.postgresql:postgresql:42.1.4' +} diff --git a/spec/fixtures/java/build.gradle b/spec/fixtures/java/build.gradle deleted file mode 100644 index fa128ea..0000000 --- a/spec/fixtures/java/build.gradle +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - id 'java-library' -} - -repositories { - jcenter() -} - -dependencies { - runtime "org.postgresql:postgresql:42.1.4" - implementation 'com.google.guava:guava:28.2-jre' - testImplementation 'junit:junit:4.12' -} diff --git a/spec/fixtures/java/build.gradle.kts b/spec/fixtures/java/build.gradle.kts index c842888..2ca8866 100644 --- a/spec/fixtures/java/build.gradle.kts +++ b/spec/fixtures/java/build.gradle.kts @@ -1,11 +1,13 @@ 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") + runtime("org.postgresql:postgresql:42.1.4") + 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 842bdf7..674281f 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -62,36 +62,55 @@ plugins { specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) } end + context 'when using Java 8 with version 1.* of gradle' do + before do + runner.add_file('.tool-versions', "gradle 1.9") + runner.add_file('build.gradle', fixture_file_content("java/build-8.gradle")) + end + + it 'returns an empty report because the plugin we use does not work in this version of the gradle API' do + report = runner.scan(env: { 'LM_JAVA_VERSION' => '8' }) + + expect(report).to match_schema(version:'2.0') + expect(report[:dependencies]).to be_empty + expect(report[:licenses]).to be_empty + end + end + [ - '6.3', - '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" do - before do - runner.add_file('.tool-versions', "gradle #{gradle_version}") - 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] }) } - it 'scans a kotlin gradle project' do - runner.add_file('build.gradle.kts', fixture_file_content("java/build.gradle.kts")) - runner.add_file('settings.gradle.kts', 'rootProject.name = "example"') + item[:gradle].each do |gradle_version| + context "with gradle #{gradle_version}" do + before do + runner.add_file('.tool-versions', "gradle #{gradle_version}") + end - report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version }) - expect(report).to match_schema(version: '2.0') - 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 - it 'scans a groovy gradle project' do - runner.add_file('build.gradle', fixture_file_content("java/build.gradle")) - runner.add_file('settings.gradle', 'rootProject.name = "example"') + 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 - report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version }) - expect(report).to match_schema(version: '2.0') - expect(report.dependency_names).to match_array(['postgresql']) - expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) + 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 end -- cgit v1.2.3 From ab651a14f3ee5f22fd3c9b9cf918b99e68fdb4f6 Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 17 Apr 2020 16:03:04 -0600 Subject: Split groovy and kotlin specs because they are supported differently based on java version and gradle version 😵 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spec/integration/java/gradle_spec.rb | 58 +++++++++++++++++------------------- 1 file changed, 28 insertions(+), 30 deletions(-) (limited to 'spec/integration/java') 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 -- cgit v1.2.3 From ee9ed5d7b6d85cf4970e2e893c6bd9aeadb62a54 Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 17 Apr 2020 16:13:46 -0600 Subject: Split java 8/11 files to separate fixture directories --- spec/fixtures/java/11/build.gradle | 13 +++++++++++++ spec/fixtures/java/8/build.gradle | 9 +++++++++ spec/fixtures/java/build-11.gradle | 13 ------------- spec/fixtures/java/build-8.gradle | 9 --------- spec/integration/java/gradle_spec.rb | 6 +++--- 5 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 spec/fixtures/java/11/build.gradle create mode 100644 spec/fixtures/java/8/build.gradle delete mode 100644 spec/fixtures/java/build-11.gradle delete mode 100644 spec/fixtures/java/build-8.gradle (limited to 'spec/integration/java') diff --git a/spec/fixtures/java/11/build.gradle b/spec/fixtures/java/11/build.gradle new file mode 100644 index 0000000..fa128ea --- /dev/null +++ b/spec/fixtures/java/11/build.gradle @@ -0,0 +1,13 @@ +plugins { + id 'java-library' +} + +repositories { + jcenter() +} + +dependencies { + runtime "org.postgresql:postgresql:42.1.4" + implementation 'com.google.guava:guava:28.2-jre' + testImplementation 'junit:junit:4.12' +} diff --git a/spec/fixtures/java/8/build.gradle b/spec/fixtures/java/8/build.gradle new file mode 100644 index 0000000..b7cffcd --- /dev/null +++ b/spec/fixtures/java/8/build.gradle @@ -0,0 +1,9 @@ +apply plugin: 'groovy' + +repositories { + mavenCentral() +} + +dependencies { + compile 'org.postgresql:postgresql:42.1.4' +} diff --git a/spec/fixtures/java/build-11.gradle b/spec/fixtures/java/build-11.gradle deleted file mode 100644 index fa128ea..0000000 --- a/spec/fixtures/java/build-11.gradle +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - id 'java-library' -} - -repositories { - jcenter() -} - -dependencies { - runtime "org.postgresql:postgresql:42.1.4" - implementation 'com.google.guava:guava:28.2-jre' - testImplementation 'junit:junit:4.12' -} diff --git a/spec/fixtures/java/build-8.gradle b/spec/fixtures/java/build-8.gradle deleted file mode 100644 index b7cffcd..0000000 --- a/spec/fixtures/java/build-8.gradle +++ /dev/null @@ -1,9 +0,0 @@ -apply plugin: 'groovy' - -repositories { - mavenCentral() -} - -dependencies { - compile 'org.postgresql:postgresql:42.1.4' -} diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb index deef050..9c44144 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -53,7 +53,7 @@ plugins { let(:report) { runner.scan(env: { 'GRADLE_CLI_OPTS' => '--profile' }) } before do - runner.add_file('build.gradle', fixture_file_content("java/build.gradle")) + runner.add_file('build.gradle', fixture_file_content("java/11/build.gradle")) end specify { expect(report).to match_schema(version: '2.0') } @@ -65,7 +65,7 @@ plugins { context 'when using Java 8 with version 1.* of gradle' do before do runner.add_file('.tool-versions', "gradle 1.9") - runner.add_file('build.gradle', fixture_file_content("java/build-8.gradle")) + runner.add_file('build.gradle', fixture_file_content("java/8/build.gradle")) end it 'returns an empty report because the plugin we use does not work in this version of the gradle API' do @@ -103,7 +103,7 @@ plugins { 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('build.gradle', fixture_file_content("java/#{item[:java]}/build.gradle")) runner.add_file('settings.gradle', 'rootProject.name = "example"') end -- cgit v1.2.3 From 1eec12743b42e987801e335b11884158480d6640 Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 17 Apr 2020 16:14:23 -0600 Subject: Fix linter errors --- lib/license/finder/ext/package_manager.rb | 6 +++--- spec/integration/java/gradle_spec.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'spec/integration/java') diff --git a/lib/license/finder/ext/package_manager.rb b/lib/license/finder/ext/package_manager.rb index 618b6b3..e640fc3 100644 --- a/lib/license/finder/ext/package_manager.rb +++ b/lib/license/finder/ext/package_manager.rb @@ -4,9 +4,9 @@ module LicenseFinder class PackageManager def current_packages_with_relations current_packages - rescue StandardError => error - License::Management.logger.error(error) - raise error unless @prepare_no_fail + rescue StandardError => e + License::Management.logger.error(e) + raise e unless @prepare_no_fail [] end diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb index 9c44144..daf1bac 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -71,7 +71,7 @@ plugins { it 'returns an empty report because the plugin we use does not work in this version of the gradle API' do report = runner.scan(env: { 'LM_JAVA_VERSION' => '8' }) - expect(report).to match_schema(version:'2.0') + expect(report).to match_schema(version: '2.0') expect(report[:dependencies]).to be_empty expect(report[:licenses]).to be_empty end -- cgit v1.2.3 From 5433f86d67cbca6c03e939b5a28549bbf31d8b8b Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 17 Apr 2020 17:04:26 -0600 Subject: Remove debug LOG_LEVEL from spec --- spec/integration/java/gradle_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'spec/integration/java') diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb index daf1bac..b81e69f 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -27,7 +27,7 @@ plugins { context 'when scanning a gradle project that does not include the `com.github.hierynomus.license` plugin' do let(:project_url) { 'https://gitlab.com/one-touch-pipeline/otp.git' } - let(:result) { runner.scan(env: { 'LOG_LEVEL' => 'debug' }) } + let(:result) { runner.scan } before do runner.clone(project_url) -- cgit v1.2.3