|
31 | 31 | import org.apache.maven.plugins.dependency.utils.DependencyUtil;
|
32 | 32 | import org.apache.maven.project.ProjectBuildingRequest;
|
33 | 33 | import org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException;
|
| 34 | +import org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter; |
34 | 35 | import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter;
|
| 36 | +import org.apache.maven.shared.artifact.filter.collection.ClassifierFilter; |
35 | 37 | import org.apache.maven.shared.artifact.filter.collection.FilterArtifacts;
|
| 38 | +import org.apache.maven.shared.artifact.filter.collection.GroupIdFilter; |
| 39 | +import org.apache.maven.shared.artifact.filter.collection.ScopeFilter; |
| 40 | +import org.apache.maven.shared.artifact.filter.collection.TypeFilter; |
36 | 41 | import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException;
|
| 42 | +import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult; |
37 | 43 | import org.apache.maven.shared.transfer.dependencies.DefaultDependableCoordinate;
|
| 44 | +import org.apache.maven.shared.transfer.dependencies.DependableCoordinate; |
38 | 45 | import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolverException;
|
39 | 46 |
|
40 | 47 | /**
|
@@ -137,14 +144,71 @@ protected void doExecute() throws MojoExecutionException {
|
137 | 144 | }
|
138 | 145 | }
|
139 | 146 |
|
| 147 | + /** |
| 148 | + * This method resolves all transitive dependencies of an artifact. |
| 149 | + * |
| 150 | + * @param artifact the artifact used to retrieve dependencies |
| 151 | + * @return resolved set of dependencies |
| 152 | + * @throws DependencyResolverException in case of error while resolving artifacts. |
| 153 | + */ |
| 154 | + private Set<Artifact> resolveArtifactDependencies(final DependableCoordinate artifact) |
| 155 | + throws DependencyResolverException { |
| 156 | + ProjectBuildingRequest buildingRequest = newResolveArtifactProjectBuildingRequest(); |
| 157 | + |
| 158 | + Iterable<ArtifactResult> artifactResults = |
| 159 | + getDependencyResolver().resolveDependencies(buildingRequest, artifact, null); |
| 160 | + |
| 161 | + Set<Artifact> artifacts = new LinkedHashSet<>(); |
| 162 | + |
| 163 | + for (final ArtifactResult artifactResult : artifactResults) { |
| 164 | + artifacts.add(artifactResult.getArtifact()); |
| 165 | + } |
| 166 | + |
| 167 | + return artifacts; |
| 168 | + } |
| 169 | + |
| 170 | + /** |
| 171 | + * @return {@link FilterArtifacts} |
| 172 | + */ |
| 173 | + private FilterArtifacts getArtifactsFilter() { |
| 174 | + final FilterArtifacts filter = new FilterArtifacts(); |
| 175 | + |
| 176 | + if (excludeReactor) { |
| 177 | + |
| 178 | + filter.addFilter(new ExcludeReactorProjectsArtifactFilter(reactorProjects, getLog())); |
| 179 | + } |
| 180 | + |
| 181 | + filter.addFilter(new ScopeFilter( |
| 182 | + DependencyUtil.cleanToBeTokenizedString(this.includeScope), |
| 183 | + DependencyUtil.cleanToBeTokenizedString(this.excludeScope))); |
| 184 | + |
| 185 | + filter.addFilter(new TypeFilter( |
| 186 | + DependencyUtil.cleanToBeTokenizedString(this.includeTypes), |
| 187 | + DependencyUtil.cleanToBeTokenizedString(this.excludeTypes))); |
| 188 | + |
| 189 | + filter.addFilter(new ClassifierFilter( |
| 190 | + DependencyUtil.cleanToBeTokenizedString(this.includeClassifiers), |
| 191 | + DependencyUtil.cleanToBeTokenizedString(this.excludeClassifiers))); |
| 192 | + |
| 193 | + filter.addFilter(new GroupIdFilter( |
| 194 | + DependencyUtil.cleanToBeTokenizedString(this.includeGroupIds), |
| 195 | + DependencyUtil.cleanToBeTokenizedString(this.excludeGroupIds))); |
| 196 | + |
| 197 | + filter.addFilter(new ArtifactIdFilter( |
| 198 | + DependencyUtil.cleanToBeTokenizedString(this.includeArtifactIds), |
| 199 | + DependencyUtil.cleanToBeTokenizedString(this.excludeArtifactIds))); |
| 200 | + |
| 201 | + return filter; |
| 202 | + } |
| 203 | + |
140 | 204 | /**
|
141 | 205 | * This method resolves the plugin artifacts from the project.
|
142 | 206 | *
|
143 | 207 | * @return set of resolved plugin artifacts
|
144 | 208 | * @throws ArtifactFilterException in case of an error
|
145 | 209 | * @throws ArtifactResolverException in case of an error
|
146 | 210 | */
|
147 |
| - protected Set<Artifact> resolvePluginArtifacts() throws ArtifactFilterException, ArtifactResolverException { |
| 211 | + private Set<Artifact> resolvePluginArtifacts() throws ArtifactFilterException, ArtifactResolverException { |
148 | 212 | final Set<Artifact> plugins = getProject().getPluginArtifacts();
|
149 | 213 | final Set<Artifact> reports = getProject().getReportArtifacts();
|
150 | 214 |
|
|
0 commit comments