Uploaded image for project: 'Maven Enforcer Plugin'
  1. Maven Enforcer Plugin
  2. MENFORCER-415

Violation messages can be really hard to find in a multi module project

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0.0-M3, 3.0.0
    • 3.2.0, 3.2.1
    • Plugin
    • None

    Description

      In a multi module project, when building with multiple threads (-T) and/or --fail-at-end, enforcer rule violation messages can be really hard to find.

      After BUILD FAILURE you just see e.g.

      Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce (enforce-test-deps-scope) on project quarkus-integration-test-jpa: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]
      

      You then have to scroll up, past a potentially huge list of SKIPPED reactor modules and messages like the following:

      [INFO] ------------------------------------------------------------------------
      [INFO] Skipping Quarkus - Integration Tests - Mailer
      [INFO] This project has been banned from the build due to previous failures.
      [INFO] ------------------------------------------------------------------------ 
      

      Then, finally, when reaching the first (from the bottom) potentially relevant module outputs, you have find the part with the actual violation messages which can be even higher up.
      This only gets worse when building in parallel.

      The idea is to enrich the MojoExecutionException with the actual violation messages, either in general or via a new property/parameter.

      Attachments

        Issue Links

          Activity

            People

              sjaranowski Slawomir Jaranowski
              famod Falko Modler
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: