@Override public Collection<Advice> getAdvices( final DependencyNode root ) { final PreorderNodeListGenerator collector = new PreorderNodeListGenerator(); root.accept( collector ); final Collection<Advice> advices = new ArrayList<Advice>(); for ( final Artifact artifact : collector.getArtifacts( false ) ) { if ( artifact.getFile() != null ) { advices.addAll( extractAdvices( artifact.getFile(), Utils.fullArtifactId( artifact ) ) ); } } return advices; }
@Override public Collection<Advice> getAdvices( final DependencyNode root ) { final PreorderNodeListGenerator collector = new PreorderNodeListGenerator(); root.accept( collector ); final Collection<Advice> advices = new ArrayList<Advice>(); for ( final Artifact artifact : collector.getArtifacts( false ) ) { if ( "advice".equals( artifact.getExtension() ) ) { advices.addAll( extractAdvices( artifact.getFile(), Utils.fullArtifactId( root.getDependency().getArtifact() ) ) ); } } return advices; }
private List<Artifact> getArtifacts(String artifact) throws MojoExecutionException { Dependency dependency = new Dependency( new DefaultArtifact( artifact ), "runtime" ); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); //collectRequest.addRepository( remoteRepos ); DependencyNode node; try { node = repoSystem.collectDependencies( repoSession, collectRequest ).getRoot(); } catch (DependencyCollectionException e) { throw new MojoExecutionException( e.getMessage(), e ); } DependencyRequest dependencyRequest = new DependencyRequest( node, null ); Set<String> included = Collections.singleton("runtime"); dependencyRequest.setFilter(new ScopeDependencyFilter(included, Collections.EMPTY_SET)); try { repoSystem.resolveDependencies( repoSession, dependencyRequest ); } catch (DependencyResolutionException e) { throw new MojoExecutionException( e.getMessage(), e ); } PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept( nlg ); getLog().info( "" + nlg.getClassPath() ); return nlg.getArtifacts(false); }