Issue Details (XML | Word | Printable)

Key: MNG-3506
Type: Bug Bug
Status: Open Open
Priority: Blocker Blocker
Assignee: Unassigned
Reporter: Cédric Vidal
Votes: 3
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Maven 2

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

Created: 07/Apr/08 01:54 PM   Updated: 12/Jun/08 07:03 PM
Component/s: Artifacts and Repositories, Inheritance and Interpolation, Plugins and Lifecycle
Affects Version/s: 2.0.7, 2.0.8
Fix Version/s: 2.0.x

Time Tracking:
Not Specified

File Attachments: 1. Zip Archive sample-01-OK-main-plugin-in-child-pom.zip (2 kB)
2. Zip Archive sample-02-OK-main-plugin-with-additional-plugin-in-child-pom.zip (3 kB)
3. Zip Archive sample-03-OK-main-plugin-in-parent-pom.zip (2 kB)
4. Zip Archive sample-04-KO-main-plugin-with-additional-plugin-in-parent-pom.zip (3 kB)
5. Zip Archive sample-05-KO-main-plugin-in-child-pom-with-additional-plugin-in-parent-pom.zip (3 kB)

Environment: Windows XP SP2

Complexity: Intermediate
Testcase included: yes


 Description  « Hide
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



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.