diff --git a/maven-plugin-testing-harness/pom.xml b/maven-plugin-testing-harness/pom.xml index e04e50a1..ba54ffa6 100644 --- a/maven-plugin-testing-harness/pom.xml +++ b/maven-plugin-testing-harness/pom.xml @@ -64,7 +64,7 @@ under the License. org.apache.maven - maven-xml-impl + maven-xml ${mavenVersion} diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java index 9e96ab54..89f27c1b 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java @@ -62,10 +62,10 @@ import org.apache.maven.di.Injector; import org.apache.maven.di.Key; import org.apache.maven.di.impl.DIException; +import org.apache.maven.impl.InternalSession; +import org.apache.maven.impl.model.DefaultModelPathTranslator; +import org.apache.maven.impl.model.DefaultPathTranslator; import org.apache.maven.internal.impl.DefaultLog; -import org.apache.maven.internal.impl.InternalSession; -import org.apache.maven.internal.impl.model.DefaultModelPathTranslator; -import org.apache.maven.internal.impl.model.DefaultPathTranslator; import org.apache.maven.internal.xml.XmlNodeImpl; import org.apache.maven.internal.xml.XmlPlexusConfiguration; import org.apache.maven.lifecycle.internal.MojoDescriptorCreator; diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java index df9e5c2b..8664366e 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java @@ -25,8 +25,8 @@ import org.apache.maven.api.Version; import org.apache.maven.api.VersionConstraint; import org.apache.maven.api.annotations.Nonnull; -import org.apache.maven.internal.impl.DefaultModelVersionParser; -import org.apache.maven.internal.impl.DefaultVersionParser; +import org.apache.maven.impl.DefaultModelVersionParser; +import org.apache.maven.impl.DefaultVersionParser; import org.eclipse.aether.util.version.GenericVersionScheme; /** diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/RepositorySystemSupplier.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/RepositorySystemSupplier.java index e27e1084..dd9fea4a 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/RepositorySystemSupplier.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/RepositorySystemSupplier.java @@ -26,39 +26,38 @@ import java.util.function.Supplier; import org.apache.maven.api.services.ModelBuilder; -import org.apache.maven.internal.impl.DefaultModelUrlNormalizer; -import org.apache.maven.internal.impl.DefaultModelVersionParser; -import org.apache.maven.internal.impl.DefaultModelXmlFactory; -import org.apache.maven.internal.impl.DefaultPluginConfigurationExpander; -import org.apache.maven.internal.impl.DefaultSuperPomProvider; -import org.apache.maven.internal.impl.DefaultUrlNormalizer; -import org.apache.maven.internal.impl.model.DefaultDependencyManagementImporter; -import org.apache.maven.internal.impl.model.DefaultDependencyManagementInjector; -import org.apache.maven.internal.impl.model.DefaultInheritanceAssembler; -import org.apache.maven.internal.impl.model.DefaultInterpolator; -import org.apache.maven.internal.impl.model.DefaultModelBuilder; -import org.apache.maven.internal.impl.model.DefaultModelCacheFactory; -import org.apache.maven.internal.impl.model.DefaultModelInterpolator; -import org.apache.maven.internal.impl.model.DefaultModelNormalizer; -import org.apache.maven.internal.impl.model.DefaultModelPathTranslator; -import org.apache.maven.internal.impl.model.DefaultModelProcessor; -import org.apache.maven.internal.impl.model.DefaultModelValidator; -import org.apache.maven.internal.impl.model.DefaultPathTranslator; -import org.apache.maven.internal.impl.model.DefaultPluginManagementInjector; -import org.apache.maven.internal.impl.model.DefaultProfileInjector; -import org.apache.maven.internal.impl.model.DefaultProfileSelector; -import org.apache.maven.internal.impl.model.ProfileActivationFilePathInterpolator; -import org.apache.maven.internal.impl.model.rootlocator.DefaultRootLocator; -import org.apache.maven.internal.impl.resolver.DefaultArtifactDescriptorReader; -import org.apache.maven.internal.impl.resolver.DefaultModelResolver; -import org.apache.maven.internal.impl.resolver.DefaultVersionRangeResolver; -import org.apache.maven.internal.impl.resolver.DefaultVersionResolver; -import org.apache.maven.internal.impl.resolver.MavenArtifactRelocationSource; -import org.apache.maven.internal.impl.resolver.PluginsMetadataGeneratorFactory; -import org.apache.maven.internal.impl.resolver.SnapshotMetadataGeneratorFactory; -import org.apache.maven.internal.impl.resolver.VersionsMetadataGeneratorFactory; -import org.apache.maven.internal.impl.resolver.relocation.DistributionManagementArtifactRelocationSource; -import org.apache.maven.internal.impl.resolver.relocation.UserPropertiesArtifactRelocationSource; +import org.apache.maven.impl.DefaultModelUrlNormalizer; +import org.apache.maven.impl.DefaultModelVersionParser; +import org.apache.maven.impl.DefaultModelXmlFactory; +import org.apache.maven.impl.DefaultPluginConfigurationExpander; +import org.apache.maven.impl.DefaultSuperPomProvider; +import org.apache.maven.impl.DefaultUrlNormalizer; +import org.apache.maven.impl.model.DefaultDependencyManagementImporter; +import org.apache.maven.impl.model.DefaultDependencyManagementInjector; +import org.apache.maven.impl.model.DefaultInheritanceAssembler; +import org.apache.maven.impl.model.DefaultInterpolator; +import org.apache.maven.impl.model.DefaultModelBuilder; +import org.apache.maven.impl.model.DefaultModelCacheFactory; +import org.apache.maven.impl.model.DefaultModelInterpolator; +import org.apache.maven.impl.model.DefaultModelNormalizer; +import org.apache.maven.impl.model.DefaultModelPathTranslator; +import org.apache.maven.impl.model.DefaultModelProcessor; +import org.apache.maven.impl.model.DefaultModelValidator; +import org.apache.maven.impl.model.DefaultPathTranslator; +import org.apache.maven.impl.model.DefaultPluginManagementInjector; +import org.apache.maven.impl.model.DefaultProfileInjector; +import org.apache.maven.impl.model.DefaultProfileSelector; +import org.apache.maven.impl.model.rootlocator.DefaultRootLocator; +import org.apache.maven.impl.resolver.DefaultArtifactDescriptorReader; +import org.apache.maven.impl.resolver.DefaultModelResolver; +import org.apache.maven.impl.resolver.DefaultVersionRangeResolver; +import org.apache.maven.impl.resolver.DefaultVersionResolver; +import org.apache.maven.impl.resolver.MavenArtifactRelocationSource; +import org.apache.maven.impl.resolver.PluginsMetadataGeneratorFactory; +import org.apache.maven.impl.resolver.SnapshotMetadataGeneratorFactory; +import org.apache.maven.impl.resolver.VersionsMetadataGeneratorFactory; +import org.apache.maven.impl.resolver.relocation.DistributionManagementArtifactRelocationSource; +import org.apache.maven.impl.resolver.relocation.UserPropertiesArtifactRelocationSource; import org.eclipse.aether.RepositoryListener; import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory; @@ -140,6 +139,7 @@ import org.eclipse.aether.spi.artifact.ArtifactPredicateFactory; import org.eclipse.aether.spi.artifact.decorator.ArtifactDecoratorFactory; import org.eclipse.aether.spi.artifact.generator.ArtifactGeneratorFactory; +import org.eclipse.aether.spi.artifact.transformer.ArtifactTransformer; import org.eclipse.aether.spi.checksums.ProvidedChecksumsSource; import org.eclipse.aether.spi.checksums.TrustedChecksumsSource; import org.eclipse.aether.spi.connector.RepositoryConnectorFactory; @@ -752,6 +752,7 @@ protected Installer createInstaller() { getRepositoryEventDispatcher(), getArtifactGeneratorFactories(), getMetadataGeneratorFactories(), + getArtifactTransformers(), getSyncContextFactory()); } @@ -774,6 +775,7 @@ protected Deployer createDeployer() { getUpdateCheckManager(), getArtifactGeneratorFactories(), getMetadataGeneratorFactories(), + getArtifactTransformers(), getSyncContextFactory(), getOfflineController()); } @@ -933,6 +935,20 @@ protected Map createArtifactDecoratorFactories return new HashMap<>(); } + protected Map artifactTransformers; + + public final Map getArtifactTransformers() { + checkClosed(); + if (artifactTransformers == null) { + artifactTransformers = createArtifactTransformers(); + } + return artifactTransformers; + } + + protected Map createArtifactTransformers() { + return new HashMap<>(); + } + // Maven provided private Map metadataGeneratorFactories; @@ -1058,13 +1074,13 @@ protected ModelBuilder createModelBuilder() { new DefaultDependencyManagementInjector(), new DefaultDependencyManagementImporter(), new DefaultPluginConfigurationExpander(), - new ProfileActivationFilePathInterpolator( - new DefaultPathTranslator(), new DefaultRootLocator(), new DefaultInterpolator()), new DefaultModelVersionParser(getVersionScheme()), List.of(), new DefaultModelCacheFactory(), new DefaultModelResolver(), - new DefaultInterpolator()); + new DefaultInterpolator(), + new DefaultPathTranslator(), + new DefaultRootLocator()); } private RepositorySystem repositorySystem; diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java index f8562d0a..761e2e90 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java @@ -56,10 +56,10 @@ import org.apache.maven.api.services.RepositoryFactory; import org.apache.maven.api.services.VersionParser; import org.apache.maven.api.services.xml.ModelXmlFactory; -import org.apache.maven.internal.impl.DefaultModelVersionParser; -import org.apache.maven.internal.impl.DefaultModelXmlFactory; -import org.apache.maven.internal.impl.DefaultVersionParser; -import org.apache.maven.internal.impl.InternalSession; +import org.apache.maven.impl.DefaultModelVersionParser; +import org.apache.maven.impl.DefaultModelXmlFactory; +import org.apache.maven.impl.DefaultVersionParser; +import org.apache.maven.impl.InternalSession; import org.apache.maven.model.v4.MavenStaxReader; import org.eclipse.aether.util.version.GenericVersionScheme; import org.mockito.ArgumentMatchers; @@ -158,18 +158,18 @@ public static InternalSession getMockSession(LocalRepository localRepository) { .installArtifacts(any(Collection.class)); doAnswer(iom -> { artifactInstaller.install(ArtifactInstallerRequest.build( - session, Arrays.asList(iom.getArgument(0, Artifact[].class)))); + session, Arrays.asList(iom.getArgument(0, ProducedArtifact[].class)))); return null; }) .when(session) - .installArtifacts(any(Artifact[].class)); + .installArtifacts(any(ProducedArtifact[].class)); doAnswer(iom -> { artifactInstaller.install(ArtifactInstallerRequest.build( iom.getArgument(0, Session.class), iom.getArgument(1, Collection.class))); return null; }) .when(artifactInstaller) - .install(any(Session.class), ArgumentMatchers.>any()); + .install(any(Session.class), ArgumentMatchers.>any()); when(session.getService(ArtifactInstaller.class)).thenReturn(artifactInstaller); // @@ -180,7 +180,7 @@ public static InternalSession getMockSession(LocalRepository localRepository) { artifactDeployer.deploy(ArtifactDeployerRequest.build( iom.getArgument(0, Session.class), iom.getArgument(1, RemoteRepository.class), - Arrays.asList(iom.getArgument(2, Artifact[].class)))); + Arrays.asList(iom.getArgument(2, ProducedArtifact[].class)))); return null; }) .when(session) diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java index f9c2390a..003cf175 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java @@ -53,6 +53,7 @@ import org.apache.maven.api.annotations.Nonnull; import org.apache.maven.api.annotations.Nullable; import org.apache.maven.api.model.Repository; +import org.apache.maven.api.services.VersionResolverException; import org.apache.maven.api.settings.Settings; /** @@ -330,6 +331,12 @@ public Version resolveVersion(ArtifactCoordinates artifact) { return null; } + @Override + public Optional resolveHighestVersion(ArtifactCoordinates artifactCoordinates, List list) + throws VersionResolverException { + return Optional.empty(); + } + @Override public List resolveVersionRange(ArtifactCoordinates artifact) { return null; @@ -341,13 +348,13 @@ public List resolveVersionRange(ArtifactCoordinates artifact, List artifacts) {} + public void installArtifacts(Collection artifacts) {} @Override - public void deployArtifact(RemoteRepository repository, Artifact... artifacts) {} + public void deployArtifact(RemoteRepository repository, ProducedArtifact... artifacts) {} @Override public void setArtifactPath(ProducedArtifact artifact, Path path) {} diff --git a/pom.xml b/pom.xml index 35baf93a..f2df15b3 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ under the License. 3.5.1 - 4.0.0-beta-5 + 4.0.0-rc-3-SNAPSHOT plugin-testing-archives/LATEST 17 2024-11-08T07:31:16Z