Maven
  1. Maven
  2. MNG-3506

Custom ArtifactHandler not resolved for project when an additional plugin with extensions is defined in parent pom

    Details

    • Complexity:
      Intermediate
    • Testcase included:
      yes
    • Number of attachments :
      5

      Description

      Hi,

      I've found an annoying bug regarding custom artifact handlers. A custom artifact handler provided by a plugin with extensions is not resolved when another plugin with extensions is defined in parent pom. Note that the behavior is the same whether the first plugin is defined in child project or parent project.

      In order to illustrate the problem, I've used the maven-eclipse-plugin. It generates a .classpath only when the project's artifact handler's language is set to java. My child project's packaging is "jboss-sar" whose artifact handler is provided by jboss-packaging-maven-plugin. "jboss-sar" 's language is set to java, so whenever the jboss'sar artifact handler is properly resolved, the .classpath file should be generated.

      I've used the nbm-maven-plugin as the second perturbing plugin in order to break the resolution.

      I've attached a set of it tests which each illustrate a working or broken scenario. In order to test those, simply run the following command at the root of each parent project:
      mvn clean eclipse:clean install eclipse:eclipse

      If the file .classpath is properly generated in "module1" child project, then the test passes, else it fails. Attached it tests contain "OK" when they pass and "KO" when then fails.

      I've tried hard to debug plexus component resolution internals but after a whole day of headackes I gave up and ended up posting this issue hoping that somebody more used to maven and plexus internals would find a solution.

      Kind regards,

      CÚdric Vidal
      http://proxiad.com

        Issue Links

          Activity

          Hide
          John Casey added a comment -

          we may need to change the name of the next version from '2.2.1' but I'd really like to have this on the list.

          Show
          John Casey added a comment - we may need to change the name of the next version from '2.2.1' but I'd really like to have this on the list.
          Hide
          John Casey added a comment -

          This is fixed in 2.2.1-SNAPSHOT, just needs an integration test. I'll probably be able to hack that out by tomorrow...

          Show
          John Casey added a comment - This is fixed in 2.2.1-SNAPSHOT, just needs an integration test. I'll probably be able to hack that out by tomorrow...

            People

            • Assignee:
              John Casey
              Reporter:
              CÚdric Vidal
            • Votes:
              5 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: