Blob Blame History Raw
From ba5c1d64b20dcf2e0bf6663594cad5acb8d51ab4 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Sun, 9 Nov 2014 17:52:30 +0100
Subject: [PATCH 03/14] Remove Class-Path from manifest

---
 .../groovy/org/gradle/api/internal/classpath/ManifestUtil.java    | 3 +++
 .../internal/installation/CurrentGradleInstallationLocator.java   | 8 +-------
 subprojects/launcher/launcher.gradle                              | 2 +-
 .../org/gradle/launcher/daemon/client/DefaultDaemonStarter.java   | 6 +-----
 4 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/subprojects/core/src/main/groovy/org/gradle/api/internal/classpath/ManifestUtil.java b/subprojects/core/src/main/groovy/org/gradle/api/internal/classpath/ManifestUtil.java
index 193f910..2f8bc36 100644
--- a/subprojects/core/src/main/groovy/org/gradle/api/internal/classpath/ManifestUtil.java
+++ b/subprojects/core/src/main/groovy/org/gradle/api/internal/classpath/ManifestUtil.java
@@ -71,6 +71,9 @@ public class ManifestUtil {
                 return EMPTY;
             }
             String classpathEntry = manifest.getMainAttributes().getValue("Class-Path");
+            if (classpathEntry == null) {
+                classpathEntry = manifest.getMainAttributes().getValue("X-Gradle-Class-Path");
+            }
             if (classpathEntry == null || classpathEntry.trim().length() == 0) {
                 return EMPTY;
             }
diff --git a/subprojects/core/src/main/groovy/org/gradle/internal/installation/CurrentGradleInstallationLocator.java b/subprojects/core/src/main/groovy/org/gradle/internal/installation/CurrentGradleInstallationLocator.java
index 88d6b0b..fe9086c 100644
--- a/subprojects/core/src/main/groovy/org/gradle/internal/installation/CurrentGradleInstallationLocator.java
+++ b/subprojects/core/src/main/groovy/org/gradle/internal/installation/CurrentGradleInstallationLocator.java
@@ -51,13 +51,7 @@ abstract class CurrentGradleInstallationLocator {
     }
 
     private static File findDistDir(Class<?> clazz) {
-        File codeSource = ClasspathUtil.getClasspathForClass(clazz);
-        if (codeSource.isFile()) {
-            return determineDistRootDir(codeSource);
-        } else {
-            // Loaded from a classes dir - assume we're running from the ide or tests
-            return null;
-        }
+        return new File("/usr/share/gradle");
     }
 
     /**
diff --git a/subprojects/launcher/launcher.gradle b/subprojects/launcher/launcher.gradle
index 7fd9207..754f96f 100644
--- a/subprojects/launcher/launcher.gradle
+++ b/subprojects/launcher/launcher.gradle
@@ -40,7 +40,7 @@ integTestTasks.all {
 jar {
     manifest.mainAttributes('Main-Class': "org.gradle.launcher.GradleMain")
     doFirst {
-        jar.manifest.mainAttributes('Class-Path': "${project(':core').jar.archivePath.name} ${project(':baseServices').jar.archivePath.name}")
+        jar.manifest.mainAttributes('X-Gradle-Class-Path': "${project(':core').jar.archivePath.name} ${project(':baseServices').jar.archivePath.name}")
     }
 }
 
diff --git a/subprojects/launcher/src/main/java/org/gradle/launcher/daemon/client/DefaultDaemonStarter.java b/subprojects/launcher/src/main/java/org/gradle/launcher/daemon/client/DefaultDaemonStarter.java
index 1616285..39362c2 100755
--- a/subprojects/launcher/src/main/java/org/gradle/launcher/daemon/client/DefaultDaemonStarter.java
+++ b/subprojects/launcher/src/main/java/org/gradle/launcher/daemon/client/DefaultDaemonStarter.java
@@ -73,17 +73,13 @@ public class DefaultDaemonStarter implements DaemonStarter {
         ModuleRegistry registry = new DefaultModuleRegistry(gradleInstallation);
         ClassPath classpath;
         List<File> searchClassPath;
-        if (gradleInstallation == null) {
+        {
             // When not running from a Gradle distro, need runtime impl for launcher plus the search path to look for other modules
             classpath = new DefaultClassPath();
             for (Module module : registry.getModule("gradle-launcher").getAllRequiredModules()) {
                 classpath = classpath.plus(module.getClasspath());
             }
             searchClassPath = registry.getAdditionalClassPath().getAsFiles();
-        } else {
-            // When running from a Gradle distro, only need launcher jar. The daemon can find everything from there.
-            classpath = registry.getModule("gradle-launcher").getImplementationClasspath();
-            searchClassPath = Collections.emptyList();
         }
         if (classpath.isEmpty()) {
             throw new IllegalStateException("Unable to construct a bootstrap classpath when starting the daemon");
-- 
2.5.5