diff options
| author | Can Eldem <celdem@gitlab.com> | 2020-02-27 16:49:42 +0000 |
|---|---|---|
| committer | Can Eldem <celdem@gitlab.com> | 2020-02-27 16:49:42 +0000 |
| commit | b04960caaf1abe23bc03d96688267f79aa6613a1 (patch) | |
| tree | 199103717826b9bcdf088fc062af1fe679ee8be8 | |
| parent | c459a6d76a0f540ac4c5345d6f6124769aa55184 (diff) | |
| parent | b3563987c1c0aaa37b827713a291b53bd6048a4b (diff) | |
Merge branch '202126-gradle-specs' into 'master'v2.7.0
Ensure the `license-gradle-plugin` shim works across different versions of gradle
See merge request gitlab-org/security-products/license-management!118
| -rw-r--r-- | CHANGELOG.md | 4 | ||||
| -rw-r--r-- | Dockerfile | 5 | ||||
| -rw-r--r-- | Gemfile.lock | 2 | ||||
| -rwxr-xr-x | bin/docker-build | 10 | ||||
| -rw-r--r-- | lib/license/management/version.rb | 2 | ||||
| -rw-r--r-- | spec/fixtures/build.gradle.kts | 11 | ||||
| -rw-r--r-- | spec/integration/java/gradle_spec.rb | 26 | ||||
| -rw-r--r-- | spec/spec_helper.rb | 2 | ||||
| -rw-r--r-- | spec/support/fixture_file_helper.rb | 5 |
9 files changed, 62 insertions, 5 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cebfd1..dac69aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # GitLab License management changelog +## v2.7.0 + +- Install project specific versions of gradle at scan time. (!118) + ## v2.6.0 - Upgrade to license finder 6.0.0 docker image (!115) @@ -23,13 +23,16 @@ RUN add-apt-repository ppa:ondrej/php -y && apt-get update -y && \ echo 'conan' >> $HOME/.default-python-packages && \ echo '\n. $HOME/.asdf/asdf.sh' >> $HOME/.bashrc && \ echo 'legacy_version_file = yes' > $HOME/.asdfrc && \ + asdf plugin-add gradle && \ asdf plugin-add java && \ asdf plugin-add python && \ + echo 'gradle system' >> $HOME/.tool-versions && \ echo 'java adopt-openjdk-8u242-b08 adopt-openjdk-11.0.6+10' >> $HOME/.tool-versions && \ echo 'python 3.8.1 3.5.9 2.7.17' >> $HOME/.tool-versions && \ asdf install && \ - asdf global python 3.8.1 && \ + asdf global gradle system && \ asdf global java adopt-openjdk-8u242-b08 && \ + asdf global python 3.8.1 && \ asdf reshim && \ bash -lc "gem install --no-document 'bundler:~> 1.7' 'bundler:~> 2.0'" && \ rm -fr /opt/jdk* && \ diff --git a/Gemfile.lock b/Gemfile.lock index 0dc8334..740baeb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - license-management (2.6.0) + license-management (2.7.0) license_finder (~> 6.0.0) GEM diff --git a/bin/docker-build b/bin/docker-build index 428dda8..1751c74 100755 --- a/bin/docker-build +++ b/bin/docker-build @@ -4,6 +4,12 @@ set -e cd "$(dirname "$0")/.." -IMAGE_NAME=${IMAGE_NAME:-$(basename "$PWD"):latest} +if command -v docker; then + IMAGE_NAME=${IMAGE_NAME:-$(basename "$PWD"):latest} + + docker build . -t "$IMAGE_NAME" --pull +else + echo "Install docker: https://docs.docker.com/engine/installation/" + exit 1 +fi -docker build . -t "$IMAGE_NAME" --pull diff --git a/lib/license/management/version.rb b/lib/license/management/version.rb index 5623e68..7a3cc03 100644 --- a/lib/license/management/version.rb +++ b/lib/license/management/version.rb @@ -2,6 +2,6 @@ module License module Management - VERSION = '2.6.0' + VERSION = '2.7.0' end end 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 |
