This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch mvn4
in repository https://gitbox.apache.org/repos/asf/maven.git

commit d1f968dd35090032b37defe0e7f8558621475cdb
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Tue Mar 15 11:20:40 2022 +0100

    Add a few methods on Session and use @see references
---
 .../main/java/org/apache/maven/api/Artifact.java   |  1 +
 .../main/java/org/apache/maven/api/Session.java    | 88 ++++++++++++++++++++--
 2 files changed, 84 insertions(+), 5 deletions(-)

diff --git a/maven-core-api/src/main/java/org/apache/maven/api/Artifact.java 
b/maven-core-api/src/main/java/org/apache/maven/api/Artifact.java
index 9dcaaa2..e00a74a 100644
--- a/maven-core-api/src/main/java/org/apache/maven/api/Artifact.java
+++ b/maven-core-api/src/main/java/org/apache/maven/api/Artifact.java
@@ -85,6 +85,7 @@ public interface Artifact
      * Determines whether this artifact uses a snapshot version.
      *
      * @return {@code true} if the artifact is a snapshot, {@code false} 
otherwise.
+     * @see org.apache.maven.api.Session#isVersionSnapshot(String)
      */
     boolean isSnapshot();
 
diff --git a/maven-core-api/src/main/java/org/apache/maven/api/Session.java 
b/maven-core-api/src/main/java/org/apache/maven/api/Session.java
index d568b47..bf484da 100644
--- a/maven-core-api/src/main/java/org/apache/maven/api/Session.java
+++ b/maven-core-api/src/main/java/org/apache/maven/api/Session.java
@@ -27,7 +27,9 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.NoSuchElementException;
+import java.util.Optional;
 import java.util.Properties;
+import java.util.function.Predicate;
 
 import org.apache.maven.api.services.ArtifactDeployer;
 import org.apache.maven.api.services.ArtifactDeployerException;
@@ -35,6 +37,7 @@ import org.apache.maven.api.services.ArtifactFactory;
 import org.apache.maven.api.services.ArtifactFactoryException;
 import org.apache.maven.api.services.ArtifactInstaller;
 import org.apache.maven.api.services.ArtifactInstallerException;
+import org.apache.maven.api.services.ArtifactManager;
 import org.apache.maven.api.services.ArtifactResolver;
 import org.apache.maven.api.services.ArtifactResolverException;
 import org.apache.maven.api.services.ArtifactResolverResult;
@@ -48,6 +51,7 @@ import org.apache.maven.api.services.DependencyResolverResult;
 import org.apache.maven.api.services.LocalRepositoryManager;
 import org.apache.maven.api.services.RepositoryFactory;
 import org.apache.maven.api.services.Service;
+import org.apache.maven.model.Repository;
 import org.apache.maven.settings.Settings;
 
 /**
@@ -125,6 +129,7 @@ public interface Session
 
     /**
      * Shortcut for 
<code>getService(RepositoryFactory.class).createLocal(...)</code>
+     * @see RepositoryFactory#createLocal(Path)
      */
     default LocalRepository createLocalRepository( Path path )
             throws ArtifactFactoryException, IllegalArgumentException
@@ -133,7 +138,30 @@ public interface Session
     }
 
     /**
+     * Shortcut for 
<code>getService(RepositoryFactory.class).createRemote(...)</code>
+     * @see RepositoryFactory#createRemote(String, String)
+     */
+    @Nonnull
+    default RemoteRepository createRemoteRepository( @Nonnull String id, 
@Nonnull String url )
+    {
+        return getService( RepositoryFactory.class )
+                .createRemote( id, url );
+    }
+
+    /**
+     * Shortcut for 
<code>getService(RepositoryFactory.class).createRemote(...)</code>
+     * @see RepositoryFactory#createRemote(Repository)
+     */
+    @Nonnull
+    default RemoteRepository createRemoteRepository( @Nonnull Repository 
repository )
+    {
+        return getService( RepositoryFactory.class )
+                .createRemote( repository );
+    }
+
+    /**
      * Shortcut for <code>getService(ArtifactFactory.class).create(...)</code>
+     * @see ArtifactFactory#create(Session, String, String, String, String)
      */
     default Artifact createArtifact( String groupId, String artifactId, String 
version, String extension )
             throws ArtifactFactoryException, IllegalArgumentException
@@ -144,6 +172,7 @@ public interface Session
 
     /**
      * Shortcut for <code>getService(ArtifactFactory.class).create(...)</code>
+     * @see ArtifactFactory#create(Session, String, String, String, String, 
String, String)
      */
     default Artifact createArtifact( String groupId, String artifactId, String 
version, String classifier,
                                      String extension, String type )
