|
41 | 41 | import java.util.StringJoiner;
|
42 | 42 | import java.util.concurrent.ExecutionException;
|
43 | 43 |
|
| 44 | +import org.apache.maven.RepositoryUtils; |
44 | 45 | import org.apache.maven.artifact.Artifact;
|
45 |
| -import org.apache.maven.artifact.resolver.ArtifactResolutionException; |
46 |
| -import org.apache.maven.artifact.resolver.ArtifactResolutionRequest; |
47 |
| -import org.apache.maven.artifact.resolver.ArtifactResolutionResult; |
48 |
| -import org.apache.maven.artifact.resolver.ResolutionErrorHandler; |
49 | 46 | import org.apache.maven.model.Dependency;
|
50 | 47 | import org.apache.maven.model.Repository;
|
51 | 48 | import org.apache.maven.plugin.MojoExecutionException;
|
52 | 49 | import org.apache.maven.plugin.MojoFailureException;
|
53 | 50 | import org.apache.maven.plugins.annotations.Component;
|
54 | 51 | import org.apache.maven.plugins.annotations.Parameter;
|
55 |
| -import org.apache.maven.repository.RepositorySystem; |
56 | 52 | import org.apache.maven.surefire.api.booter.ProviderParameterNames;
|
57 | 53 | import org.apache.maven.surefire.api.util.ScanResult;
|
58 | 54 | import org.apache.maven.surefire.booter.BooterConstants;
|
59 | 55 | import org.apache.maven.surefire.booter.PropertiesWrapper;
|
60 | 56 | import org.codehaus.plexus.util.FileUtils;
|
61 | 57 | import org.codehaus.plexus.util.cli.CommandLineUtils;
|
| 58 | +import org.eclipse.aether.RepositorySystem; |
| 59 | +import org.eclipse.aether.resolution.ArtifactRequest; |
| 60 | +import org.eclipse.aether.resolution.ArtifactResolutionException; |
| 61 | +import org.eclipse.aether.resolution.ArtifactResult; |
62 | 62 | import org.eclipse.equinox.internal.p2.metadata.IRequiredCapability;
|
63 | 63 | import org.eclipse.equinox.p2.metadata.IRequirement;
|
64 | 64 | import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
|
@@ -326,9 +326,6 @@ public abstract class AbstractEclipseTestMojo extends AbstractTestMojo {
|
326 | 326 | @Component
|
327 | 327 | protected RepositorySystem repositorySystem;
|
328 | 328 |
|
329 |
| - @Component |
330 |
| - private ResolutionErrorHandler resolutionErrorHandler; |
331 |
| - |
332 | 329 | @Component(role = TychoProject.class)
|
333 | 330 | private Map<String, TychoProject> projectTypes;
|
334 | 331 |
|
@@ -1209,23 +1206,28 @@ private List<File> getFrameworkExtensions() throws MojoExecutionException {
|
1209 | 1206 |
|
1210 | 1207 | if (frameworkExtensions != null) {
|
1211 | 1208 | for (Dependency frameworkExtension : frameworkExtensions) {
|
1212 |
| - Artifact artifact = repositorySystem.createDependencyArtifact(frameworkExtension); |
1213 |
| - ArtifactResolutionRequest request = new ArtifactResolutionRequest(); |
1214 |
| - request.setArtifact(artifact); |
1215 |
| - request.setResolveRoot(true).setResolveTransitively(false); |
1216 |
| - request.setLocalRepository(session.getLocalRepository()); |
1217 |
| - // XXX wrong repositories -- these are user artifacts, not plugin artifacts |
1218 |
| - request.setRemoteRepositories(project.getPluginArtifactRepositories()); |
1219 |
| - request.setOffline(session.isOffline()); |
1220 |
| - request.setForceUpdate(session.getRequest().isUpdateSnapshots()); |
1221 |
| - ArtifactResolutionResult result = repositorySystem.resolve(request); |
| 1209 | + org.eclipse.aether.artifact.Artifact artifact = new org.eclipse.aether.artifact.DefaultArtifact( |
| 1210 | + frameworkExtension.getGroupId(), frameworkExtension.getArtifactId(), |
| 1211 | + frameworkExtension.getType(), frameworkExtension.getVersion()); |
| 1212 | + ArtifactRequest artifactRequest = new ArtifactRequest(); |
| 1213 | + artifactRequest.setArtifact(artifact); |
| 1214 | + artifactRequest.setRepositories(RepositoryUtils.toRepos(project.getRemoteArtifactRepositories())); |
| 1215 | + ArtifactResult artifactResult; |
1222 | 1216 | try {
|
1223 |
| - resolutionErrorHandler.throwErrors(request, result); |
| 1217 | + artifactResult = repositorySystem.resolveArtifact(session.getRepositorySession(), artifactRequest); |
| 1218 | + if (artifactResult.isResolved()) { |
| 1219 | + files.add(artifactResult.getArtifact().getFile()); |
| 1220 | + } else { |
| 1221 | + MojoExecutionException exception = new MojoExecutionException( |
| 1222 | + "Failed to resolve framework extension " + frameworkExtension.getManagementKey()); |
| 1223 | + artifactResult.getExceptions().forEach(exception::addSuppressed); |
| 1224 | + throw exception; |
| 1225 | + } |
1224 | 1226 | } catch (ArtifactResolutionException e) {
|
1225 | 1227 | throw new MojoExecutionException(
|
1226 | 1228 | "Failed to resolve framework extension " + frameworkExtension.getManagementKey(), e);
|
1227 | 1229 | }
|
1228 |
| - files.add(artifact.getFile()); |
| 1230 | + |
1229 | 1231 | }
|
1230 | 1232 | }
|
1231 | 1233 |
|
|
0 commit comments