-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Windows 2012 Server,
Jenkins 2.190.1,
Maven 3.6.0,
JDK 11.0.1
When upgrading the Dependency Check Plugin from version 4 to 5.2.2, we found the following problem.
We are using declarative pipeline scripts to run the Dependency Check Plugin. Formerly with version 4 we could use this setup for running the dependency check.
pipeline { agent { label 'master' } environment { JAVA_HOME = tool 'jdk-11.0.1' mvnHome = tool 'apache-maven-3.6.0' PATH = "${JAVA_HOME}\\bin;${mvnHome}\\bin;${env.PATH}" } stages { stage('Build sources') { steps { bat 'mvn clean verify -DskipTests' } } stage('Analyze dependencies') { dependencyCheckAnalyzer(outdir: 'Dependency-Check', suppressionFile: 'owasp-suppressions.xml', scanpath: '', datadir: '', hintsFile: '', zipExtensions: '', isAutoupdateDisabled: true, skipOnScmChange: false, skipOnUpstreamChange: false, includeHtmlReports: true, includeVulnReports: true, includeJsonReports: false, includeCsvReports: false) } } } }
This would run fine and reports were generated. So now with version 5.2.2 we have adjusted our pipeline script to be complaint with the new plugin.
pipeline { agent { label 'master' } environment { JAVA_HOME = tool 'jdk-11.0.1' mvnHome = tool 'apache-maven-3.6.0' PATH = "${JAVA_HOME}\\bin;${mvnHome}\\bin;${env.PATH}" } stages { stage('Build sources') { steps { bat 'mvn clean verify -DskipTests' } } stage('Analyze dependencies') { steps { dependencyCheck(additionalArguments: ''' -d D:/OWASP/dependency-check-data --noupdate --suppression backend/owasp-suppressions.xml -o Dependency-Check''', odcInstallation: 'dependency-check-5.2.2') } } } }
When we run the pipeline with the script mentioned above, we get the following error.
[DependencyCheck] 'java' is not recognized as an internal or external command,
[DependencyCheck] operable program or batch file.
Which makes us suspect that the environment variable aren't passed properly.
- links to