@@ -155,6 +184,7 @@ public interface Session
 
     /**
      * Shortcut for 
<code>getService(ArtifactResolver.class).resolve(...)</code>
+     * @see ArtifactResolver#resolve(Session, Artifact)
      */
     default ArtifactResolverResult resolveArtifact( Artifact artifact )
             throws ArtifactResolverException, IllegalArgumentException
@@ -164,17 +194,29 @@ public interface Session
     }
 
     /**
-     * Shortcut for 
<code>getService(ArtifactResolver.class).install(...)</code>
+     * Shortcut for 
<code>getService(ArtifactInstaller.class).install(...)</code>
+     * @see ArtifactInstaller#install(Session, Collection)
+     */
+    default void installArtifacts( Artifact... artifacts )
+            throws ArtifactInstallerException, IllegalArgumentException
+    {
+        installArtifacts( Arrays.asList( artifacts ) );
+    }
+
+    /**
+     * Shortcut for 
<code>getService(ArtifactInstaller.class).install(...)</code>
+     * @see ArtifactInstaller#install(Session, Collection)
      */
-    default void installArtifact( Artifact... artifacts )
-        throws ArtifactInstallerException, IllegalArgumentException
+    default void installArtifacts( Collection<Artifact> artifacts )
+            throws ArtifactInstallerException, IllegalArgumentException
     {
         getService( ArtifactInstaller.class )
-                .install( this, Arrays.asList( artifacts ) );
+                .install( this, artifacts );
     }
 
     /**
-     * Shortcut for <code>getService(ArtifactResolver.class).deploy(...)</code>
+     * Shortcut for <code>getService(ArtifactDeployer.class).deploy(...)</code>
+     * @see ArtifactDeployer#deploy(Session, RemoteRepository, Collection)
      */
     default void deployArtifact( RemoteRepository repository, Artifact... 
artifacts )
         throws ArtifactDeployerException, IllegalArgumentException
@@ -184,7 +226,39 @@ public interface Session
     }
 
     /**
+     * Shortcut for <code>getService(ArtifactManager.class).setPath(...)</code>
+     * @see ArtifactManager#setPath(Artifact, Path)
+     */
+    default void setArtifactPath( @Nonnull Artifact artifact, Path path )
+    {
+        getService( ArtifactManager.class )
+                .setPath( artifact, path );
+    }
+
+    /**
+     * Shortcut for <code>getService(ArtifactManager.class).getPath(...)</code>
+     * @see ArtifactManager#getPath(Artifact)
+     */
+    @Nonnull
+    default Optional<Path> getArtifactPath( @Nonnull Artifact artifact )
+    {
+        return getService( ArtifactManager.class )
+                .getPath( artifact );
+    }
+
+    /**
+     * Shortcut for 
<code>getService(ArtifactManager.class).isSnapshot(...)</code>
+     * @see ArtifactManager#isSnapshot(String)
+     */
+    default boolean isVersionSnapshot( @Nonnull String version )
+    {
+        return getService( ArtifactManager.class )
+                .isSnapshot( version );
+    }
+
+    /**
      * Shortcut for 
<code>getService(DependencyFactory.class).create(...)</code>
+     * @see DependencyFactory#create(Session, Artifact)
      */
     default Dependency createDependency( Artifact artifact )
     {
@@ -194,6 +268,7 @@ public interface Session
 
     /**
      * Shortcut for 
<code>getService(DependencyCollector.class).collect(...)</code>
+     * @see DependencyCollector#collect(Session, Artifact)
      */
     default DependencyCollectorResult collectDependencies( Artifact artifact )
             throws DependencyCollectorException, IllegalArgumentException
@@ -204,6 +279,7 @@ public interface Session
 
     /**
      * Shortcut for 
<code>getService(DependencyCollector.class).collect(...)</code>
+     * @see DependencyCollector#collect(Session, Project)
      */
     default DependencyCollectorResult collectDependencies( Project project )
             throws DependencyCollectorException, IllegalArgumentException
@@ -214,6 +290,7 @@ public interface Session
 
     /**
      * Shortcut for 
<code>getService(DependencyCollector.class).collect(...)</code>
+     * @see DependencyCollector#collect(Session, Dependency)
      */
     default DependencyCollectorResult collectDependencies( Dependency 
dependency )
             throws DependencyCollectorException, IllegalArgumentException
@@ -224,6 +301,7 @@ public interface Session
 
     /**
      * Shortcut for 
<code>getService(DependencyResolver.class).resolve(...)</code>
+     * @see DependencyResolver#resolve(Session, Dependency, Predicate)
      */
     default DependencyResolverResult resolveDependencies( Dependency 
dependency )
             throws DependencyResolverException, IllegalArgumentException

Reply via email to