/**
     * @parameter expression="${reactorProjects}"
     * @required
     * @readonly
     */
    private List/*<MavenProject>*/ reactorProjects;

will in your mojo will give you the list of reactor projects (if
targetting JRE 1.5+ you can safely uncomment the generics qualifier)

for (MavenProject project: reactorProjects) {
  if (project.getGroupId().equals(groupId) &&
project.getArtifactId().equals(artifactId) &&
project.getVersion().equals(version)) {
    for (Artifact artifact: project.getAttachedArtifacts() {
      if (artifact.getClassifier().equals(classifier) &&
artifact.getType().equals(type)) {
        return artifact.getFile();
    }
  }
}
return null;

If you get a null file back or if the file does not exist.... fall
back to resolving from the local/remote repos

On 2 November 2011 09:52, Tim Mickelson <mickel...@ietservizi.it> wrote:
>   Thanks, I think I've understood your strategy, that immediately brings me
> to the problem that I'm lacking documentation. Could you please give me an
> simple example how to do this, at least the two most important passes and I
> should be on a go I think :)
>
>   Of course if I resolve my problem then I will give an exhausted
> explanation how I went about it so that future users searching this thread
> see me through.
>
>   Tim
>
> On 02/11/2011 10.15, Stephen Connolly wrote:
>
> On 2 November 2011 09:06, Tim Mickelson <mickel...@ietservizi.it> wrote:
>
>  I want to write a plugin to maven that copies the flex modules from a flex
> project (type swf) which contains modules. This  because the flexmojos does
> not do this. My problem is that independent of how the flexmodules are
> configured in the pom of the flex project they are saved on the local
> repository with a naming convention using artifactId, version and the name
> in lowercase as configured in the pom.
>
>  I need to copy them as configured in the pom. Well, actually this is not a
> great problem, just some manipulation extracting information from the pom
> and I'm done. The problem is, that when flex project is in some way part of
> my project (modular) then the files are not saved with this convention but
> in the path as configured in the pom and with the name as configured in the
> pom.
>
>  I would like to know, how I can distinguish if the swf project that I have
> at hand is in the repository, because it was previously installed or if it
> is part of my current project. I don't know if I've explained myself well,
> with being in my current project I mean specifically the case in which I
> have a pom that has e.g. two modules, one for the swf, and then one war
> where I want to put the peaces together.
>
> You should be looking for the references to the files from the
> reactor's attached artifacts not on the disk directly, so you'd
> iterate through the reactorProjects looking for the one with the
> matching GAV, if present then you look at that project's attached
> artifacts for the matching GAVCT and if the getFile() != null then
> that is your file. Otherwise if you have not found the file, then hit
> the repositories.
>
> That is the _correct_ way in principle....
>
> What I cannot recall is if there are some handy helper methods/utility
> classes to do just that for you or whether you have to reinvent the
> wheel each time
>
> -Stephen
>
>  Any link to documentation is welcome, all I can find is to simple from e.g.
> the maven site or the complete guide.
>
>  Tim
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to