Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
import org.apache.maven.internal.impl.DefaultArtifactManager;
import org.apache.maven.internal.impl.DefaultSession;
import org.apache.maven.plugin.PluginResolutionException;
import org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver;
import org.apache.maven.plugin.internal.PluginDependenciesResolver;
import org.apache.maven.resolver.MavenChainedWorkspaceReader;
import org.apache.maven.resolver.RepositorySystemSessionFactory;
import org.codehaus.plexus.DefaultPlexusContainer;
Expand Down Expand Up @@ -97,7 +97,7 @@ public class BootstrapCoreExtensionManager {

private final Logger log = LoggerFactory.getLogger(getClass());

private final DefaultPluginDependenciesResolver pluginDependenciesResolver;
private final PluginDependenciesResolver pluginDependenciesResolver;

private final RepositorySystemSessionFactory repositorySystemSessionFactory;

Expand All @@ -113,7 +113,7 @@ public class BootstrapCoreExtensionManager {

@Inject
public BootstrapCoreExtensionManager(
DefaultPluginDependenciesResolver pluginDependenciesResolver,
PluginDependenciesResolver pluginDependenciesResolver,
RepositorySystemSessionFactory repositorySystemSessionFactory,
CoreExports coreExports,
PlexusContainer container,
Expand Down Expand Up @@ -213,7 +213,7 @@ private List<Artifact> resolveExtension(
throws ExtensionResolutionException {
try {
/* TODO: Enhance the PluginDependenciesResolver to provide a
* resolveCoreExtension method which uses a CoreExtension
* resolveCoreExtensionAndFlatten method which uses a CoreExtension
* object instead of a Plugin as this makes no sense.
*/
Plugin plugin = Plugin.newBuilder()
Expand All @@ -222,7 +222,7 @@ private List<Artifact> resolveExtension(
.version(interpolator.apply(extension.getVersion()))
.build();

DependencyResult result = pluginDependenciesResolver.resolveCoreExtension(
DependencyResult result = pluginDependenciesResolver.resolveCoreExtensionAndFlatten(
new org.apache.maven.model.Plugin(plugin), dependencyFilter, repositories, repoSession);
return result.getArtifactResults().stream()
.filter(ArtifactResult::isResolved)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
import org.apache.maven.internal.impl.DefaultArtifactManager;
import org.apache.maven.internal.impl.DefaultSession;
import org.apache.maven.plugin.PluginResolutionException;
import org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver;
import org.apache.maven.plugin.internal.PluginDependenciesResolver;
import org.apache.maven.resolver.MavenChainedWorkspaceReader;
import org.apache.maven.resolver.RepositorySystemSessionFactory;
import org.codehaus.plexus.DefaultPlexusContainer;
Expand Down Expand Up @@ -98,7 +98,7 @@ public class BootstrapCoreExtensionManager {

private final Logger log = LoggerFactory.getLogger(getClass());

private final DefaultPluginDependenciesResolver pluginDependenciesResolver;
private final PluginDependenciesResolver pluginDependenciesResolver;

private final RepositorySystemSessionFactory repositorySystemSessionFactory;

Expand All @@ -116,7 +116,7 @@ public class BootstrapCoreExtensionManager {

@Inject
public BootstrapCoreExtensionManager(
DefaultPluginDependenciesResolver pluginDependenciesResolver,
PluginDependenciesResolver pluginDependenciesResolver,
RepositorySystemSessionFactory repositorySystemSessionFactory,
CoreExports coreExports,
PlexusContainer container,
Expand Down Expand Up @@ -218,7 +218,7 @@ private List<Artifact> resolveExtension(
throws ExtensionResolutionException {
try {
/* TODO: Enhance the PluginDependenciesResolver to provide a
* resolveCoreExtension method which uses a CoreExtension
* resolveCoreExtensionAndFlatten method which uses a CoreExtension
* object instead of a Plugin as this makes no sense.
*/
Plugin plugin = Plugin.newBuilder()
Expand All @@ -227,7 +227,7 @@ private List<Artifact> resolveExtension(
.version(interpolator.apply(extension.getVersion()))
.build();

DependencyResult result = pluginDependenciesResolver.resolveCoreExtension(
DependencyResult result = pluginDependenciesResolver.resolveCoreExtensionAndFlatten(
new org.apache.maven.model.Plugin(plugin), dependencyFilter, repositories, repoSession);
return result.getArtifactResults().stream()
.filter(ArtifactResult::isResolved)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ private void createPluginRealm(
DependencyFilter dependencyFilter = project.getExtensionDependencyFilter();
dependencyFilter = AndDependencyFilter.newInstance(dependencyFilter, filter);

DependencyResult result = pluginDependenciesResolver.resolvePlugin(
DependencyResult result = pluginDependenciesResolver.resolvePluginAndFlatten(
plugin,
RepositoryUtils.toArtifact(pluginArtifact),
dependencyFilter,
Expand Down Expand Up @@ -1036,7 +1036,7 @@ private List<Artifact> resolveExtensionArtifacts(
Plugin extensionPlugin, List<RemoteRepository> repositories, RepositorySystemSession session)
throws PluginResolutionException {
DependencyResult root =
pluginDependenciesResolver.resolvePlugin(extensionPlugin, null, null, repositories, session);
pluginDependenciesResolver.resolvePluginAndFlatten(extensionPlugin, null, null, repositories, session);
return toMavenArtifacts(root);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,21 @@ public Artifact resolve(Plugin plugin, List<RemoteRepository> repositories, Repo

/**
* @since 3.3.0
* @deprecated Is unused since 3.10+
*/
public DependencyResult resolveCoreExtension(
@Deprecated
public DependencyNode resolveCoreExtension(
Plugin plugin,
DependencyFilter dependencyFilter,
List<RemoteRepository> repositories,
RepositorySystemSession session)
throws PluginResolutionException {
return resolveCoreExtensionAndFlatten(plugin, dependencyFilter, repositories, session)
.getRoot();
}

@Override
public DependencyResult resolveCoreExtensionAndFlatten(
Plugin plugin,
DependencyFilter dependencyFilter,
List<RemoteRepository> repositories,
Expand Down Expand Up @@ -194,8 +207,20 @@ public DependencyResult resolveCoreExtension(
}
}

@Deprecated
@Override
public DependencyResult resolvePlugin(
Plugin plugin,
Artifact artifact,
DependencyFilter dependencyFilter,
List<RemoteRepository> repositories,
RepositorySystemSession session)
throws PluginResolutionException {
return resolvePluginAndFlatten(plugin, artifact, dependencyFilter, repositories, session);
}

@Override
public DependencyResult resolvePluginAndFlatten(
Plugin plugin,
Artifact pluginArtifact,
DependencyFilter dependencyFilter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ Artifact resolve(Plugin plugin, List<RemoteRepository> repositories, RepositoryS
* @param session The repository session to use for resolving the plugin artifacts, must not be {@code null}.
* @return The dependency tree denoting the resolved plugin class path, never {@code null}.
* @throws PluginResolutionException If any dependency could not be resolved.
* @deprecated This method should be avoided, as it requires manual flattening; use {@link #resolvePluginAndFlatten(Plugin, Artifact, DependencyFilter, List, RepositorySystemSession)} instead to let Resolver handle it.
*/
@Deprecated
DependencyNode resolve(
Plugin plugin,
Artifact pluginArtifact,
Expand All @@ -70,11 +72,63 @@ DependencyNode resolve(
RepositorySystemSession session)
throws PluginResolutionException;

/**
* Resolves the runtime dependencies of the specified core extension (as {@link Plugin} as GAV carrier).
*
* @param plugin The plugin for which to resolve the dependencies, must not be {@code null}.
* @param dependencyFilter A filter to exclude artifacts from resolution (but not collection), may be {@code null}.
* @param repositories The plugin repositories to use for resolving the plugin artifacts, must not be {@code null}.
* @param session The repository session to use for resolving the plugin artifacts, must not be {@code null}.
* @return The dependency resolution result having the resolved extension class path but also the tree, never {@code null}.
* @throws PluginResolutionException If any dependency could not be resolved.
* @since 3.10.0
*/
DependencyResult resolveCoreExtensionAndFlatten(
Plugin plugin,
DependencyFilter dependencyFilter,
List<RemoteRepository> repositories,
RepositorySystemSession session)
throws PluginResolutionException;

/**
* Resolves the runtime dependencies of the specified plugin.
*
* @param plugin The plugin for which to resolve the dependencies, must not be {@code null}.
* @param artifact The plugin's main artifact, may be {@code null}.
* @param dependencyFilter A filter to exclude artifacts from resolution (but not collection), may be {@code null}.
* @param repositories The plugin repositories to use for resolving the plugin artifacts, must not be {@code null}.
* @param session The repository session to use for resolving the plugin artifacts, must not be {@code null}.
* @return The dependency resolution result having the resolved plugin class path but also the tree, never {@code null}.
* @throws PluginResolutionException If any dependency could not be resolved.
* @since 4.0.0-beta-2
* @deprecated Use {@link #resolvePluginAndFlatten(Plugin, Artifact, DependencyFilter, List, RepositorySystemSession)} instead.
*/
@Deprecated
DependencyResult resolvePlugin(
Plugin plugin,
Artifact artifact,
DependencyFilter dependencyFilter,
List<RemoteRepository> remotePluginRepositories,
RepositorySystemSession repositorySession)
List<RemoteRepository> repositories,
RepositorySystemSession session)
throws PluginResolutionException;

/**
* Resolves the runtime dependencies of the specified plugin.
*
* @param plugin The plugin for which to resolve the dependencies, must not be {@code null}.
* @param pluginArtifact The plugin's main artifact, may be {@code null}.
* @param dependencyFilter A filter to exclude artifacts from resolution (but not collection), may be {@code null}.
* @param repositories The plugin repositories to use for resolving the plugin artifacts, must not be {@code null}.
* @param session The repository session to use for resolving the plugin artifacts, must not be {@code null}.
* @return The dependency resolution result having the resolved plugin class path but also the tree, never {@code null}.
* @throws PluginResolutionException If any dependency could not be resolved.
* @since 3.10.0
*/
DependencyResult resolvePluginAndFlatten(
Plugin plugin,
Artifact pluginArtifact,
DependencyFilter dependencyFilter,
List<RemoteRepository> repositories,
RepositorySystemSession session)
throws PluginResolutionException;
}
Loading