diff options
| author | mo khan <mo.khan@gmail.com> | 2020-11-10 01:30:35 +0000 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-11-10 01:30:35 +0000 |
| commit | 1bc270fea3b352b44dfcef3fe16e97a2bbd4d7a5 (patch) | |
| tree | 8f61c9dccbd468de456e516113e9d6f289a7a157 /lib/license/finder | |
| parent | f8200b265f63173c9b8d0b26470b449f512dbd17 (diff) | |
| parent | 82338d974f42149e70f9163567940453f8f18b79 (diff) | |
Merge branch '273155-recursive' into 'main'v3.28.2
Detect maven/gradle wrapper in sub directory
See merge request gitlab-org/security-products/analyzers/license-finder!15
Diffstat (limited to 'lib/license/finder')
| -rw-r--r-- | lib/license/finder/ext/gradle.rb | 2 | ||||
| -rw-r--r-- | lib/license/finder/ext/maven.rb | 15 | ||||
| -rw-r--r-- | lib/license/finder/ext/npm.rb | 2 | ||||
| -rw-r--r-- | lib/license/finder/ext/pip.rb | 2 |
4 files changed, 16 insertions, 5 deletions
diff --git a/lib/license/finder/ext/gradle.rb b/lib/license/finder/ext/gradle.rb index a683207..9b992ce 100644 --- a/lib/license/finder/ext/gradle.rb +++ b/lib/license/finder/ext/gradle.rb @@ -18,7 +18,7 @@ module LicenseFinder end def package_management_command - wrapper? ? './gradlew' : :gradle + wrapper? ? project_path.join('gradlew') : :gradle end private diff --git a/lib/license/finder/ext/maven.rb b/lib/license/finder/ext/maven.rb index ae8c9a2..ed78f07 100644 --- a/lib/license/finder/ext/maven.rb +++ b/lib/license/finder/ext/maven.rb @@ -10,6 +10,10 @@ module LicenseFinder } }.freeze + def active? + project_path.join('pom.xml').exist? + end + def prepare within_project_path do tool_box.install(tool: :java, version: java_version, env: default_env) @@ -38,9 +42,8 @@ module LicenseFinder end def detect_licenses_command - mvn_wrapper = project_path.join('mvnw') [ - mvn_wrapper.exist? ? mvn_wrapper : :mvn, + package_management_command, "-e", "org.codehaus.mojo:license-maven-plugin:aggregate-download-licenses", "-Dlicense.excludedScopes=#{@ignored_groups.to_a.join(',')}", @@ -59,5 +62,13 @@ module LicenseFinder .xml_in(xml, XML_PARSE_OPTIONS)['dependencies'] .map { |dependency| Dependency.from(MavenPackage.new(dependency), detected_package_path) } end + + def package_management_command + wrapper? ? project_path.join('mvnw') : :mvn + end + + def wrapper? + project_path.join('mvnw').exist? + end end end diff --git a/lib/license/finder/ext/npm.rb b/lib/license/finder/ext/npm.rb index e245d72..18af4a7 100644 --- a/lib/license/finder/ext/npm.rb +++ b/lib/license/finder/ext/npm.rb @@ -11,7 +11,7 @@ module LicenseFinder tool_box.install(tool: :nodejs, env: default_env) if lockfile? - shell.execute([:npm, :ci, "--production"], env: default_env) + shell.execute([:npm, :ci, "--production"], env: default_env, capture: false) else shell.execute([:npm, :install, '--no-save', "--production"], env: default_env) end diff --git a/lib/license/finder/ext/pip.rb b/lib/license/finder/ext/pip.rb index 7ab8d4d..b47080e 100644 --- a/lib/license/finder/ext/pip.rb +++ b/lib/license/finder/ext/pip.rb @@ -54,7 +54,7 @@ module LicenseFinder within_project_path do tool_box.install(tool: :python, version: python_version, env: default_env) - shell.execute(["/opt/asdf/installs/python/#{python_version}/bin/virtualenv", '-p', 'python', '--activators=bash --seeder=app-data .venv']) + shell.execute([:virtualenv, '-p', 'python', '--activators=bash', '--seeder=app-data', '.venv'], capture: false) shell.sh([". .venv/bin/activate", "&&", 'pip', 'install', '-v', '-r', @requirements_path], env: default_env) end end |
