Projects
openEuler:Mainline
gradle
_service:tar_scm:0002-Remove-Class-Path-from-ma...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0002-Remove-Class-Path-from-manifest.patch of Package gradle
From b2a5d7f3bd79639fbd391f3b2ce74a6f1e6023de Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski <mizdebsk@redhat.com> Date: Sun, 9 Nov 2014 17:52:30 +0100 Subject: [PATCH 02/17] Remove Class-Path from manifest --- .../installation/CurrentGradleInstallationLocator.java | 8 +------- .../org/gradle/api/internal/classpath/ManifestUtil.java | 3 +++ subprojects/launcher/launcher.gradle | 3 +++ .../launcher/daemon/client/DefaultDaemonStarter.java | 6 +----- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/subprojects/core-api/src/main/java/org/gradle/internal/installation/CurrentGradleInstallationLocator.java b/subprojects/core-api/src/main/java/org/gradle/internal/installation/CurrentGradleInstallationLocator.java index 88d6b0be44d..fe9086c5c29 100644 --- a/subprojects/core-api/src/main/java/org/gradle/internal/installation/CurrentGradleInstallationLocator.java +++ b/subprojects/core-api/src/main/java/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/core/src/main/java/org/gradle/api/internal/classpath/ManifestUtil.java b/subprojects/core/src/main/java/org/gradle/api/internal/classpath/ManifestUtil.java index 193f91079a4..2f8bc364401 100644 --- a/subprojects/core/src/main/java/org/gradle/api/internal/classpath/ManifestUtil.java +++ b/subprojects/core/src/main/java/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/launcher/launcher.gradle b/subprojects/launcher/launcher.gradle index 23f161cfcee..db50238a34a 100644 --- a/subprojects/launcher/launcher.gradle +++ b/subprojects/launcher/launcher.gradle @@ -49,6 +49,9 @@ task configureJar { jar { dependsOn configureJar manifest.mainAttributes('Main-Class': "org.gradle.launcher.GradleMain") + doFirst { + jar.manifest.mainAttributes('X-Gradle-Class-Path': "${project(':core').jar.archivePath.name} ${project(':baseServices').jar.archivePath.name}") + } } task startScripts(type: GradleStartScriptGenerator) { 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 830aaf34cfe..2c57544bb51 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 = ClassPath.EMPTY; 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.17.2
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2