-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
Jenkins 2.60.3
Pipeline Maven Integration 2.0.1
mvn 3.5.3
-
-
pipeline-maven 3.10.0
Expected behavior:
In pipeline:
withMaven( maven: mvnId, // Maven installation declared in the Jenkins "Global Tool Configuration" mavenSettingsConfig: mvnSettingsId, // Maven settings.xml file defined with the Jenkins Config File Provider Plugin mavenLocalRepo: mavenLocalRepo ) { result = sh( returnStdout: true, script: 'mvn org.apache.maven.plugins:maven-help-plugin::evaluate -Dexpression=project.version -q -DforceStdout -B" ) }
Desired result variable value:
1.5.0
Actual result variable:
----- withMaven Wrapper script ----- Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn-3.5.3 Java version: 1.8.0_161, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-693.17.1.el7.x86_64", arch: "amd64", family: "unix" 1.5.0
Analysis:
withMaven wrapper adds stdout info, that cannot be removed, disabled, according to source:
However, that breaks the way we gets output with mvn command.
Workaround: specifically to maven-help-plugin, I can redirect output to a file, and readFile that.
Long-term solution (exclusive choice):
- add a silent field to withMaven, to disable any output?
- add a showDebug field to show debug info
- do not show debug info, except when mvn command fails
Thank you.
- relates to
-
JENKINS-70543 Allow for the traceability option to be toggled globally
- Closed