Re: How to get dependency artifacts for another artifact ?

2010-01-15 Thread maciejmad

Hm I have one problem.

depProject.getDependencyArtifacts() is null 

How to resolve this project dependency ??

Best regards



-- 
View this message in context: 
http://old.nabble.com/How-to-get-dependency-artifacts-for-another-artifact---tp27167882p27173357.html
Sent from the Maven Developers mailing list archive at Nabble.com.


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



How to get dependency artifacts for another artifact ?

2010-01-14 Thread maciejmad

Hello. 
Here is a part of simple mojo class:

public class PlatformProviderConfigurer
extends AbstractMojo {

/** @parameter default-value=${project} */
private MavenProject mavenProject;

public void execute() throws MojoExecutionException {
   
SetDefaultArtifact dependencyArtifacts =
mavenProject.getDependencyArtifacts();
SetDefaultArtifact artifacts = mavenProject.getArtifacts();

for (DefaultArtifact defaultArtifact : dependencyArtifacts) {
   //how get dependency artifacts for defaultArtifact 
}
}
}

In this class I can get dependency artifacts for project and all  artifacts
for project. But how I can get  a dependency artifacts for each dependency
artifacts of project (for defaultArtifact  in foreach) ?

Best regards.


-- 
View this message in context: 
http://old.nabble.com/How-to-get-dependency-artifacts-for-another-artifact---tp27167882p27167882.html
Sent from the Maven Developers mailing list archive at Nabble.com.


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



Re: How to get dependency artifacts for another artifact ?

2010-01-14 Thread Karl Heinz Marbaise

Hi there,



public class PlatformProviderConfigurer
extends AbstractMojo {

/** @parameter default-value=${project} */
private MavenProject mavenProject;

public void execute() throws MojoExecutionException {
   
SetDefaultArtifact dependencyArtifacts =

mavenProject.getDependencyArtifacts();




SetDefaultArtifact artifacts = mavenProject.getArtifacts();

This will give you the needed information

Set depArtifacts = project.getArtifacts();

for (Iterator depArtIter = depArtifacts.iterator();depArtIter.hasNext(); ) {
 Artifact depArt = (Artifact) depArtIter.next();

 MavenProject depProject = null;
 try
 {
depProject = projectBuilder.buildFromRepository(depArt, 
remoteRepositories, localRepository);

 }
 catch (ProjectBuildingException e)
 {
 throw new MojoExecutionException( Unable to build project:  
+ depArt.getDependencyConflictId(), e );

 }

}


What you need in your Mojo:

/**
 * Used to build a maven projects from artifacts in the remote 
repository.

 *
 * @parameter 
expression=${component.org.apache.maven.project.MavenProjectBuilder}

 * @required
 * @readonly
 */
protected DefaultMavenProjectBuilder projectBuilder;
//* @component 
roleorg.apache.maven.project.DefaultMavenProjectBuilder roleHint=default


/**
 * Location of the local repository.
 *
 * @parameter expression=${localRepository}
 * @readonly
 * @required
 */
protected org.apache.maven.artifact.repository.ArtifactRepository 
localRepository;


/**
 * List of Remote Repositories used by the resolver
 *
 * @parameter expression=${project.remoteArtifactRepositories}
 * @readonly
 * @required
 */
protected java.util.List remoteRepositories;


With the above construct you will get all dependencies incl. the 
transitive dependencies.


Kind regards
Karl Heinz Marbaise
--
SoftwareEntwicklung Beratung SchulungTel.: +49 (0) 2405 / 415 893
Dipl.Ing.(FH) Karl Heinz MarbaiseICQ#: 135949029
Hauptstrasse 177 USt.IdNr: DE191347579
52146 Würselen   http://www.soebes.de

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



Re: How to get dependency artifacts for another artifact ?

2010-01-14 Thread maciejmad

Thanks a lot





Karl Heinz Marbaise-2 wrote:
 
 Hi there,
 
 
 public class PlatformProviderConfigurer
 extends AbstractMojo {
 
 /** @parameter default-value=${project} */
 private MavenProject mavenProject;
 
 public void execute() throws MojoExecutionException {

 SetDefaultArtifact dependencyArtifacts =
 mavenProject.getDependencyArtifacts();
 
 
 SetDefaultArtifact artifacts = mavenProject.getArtifacts();
 This will give you the needed information
 
   Set depArtifacts = project.getArtifacts();
 
 for (Iterator depArtIter = depArtifacts.iterator();depArtIter.hasNext(); )
 {
   Artifact depArt = (Artifact) depArtIter.next();
 
   MavenProject depProject = null;
   try
   {
  depProject = projectBuilder.buildFromRepository(depArt, 
 remoteRepositories, localRepository);
   }
   catch (ProjectBuildingException e)
   {
   throw new MojoExecutionException( Unable to build project:  
 + depArt.getDependencyConflictId(), e );
   }
 
 }
 
 
 What you need in your Mojo:
 
  /**
   * Used to build a maven projects from artifacts in the remote 
 repository.
   *
   * @parameter 
 expression=${component.org.apache.maven.project.MavenProjectBuilder}
   * @required
   * @readonly
   */
  protected DefaultMavenProjectBuilder projectBuilder;
 //* @component 
 roleorg.apache.maven.project.DefaultMavenProjectBuilder
 roleHint=default
 
  /**
   * Location of the local repository.
   *
   * @parameter expression=${localRepository}
   * @readonly
   * @required
   */
  protected org.apache.maven.artifact.repository.ArtifactRepository 
 localRepository;
 
  /**
   * List of Remote Repositories used by the resolver
   *
   * @parameter expression=${project.remoteArtifactRepositories}
   * @readonly
   * @required
   */
  protected java.util.List remoteRepositories;
 
 
 With the above construct you will get all dependencies incl. the 
 transitive dependencies.
 
 Kind regards
 Karl Heinz Marbaise
 -- 
 SoftwareEntwicklung Beratung SchulungTel.: +49 (0) 2405 / 415 893
 Dipl.Ing.(FH) Karl Heinz MarbaiseICQ#: 135949029
 Hauptstrasse 177 USt.IdNr: DE191347579
 52146 Würselen   http://www.soebes.de
 
 -
 To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
 For additional commands, e-mail: dev-h...@maven.apache.org
 
 
 

-- 
View this message in context: 
http://old.nabble.com/How-to-get-dependency-artifacts-for-another-artifact---tp27167882p27168440.html
Sent from the Maven Developers mailing list archive at Nabble.com.


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