Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 7bd78e51a1fe9d550502fccd8d491e81 > files > 15

gradle-1.0-13.mga3.src.rpm

diff -Nru gradle-1.0/subprojects/core-impl/src/main/groovy/org/gradle/api/internal/artifacts/mvnsettings/DefaultLocalMavenRepositoryLocator.java gradle-1.0-gil/subprojects/core-impl/src/main/groovy/org/gradle/api/internal/artifacts/mvnsettings/DefaultLocalMavenRepositoryLocator.java
--- gradle-1.0/subprojects/core-impl/src/main/groovy/org/gradle/api/internal/artifacts/mvnsettings/DefaultLocalMavenRepositoryLocator.java	2012-04-25 01:27:12.000000000 +0200
+++ gradle-1.0-gil/subprojects/core-impl/src/main/groovy/org/gradle/api/internal/artifacts/mvnsettings/DefaultLocalMavenRepositoryLocator.java	2012-09-21 20:22:57.195186172 +0200
@@ -15,79 +15,32 @@
  */
 package org.gradle.api.internal.artifacts.mvnsettings;
 
-import org.apache.maven.settings.DefaultMavenSettingsBuilder;
-import org.apache.maven.settings.MavenSettingsBuilder;
-import org.apache.maven.settings.Settings;
-import org.gradle.api.internal.artifacts.PlexusLoggerAdapter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.File;
-import java.lang.reflect.Field;
 import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 /**
  * @author Steve Ebersole
  */
 public class DefaultLocalMavenRepositoryLocator implements LocalMavenRepositoryLocator {
-    private static final Logger LOGGER = LoggerFactory.getLogger(DefaultLocalMavenRepositoryLocator.class);
-    private static final Pattern PLACEHOLDER_PATTERN = Pattern.compile("\\$\\{([^\\}]*)\\}");
-
-    private final MavenFileLocations mavenFileLocations;
-    private final Map<String, String> systemProperties;
-    private final Map<String, String> environmentVariables;
+    private static final String SETTINGS_LOCATION_OVERRIDE = "maven.settings";
 
     public DefaultLocalMavenRepositoryLocator(MavenFileLocations mavenFileLocations, Map<String, String> systemProperties, Map<String, String> environmentVariables) {
-        this.mavenFileLocations = mavenFileLocations;
-        this.systemProperties = systemProperties;
-        this.environmentVariables = environmentVariables;
     }
 
     public File getLocalMavenRepository() {
-        Settings settings = buildSettings();
-        String repoPath = settings.getLocalRepository().trim();
-        return new File(resolvePlaceholders(repoPath));
-    }
-
-    private String resolvePlaceholders(String value) {
-        StringBuffer result = new StringBuffer();
-        Matcher matcher = PLACEHOLDER_PATTERN.matcher(value);
-
-        while (matcher.find()) {
-            String placeholder = matcher.group(1);
-            String replacement = placeholder.startsWith("env.") ? environmentVariables.get(placeholder.substring(4)) : systemProperties.get(placeholder);
-            if (replacement == null) {
-                throw new CannotLocateLocalMavenRepositoryException(String.format("Cannot resolve placeholder '%s' in value '%s'", placeholder, value));
-            }
-            matcher.appendReplacement(result, Matcher.quoteReplacement(replacement));
-        }
-        matcher.appendTail(result);
-
-        return result.toString();
+        return determineSettingsFileLocation();
     }
 
-    private Settings buildSettings() {
-        try {
-            return createSettingsBuilder().buildSettings();
-        } catch (Exception e) {
-            throw new CannotLocateLocalMavenRepositoryException(e);
-        }
+    private static String normalizePath(String path) {
+        if ( path.startsWith( "~" ) ) {
+            path = System.getProperty( "user.home" ) + path.substring( 1 );
+         }
+        return path;
     }
 
-    private MavenSettingsBuilder createSettingsBuilder() throws Exception {
-        DefaultMavenSettingsBuilder builder = new DefaultMavenSettingsBuilder();
-        builder.enableLogging(new PlexusLoggerAdapter(LOGGER));
-
-        Field userSettingsFileField = DefaultMavenSettingsBuilder.class.getDeclaredField("userSettingsFile");
-        userSettingsFileField.setAccessible(true);
-        userSettingsFileField.set(builder, mavenFileLocations.getUserSettingsFile());
-
-        Field globalSettingsFileField = DefaultMavenSettingsBuilder.class.getDeclaredField("globalSettingsFile");
-        globalSettingsFileField.setAccessible(true);
-        globalSettingsFileField.set(builder, mavenFileLocations.getGlobalSettingsFile());
-
-        return builder;
+    private File determineSettingsFileLocation() {
+        final String defaultLocation = "~/.m2/settings.xml";
+        final String location = System.getProperty( SETTINGS_LOCATION_OVERRIDE, defaultLocation );
+        return new File( normalizePath( location ) );
     }
 }
diff -Nru gradle-1.0/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/LoggingHelper.java gradle-1.0-gil/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/LoggingHelper.java
--- gradle-1.0/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/LoggingHelper.java	2011-10-25 05:52:58.000000000 +0200
+++ gradle-1.0-gil/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/LoggingHelper.java	2012-09-21 20:22:57.197186053 +0200
@@ -17,7 +17,7 @@
 
 import org.apache.maven.artifact.ant.AntDownloadMonitor;
 import org.apache.maven.artifact.manager.DefaultWagonManager;
-import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.tools.ant.Project;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -30,7 +30,7 @@
 public class LoggingHelper {
     public static void injectLogger(PlexusContainer container, Project project) {
         try {
-            WagonManager wagonManager = (WagonManager) container.lookup(WagonManager.ROLE);
+            ArtifactHandler wagonManager = (ArtifactHandler) container.lookup(ArtifactHandler.ROLE);
             Field field = DefaultWagonManager.class.getDeclaredField("downloadMonitor");
             field.setAccessible(true);
             AntDownloadMonitor antDownloadMonitor = (AntDownloadMonitor) field.get(wagonManager);