Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-70543

Allow for the traceability option to be toggled globally


    • 1298.v43b_82f220a_e9

      Running withMaven() with default values messes up the output, and executing these steps fails:

      stage('Do Maven stuff') {
          withMaven(jdk: 'openjdk8') {
              String version = sh(returnStdout: true, script: 'mvn help:evaluate -Dexpression=project.version -q -DforceStdout').trim()
              sh("mvn versions:set -DnewVersion=$version -DgenerateBackupPoms=false")

      The output is:

      [Pipeline] stage
      [Pipeline] { (Get Version8)
      [Pipeline] withMaven
      [withMaven] Options: []
      [withMaven] Available options: 
      [withMaven] using JDK installation openjdk8
      [withMaven] using Maven installation provided by the build agent with the environment variable MAVEN_HOME=/usr/share/maven
      [Pipeline] {
      [Pipeline] sh
      + mvn help:evaluate -Dexpression=project.version -q -DforceStdout
      Picked up JAVA_TOOL_OPTIONS: -Dmaven.ext.class.path="/home/jenkins/workspace/<REDACTED>" -Dorg.jenkinsci.plugins.pipeline.maven.reportsFolder="/home/jenkins/workspace/<REDACTED>@tmp/withMavenb936db0e" 
      [Pipeline] sh
      + mvn versions:set -DnewVersion=----- withMaven Wrapper script -----
      ----- withMaven Wrapper script -----
      Picked up JAVA_TOOL_OPTIONS: -Dmaven.ext.class.path="/home/jenkins/workspace/<REDACTED>@tmp/withMavenb936db0e/pipeline-maven-spy.jar" -Dorg.jenkinsci.plugins.pipeline.maven.reportsFolder="/home/jenkins/workspace/<REDACTED>@tmp/withMavenb936db0e" 
      Unable to parse command line options: Unrecognized option: -----
      usage: mvn [options] [<goal(s)>] [<phase(s)>]
       -am,--also-make                        If project list is specified, also
                                              build projects required by the
       -amd,--also-make-dependents            If project list is specified, also
                                              build projects that depend on
                                              projects on the list
       -B,--batch-mode                        Run in non-interactive (batch)
                                              mode (disables output color)
       -b,--builder <arg>                     The id of the build strategy to
       -C,--strict-checksums                  Fail the build if checksums don't
       -c,--lax-checksums                     Warn if checksums don't match
       -cpu,--check-plugin-updates            Ineffective, only kept for
                                              backward compatibility
       -D,--define <arg>                      Define a system property
       -e,--errors                            Produce execution error messages
       -emp,--encrypt-master-password <arg>   Encrypt master security password
       -ep,--encrypt-password <arg>           Encrypt server password
       -f,--file <arg>                        Force the use of an alternate POM
                                              file (or directory with pom.xml)
       -fae,--fail-at-end                     Only fail the build afterwards;
                                              allow all non-impacted builds to
       -ff,--fail-fast                        Stop at first failure in
                                              reactorized builds
       -fn,--fail-never                       NEVER fail the build, regardless
                                              of project result
       -gs,--global-settings <arg>            Alternate path for the global
                                              settings file
       -gt,--global-toolchains <arg>          Alternate path for the global
                                              toolchains file
       -h,--help                              Display help information
       -l,--log-file <arg>                    Log file where all build output
                                              will go (disables output color)
       -llr,--legacy-local-repository         Use Maven 2 Legacy Local
                                              Repository behaviour, ie no use of
                                              _remote.repositories. Can also be
                                              activated by using
       -N,--non-recursive                     Do not recurse into sub-projects
       -npr,--no-plugin-registry              Ineffective, only kept for
                                              backward compatibility
       -npu,--no-plugin-updates               Ineffective, only kept for
                                              backward compatibility
       -nsu,--no-snapshot-updates             Suppress SNAPSHOT updates
       -ntp,--no-transfer-progress            Do not display transfer progress
                                              when downloading or uploading
       -o,--offline                           Work offline
       -P,--activate-profiles <arg>           Comma-delimited list of profiles
                                              to activate
       -pl,--projects <arg>                   Comma-delimited list of specified
                                              reactor projects to build instead
                                              of all projects. A project can be
                                              specified by [groupId]:artifactId
                                              or by its relative path
       -q,--quiet                             Quiet output - only show errors
       -rf,--resume-from <arg>                Resume reactor from specified
       -s,--settings <arg>                    Alternate path for the user
                                              settings file
       -t,--toolchains <arg>                  Alternate path for the user
                                              toolchains file
       -T,--threads <arg>                     Thread count, for instance 2.0C
                                              where C is core multiplied
       -U,--update-snapshots                  Forces a check for missing
                                              releases and updated snapshots on
                                              remote repositories
       -up,--update-plugins                   Ineffective, only kept for
                                              backward compatibility
       -v,--version                           Display version information
       -V,--show-version                      Display version information
                                              WITHOUT stopping build
       -X,--debug                             Produce execution debug output
      [Pipeline] }
      [withMaven] artifactsPublisher - Archive artifact pom.xml under <REDACTED>-SNAPSHOT.pom
      [withMaven] Jenkins FindBugs Plugin not found, don't display org.codehaus.mojo:findbugs-maven-plugin:findbugs results in pipeline screen.
      [withMaven] jgivenPublisher - Jenkins JGiven Plugin not found, do not archive jgiven reports.
      [withMaven] Publishers: Pipeline Graph Publisher: 2 ms, Generated Artifacts Publisher: 94 ms
      [Pipeline] // withMaven
      [Pipeline] } 

      Adding the optionĀ 

      traceability: false

      and the above works.

      Due to a great number of users using withMaven(), and thus experiencing the above issues, it would be great to alleviate them of their troubles by being able to globally setting the traceability option to false.

            bguerin Benoit
            jnz_topdanmark Jon Brohauge
            0 Vote for this issue
            2 Start watching this issue