Details

      Description

      I am looking for a way to mixin POM fragments into POMs. Note that this idea is beyond parent pom inheritance because all projects inherit from a corporate parent pom. The problem that I am running into is that the corporate parent pom is turning into an "everything but the kitchen sink" POM and I'd like to dissect it into POM fragments relevant for individual modules.

      For example, I would like to have mixins for:

      • Java projects (that include static code analysis plugins, javadoc, etc.)
      • JPA projects (that include DDL generation)
      • Flex projects (that include flexmojos, asdoc, etc.)
      • Scala projects (that include the maven-scala-compiler plugin, scaladoc, etc.)
      • JavaScript projects (that include build plugins like maven-yuicompressor-plugin with jslint and compress goals)

      Hopefully, you get the idea. Without the ability to factor pom logic, we are left with two symptoms:

      1. copy/paste duplication
      2. complex "it does it all" parent poms (which slow down builds because more plugins are loaded even though they might not do anything material)

      Note that a project may include multiple mixins as I could have a project that contains Java code, Scala code, and JavaScript.

      Another idea is that the mixins could be parameterized, so that the ultimate pom can be customized based on the parameters (like tokens).

      I recall reading about Mixins coming in Maven 3.1, but could not find any such issue to watch, so am creating one.

      1. daddy3.zip
        5 kB
        Tony Lampada
      2. maven-tiles.zip
        47 kB
        Maurizio Pillitu

        Issue Links

          Activity

          Anthony Whitford created issue -
          Brett Porter made changes -
          Field Original Value New Value
          Fix Version/s 3.1 [ 15565 ]
          Maurizio Pillitu made changes -
          Attachment maven-tiles.zip [ 55249 ]
          Benjamin Bentmann made changes -
          Link This issue relates to MNG-5173 [ MNG-5173 ]
          Tony Lampada made changes -
          Attachment daddy3.zip [ 61530 ]
          Brian Fox made changes -
          Comment [ I registered this issue in the "kickstarting" section on FreedomSponsors.
          This means that if you need this issue that bad, you can go to http://www.freedomsponsors.org/core/issue/35/mixin-pom-fragments and throw in a few bucks for it. ]
          stephenconnolly made changes -
          Fix Version/s 3.2 [ 15565 ]
          Fix Version/s Issues to be reviewed for 4.x [ 19871 ]
          Jason van Zyl made changes -
          Component/s FDPFC [ 16560 ]
          paul reeves made changes -
          Attachment daddy-repaintio-tiles.zip [ 66758 ]
          paul reeves made changes -
          Comment [ Tiles example by Tony Lampada, converted to work with repaintio version of the plugin (which is the currently supported version) ]
          paul reeves made changes -
          Attachment daddy-repaintio-tiles.zip [ 66758 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 08:49:45 UTC 2015 [ 1428223785911 ]
          Mark Thomas made changes -
          Workflow jira [ 12715338 ] Default workflow, editable Closed status [ 12754861 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 21:45:26 UTC 2015 [ 1428270326204 ]
          Mark Thomas made changes -
          Workflow jira [ 12952444 ] Default workflow, editable Closed status [ 12989787 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Anthony Whitford
            • Votes:
              48 Vote for this issue
              Watchers:
              42 Start watching this issue

              Dates

              • Created:
                Updated:

                Development