summaryrefslogtreecommitdiff
path: root/lib/license/finder/ext
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-11-10 01:30:35 +0000
committermo khan <mo.khan@gmail.com>2020-11-10 01:30:35 +0000
commit1bc270fea3b352b44dfcef3fe16e97a2bbd4d7a5 (patch)
tree8f61c9dccbd468de456e516113e9d6f289a7a157 /lib/license/finder/ext
parentf8200b265f63173c9b8d0b26470b449f512dbd17 (diff)
parent82338d974f42149e70f9163567940453f8f18b79 (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/ext')
-rw-r--r--lib/license/finder/ext/gradle.rb2
-rw-r--r--lib/license/finder/ext/maven.rb15
-rw-r--r--lib/license/finder/ext/npm.rb2
-rw-r--r--lib/license/finder/ext/pip.rb2
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