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