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

Make fingerprinting configurable in Maven projects

      Currently, in a Maven Project, fingerprints are generated for all build artifacts (created and used).

      In a freestyle project, you can manually select files to be fingerprinted using the Fingerprinter publisher.

      This needs to be possible for Maven Projects, too.

      Consider for example a Maven project that uses post-build steps to create additional artifacts. You can archive them (without them being fingerprinted), but you cannot choose to fingerprint them.

      Looking at hudson.tasks.Fingerprinter, I see no reason why this publisher should not be available for configuration.

      If you enter the publisher by hand into the config.xml of a job, it works (until you reconfig that job, of course), so this seems to be a display issue. One small drawback: two fingerprintActions are included.

      Tasks:

      • make Fingerprinter available for Maven projects
      • prevent Fingerprinter from always creating a new FingerprintAction (i.e. let it check for any existing FingerprintActions (like MavenFingerprinter does))

      the second part is trivial, I can create a pull request for that.

          [JENKINS-11333] Make fingerprinting configurable in Maven projects

          Stephan Pauxberger created issue -

          Andrew Bayer added a comment -

          Already is there.

          Andrew Bayer added a comment - Already is there.
          Andrew Bayer made changes -
          Resolution New: Not A Defect [ 7 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

          Beg to differ.

          Using a vanilla installation of jenkins 1.448

          Create a new freestyle job. In job configuration, you select "record fingerprints..." and "archive artifacts"

          Create a new Maven job. In job configuration, you can only select "archive artifacts", but not record fingerprints

          Stephan Pauxberger added a comment - Beg to differ. Using a vanilla installation of jenkins 1.448 Create a new freestyle job. In job configuration, you select "record fingerprints..." and "archive artifacts" Create a new Maven job. In job configuration, you can only select "archive artifacts", but not record fingerprints
          Stephan Pauxberger made changes -
          Resolution Original: Not A Defect [ 7 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]
          Stephan Pauxberger made changes -
          Description Original: Currently, in a Maven Project, fingerprints are generated for all build artifacts (created and used).

          In a freestyle project, you can manually select files to be fingerprinted using the Fingerprinter publisher.

          This needs to be possible for Maven Projects, too.

          Consider for example a Maven project that uses post-build steps to create additional artifacts. You con archive them (without them being fingerprinted), but you cannot choose to fingerprint them.

          Looking at hudson.tasks.Fringerprinter, I see no reason why this publisher should not be available for configuration.

          If you enter the publisher by hand into the config.xml of a job, it works (until you reconfig that job, of course). One small drawback: two fingerprintActions are included.

          Tasks:

          - make Fingerprinter available for Maven projects
          - prevent Fingerprinter from always creating a new FingerprintAction (i.e. let it check for any existing FingerprintActions (like MavenFingerprinter does))

          the second part is trivial, I can create a pull request for that.
           

          New: Currently, in a Maven Project, fingerprints are generated for all build artifacts (created and used).

          In a freestyle project, you can manually select files to be fingerprinted using the Fingerprinter publisher.

          This needs to be possible for Maven Projects, too.

          Consider for example a Maven project that uses post-build steps to create additional artifacts. You can archive them (without them being fingerprinted), but you cannot choose to fingerprint them.

          Looking at hudson.tasks.Fingerprinter, I see no reason why this publisher should not be available for configuration.

          If you enter the publisher by hand into the config.xml of a job, it works (until you reconfig that job, of course), so this seems to be a display issue. One small drawback: two fingerprintActions are included.

          Tasks:

          - make Fingerprinter available for Maven projects
          - prevent Fingerprinter from always creating a new FingerprintAction (i.e. let it check for any existing FingerprintActions (like MavenFingerprinter does))

          the second part is trivial, I can create a pull request for that.
           

          Environment New: 1.448

          Screenshot of Publishers for freestyle and Maven projects

          Stephan Pauxberger added a comment - Screenshot of Publishers for freestyle and Maven projects
          Stephan Pauxberger made changes -
          Attachment New: FreeStylePublishers.png [ 21437 ]
          Attachment New: MavenJobPublishers.png [ 21438 ]

          Jesse Glick added a comment -

          I would like to broaden the scope of this a bit: you ought to be able to disable automatic fingerprinting for Maven projects, readding some manually configured fingerprints when required. The reason is that field data suggests that fingerprinting all consumed & produced artifacts can add a lot of overhead to the post-build phase, and it affects the more precious Jenkins master as well as the more disposable slave (since Fingerprint.save does disk I/O).

          Jesse Glick added a comment - I would like to broaden the scope of this a bit: you ought to be able to disable automatic fingerprinting for Maven projects, readding some manually configured fingerprints when required. The reason is that field data suggests that fingerprinting all consumed & produced artifacts can add a lot of overhead to the post-build phase, and it affects the more precious Jenkins master as well as the more disposable slave (since Fingerprint.save does disk I/O).
          Jesse Glick made changes -
          Labels New: fingerprints performance
          Summary Original: Fingerprinter-Publisher should be available in Maven jobs New: Make fingerprinting configurable in Maven projects

            jglick Jesse Glick
            paux Stephan Pauxberger
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: