Mojo's with @execute don't get configured with executedProject --------------------------------------------------------------
Key: MNG-2581 URL: http://jira.codehaus.org/browse/MNG-2581 Project: Maven 2 Issue Type: Bug Reporter: Kenney Westerhof Not sure if this is a bug or an improvement, but here's a scenario: A custom plugin defines a MavenProject property with a timestamp. That timestamp is used in <finalName>${project.artifactId}-${timestamp}</finalName>. During the normal plugin execution, this field is evaluated correctly. When running mvn assembly:assembly, the normal (forked) lifecycle also functions correctly. But the assembly Mojo is configured with the original MavenProject, that doesn't have the ${timestamp} property, so the <finalName> parameter on the assembly mojo will be "someArtifact-null". A tough problem, but it goes further: Ideally you never want to use ${project} as a parameter, but the objects fields directly. Say you want to use the source roots and define that as a parameter. Then you never get access the generated-sources unless you manually examine the executedProject. Right now, mojo's have to use different logic depending on whether they specify @execute phase="X", (and examine fields of the executedProject). Can we drop the original MavenProject object and replace that with executedProject instance, so we only have 1 instance of MavenProject? Or, if there are plugins that MUST use the original MavenProject, or use both MavenProject instances (we might want to scan all existing mojo's to see what they do), can we add a plugin flag that specifies that that mojo must be configured using the executedProject instead? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira