[ 
https://jira.codehaus.org/browse/MNG-5384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317148#comment-317148
 ] 

Tuomas Kiviaho edited comment on MNG-5384 at 1/11/13 5:17 AM:
--------------------------------------------------------------

M2E workspace resolution would benefit from this by being able to pinpoint 
directly to {{testOutputDirectory}} when an artifact from 
MavenProject.getArtifacts is of type test-jar. Currently it points to the 
{{outputDirectory}} because Aether only fixes the location of test-jar artifact 
retrievable from MavenProject.getAttacheArtifacts.

Since Maven 2.x the behavior of attached test-jar artifact has somewhat 
changed. It used to be so that project's test-jar attachment was already in 
place before actual artifact was attached. With Maven 3 this feature was 
removed (thus some the magic seems to have been shifted to Aether). It would be 
beneficial if the artifact file location would be dynamic, since static 
approach doesn't have such advantages as with as it does with {{properties}} 
section of the POM. I think that the plugins responsible of produced artifacts 
should state the file location of the artifact in declarative manner (perhaps 
an {{<artifacts>}} tag inside {{<execution>}} tag). 
                
      was (Author: tuomas_kiviaho):
    M2E workspace resolution would benefit from this by being able to pinpoint 
directly to {{testOutputDirectory}} when an artifact from 
MavenProject.getArtifacts is of type test-jar. Currently it points to the 
{{outputDirectory}} because Aether only fixes the location of test-jar artifact 
retrievable from MavenProject.getAttacheArtifacts.

Since Maven 2.x the behavior of attached test-jar artifact has somewhat 
changed. It used to be so that project's test-jar attachment was already in 
place before actual artifact was attached. With Maven 3 this feature was 
removed (thus some the magic seems to have been shifted to Aether). It would be 
beneficial if the artifact file location would be dynamic, since static 
approach doesn't have such advantages as with as it does with {{properties}} 
section of the POM.
                  
> Declarative artifacts
> ---------------------
>
>                 Key: MNG-5384
>                 URL: https://jira.codehaus.org/browse/MNG-5384
>             Project: Maven 2 & 3
>          Issue Type: New Feature
>          Components: Artifacts and Repositories, POM, Reactor and workspace
>    Affects Versions: 3.0.4
>            Reporter: Tuomas Kiviaho
>
> Currently there's no way to know what attachments a project is going to have 
> beforehand. Lack of this feature is currently patched inside Aether where 
> test-jar for instance has a special treatment prior packaging phase so that 
> we can get a file pointer to ${project.target.testOutputDirectory}. 
> Maven 2 had this hack embedded inside of it, but with Maven 3 the project 
> attachments list doesn't contain test-jar until it is actually added to the 
> project. I had to patch MBUILDHELPER-41 to be able attach this artifact prior 
> packaging phase and remove it at prepare-package so that the actual 
> attachment could be added to the project.
> I propose that POM could have a section similar to {{build.finalName}} where 
> you'd list the attacments that the project is going to introduce. For 
> backwards compatibility this of course would not be required. Plugins such as 
> jar, sources and javadoc could kick in automatically when pom contains the 
> respective declarations (race conditions would arise between 
> maven-bundle-plugin and jar for instance).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to