You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2020/12/04 18:04:18 UTC

[maven-resolver-ant-tasks] branch MRESOLVER-66 updated (0727bc9 -> 7d14dde)

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

michaelo pushed a change to branch MRESOLVER-66
in repository https://gitbox.apache.org/repos/asf/maven-resolver-ant-tasks.git.


 discard 0727bc9  [MRESOLVER-66] Settings task does not load active profile repositories defined in settings.xml
     add 5207265  [maven-release-plugin] prepare release maven-resolver-ant-tasks-1.3.0
     add 48cab9c  [maven-release-plugin] prepare for next development iteration
     new 7d14dde  [MRESOLVER-66] Settings task does not load active profile repositories defined in settings.xml

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0727bc9)
            \
             N -- N -- N   refs/heads/MRESOLVER-66 (7d14dde)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


[maven-resolver-ant-tasks] 01/01: [MRESOLVER-66] Settings task does not load active profile repositories defined in settings.xml

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch MRESOLVER-66
in repository https://gitbox.apache.org/repos/asf/maven-resolver-ant-tasks.git

commit 7d14dde609a0c459bac6941de98ec4f98b0c57c1
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Oct 17 00:00:44 2020 +0200

    [MRESOLVER-66] Settings task does not load active profile repositories defined in settings.xml
    
    This closes #4
---
 .../maven/resolver/internal/ant/AntRepoSys.java    | 80 +++++++++++++++++++++-
 1 file changed, 78 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/maven/resolver/internal/ant/AntRepoSys.java b/src/main/java/org/apache/maven/resolver/internal/ant/AntRepoSys.java
index 9242855..47dd306 100644
--- a/src/main/java/org/apache/maven/resolver/internal/ant/AntRepoSys.java
+++ b/src/main/java/org/apache/maven/resolver/internal/ant/AntRepoSys.java
@@ -58,6 +58,10 @@ import org.apache.maven.resolver.internal.ant.types.Pom;
 import org.apache.maven.resolver.internal.ant.types.Proxy;
 import org.apache.maven.resolver.internal.ant.types.RemoteRepositories;
 import org.apache.maven.resolver.internal.ant.types.RemoteRepository;
+import org.apache.maven.resolver.internal.ant.types.RemoteRepository.Policy;
+import org.apache.maven.settings.Profile;
+import org.apache.maven.settings.Repository;
+import org.apache.maven.settings.RepositoryPolicy;
 import org.apache.maven.settings.Server;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.building.DefaultSettingsBuilderFactory;
@@ -185,6 +189,7 @@ public class AntRepoSys
         repo = new RemoteRepository();
         repo.setProject( project );
         repo.setRefid( new Reference( project, Names.ID_CENTRAL ) );
+
         RemoteRepositories repos = new RemoteRepositories();
         repos.setProject( project );
         repos.addRemoterepo( repo );
@@ -458,6 +463,77 @@ public class AntRepoSys
         return new ConservativeAuthenticationSelector( selector );
     }
 
+    private RemoteRepositories getRemoteRepositories()
+    {
+        RemoteRepositories remoteRepositories = new RemoteRepositories();
+        remoteRepositories.setProject( project );
+
+        Settings settings = getSettings();
+        List<String> activeProfiles = settings.getActiveProfiles();
+        for ( String profileId : activeProfiles )
+        {
+            Profile profile = settings.getProfilesAsMap().get( profileId );
+            for ( Repository repository : profile.getRepositories() )
+            {
+                String id = repository.getId();
+                RemoteRepository repo = new RemoteRepository();
+                repo.setProject( project );
+                repo.setId( id );
+                repo.setUrl( repository.getUrl() );
+                if ( repository.getReleases() != null )
+                {
+                    RepositoryPolicy repositoryPolicy = repository.getReleases();
+                    Policy policy = new Policy();
+                    policy.setEnabled( repositoryPolicy.isEnabled() );
+                    if ( repositoryPolicy.getChecksumPolicy() != null )
+                    {
+                        policy.setChecksums( repositoryPolicy.getChecksumPolicy() );
+                    }
+                    if ( repositoryPolicy.getUpdatePolicy() != null )
+                    {
+                        policy.setUpdates( repositoryPolicy.getUpdatePolicy() );
+                    }
+                    repo.addReleases( policy );
+                }
+                if ( repository.getSnapshots() != null )
+                {
+                    RepositoryPolicy repositoryPolicy = repository.getSnapshots();
+                    Policy policy = new Policy();
+                    policy.setEnabled( repositoryPolicy.isEnabled() );
+                    if ( repositoryPolicy.getChecksumPolicy() != null )
+                    {
+                        policy.setChecksums( repositoryPolicy.getChecksumPolicy() );
+                    }
+                    if ( repositoryPolicy.getUpdatePolicy() != null )
+                    {
+                        policy.setUpdates( repositoryPolicy.getUpdatePolicy() );
+                    }
+                    repo.addSnapshots( policy );
+                }
+                project.addReference( id, repo );
+
+                repo = new RemoteRepository();
+                repo.setProject( project );
+                repo.setRefid( new Reference( project, id ) );
+                remoteRepositories.addRemoterepo( repo );
+            }
+        }
+
+        return remoteRepositories;
+    }
+
+    private RemoteRepositories getMergedRepositories() {
+        RemoteRepositories defaultRepositories = AetherUtils.getDefaultRepositories( project );
+        RemoteRepositories settingsRepositories = getRemoteRepositories();
+
+        RemoteRepositories mergedRepositories = new RemoteRepositories();
+        mergedRepositories.setProject( project );
+        mergedRepositories.addRemoterepos( defaultRepositories );
+        mergedRepositories.addRemoterepos( settingsRepositories );
+
+        return mergedRepositories;
+    }
+
     public synchronized void setUserSettings( File file )
     {
         if ( !eq( this.userSettings, file ) )
@@ -519,7 +595,7 @@ public class AntRepoSys
         RepositorySystemSession session = getSession( task, null );
 
         remoteRepositories =
-            remoteRepositories == null ? AetherUtils.getDefaultRepositories( project ) : remoteRepositories;
+            remoteRepositories == null ? getMergedRepositories() : remoteRepositories;
 
         List<org.eclipse.aether.repository.RemoteRepository> repositories =
             ConverterUtils.toRepositories( task.getProject(), session, remoteRepositories, getRemoteRepoMan() );
@@ -613,7 +689,7 @@ public class AntRepoSys
         RepositorySystemSession session = getSession( task, localRepository );
 
         remoteRepositories =
-            remoteRepositories == null ? AetherUtils.getDefaultRepositories( project ) : remoteRepositories;
+            remoteRepositories == null ? getMergedRepositories() : remoteRepositories;
 
         List<org.eclipse.aether.repository.RemoteRepository> repos =
             ConverterUtils.toRepositories( project, session, remoteRepositories, getRemoteRepoMan() );