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