package init

This commit is contained in:
daidai_is_here 2020-03-10 17:42:39 +08:00
parent ec9ebf04a4
commit 946ba69335
26 changed files with 4523 additions and 0 deletions

View File

@ -0,0 +1,77 @@
From dbdd81c3c8cfa1b3c61bc2376a42702be2a3f476 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Wed, 15 Oct 2014 14:23:30 +0200
Subject: [PATCH 01/18] Gradle local mode
---
build.gradle | 1 +
buildSrc/build.gradle | 3 +++
subprojects/docs/docs.gradle | 1 +
subprojects/docs/src/transforms/release-notes.gradle | 1 +
subprojects/reporting/reporting.gradle | 1 +
5 files changed, 7 insertions(+)
diff --git a/build.gradle b/build.gradle
index 45faed9098b..b4504db8f7c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -193,6 +193,7 @@ allprojects {
maven { url 'https://repo.gradle.org/gradle/libs-releases' }
maven { url 'https://repo.gradle.org/gradle/libs-milestones' }
maven { url "https://repo.gradle.org/gradle/libs-snapshots" }
+ xmvn()
}
// patchExternalModules lives in the root project - we need to activate normalization there, too.
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index b2eb858a3ce..e5b73f35ef5 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -25,6 +25,9 @@ repositories {
maven { url 'https://repo.gradle.org/gradle/libs-releases' }
maven { url "https://repo.gradle.org/gradle/libs-snapshots" }
maven { url "https://plugins.gradle.org/m2/" }
+ xmvn()
+ maven { url 'https://repo.gradle.org/gradle/libs' }
+ mavenCentral()
}
dependencies {
diff --git a/subprojects/docs/docs.gradle b/subprojects/docs/docs.gradle
index e876b265d16..5063c30e60e 100755
--- a/subprojects/docs/docs.gradle
+++ b/subprojects/docs/docs.gradle
@@ -41,6 +41,7 @@ apply plugin: 'javascript-base'
apply plugin: 'org.asciidoctor.convert'
repositories {
+ xmvn()
javaScript.googleApis()
ivy {
diff --git a/subprojects/docs/src/transforms/release-notes.gradle b/subprojects/docs/src/transforms/release-notes.gradle
index c0c76884944..5aca84da33d 100644
--- a/subprojects/docs/src/transforms/release-notes.gradle
+++ b/subprojects/docs/src/transforms/release-notes.gradle
@@ -1,5 +1,6 @@
buildscript {
repositories {
+ xmvn()
mavenCentral()
}
dependencies {
diff --git a/subprojects/reporting/reporting.gradle b/subprojects/reporting/reporting.gradle
index a467c71be4d..92981631cb8 100644
--- a/subprojects/reporting/reporting.gradle
+++ b/subprojects/reporting/reporting.gradle
@@ -7,6 +7,7 @@ configurations {
}
repositories {
+ xmvn()
javaScript.googleApis()
}
--
2.20.1

View File

@ -0,0 +1,85 @@
From 2378f2f2412a8f6684dd5a360102bce9a43881fe 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/18] 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.20.1

View File

@ -0,0 +1,149 @@
From e9d5a7bb3db32f2b9cf4accc862ba3a49048433e Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Sun, 9 Nov 2014 21:37:37 +0100
Subject: [PATCH 03/18] Implement XMvn repository factory method
---
.../artifacts/BaseRepositoryFactory.java | 3 +
.../dsl/DefaultRepositoryHandler.java | 6 ++
.../DefaultBaseRepositoryFactory.java | 63 +++++++++++++++++++
3 files changed, 72 insertions(+)
diff --git a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/BaseRepositoryFactory.java b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/BaseRepositoryFactory.java
index 00ea355013b..2b16b409d4d 100644
--- a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/BaseRepositoryFactory.java
+++ b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/BaseRepositoryFactory.java
@@ -15,6 +15,7 @@
*/
package org.gradle.api.internal.artifacts;
+import org.gradle.api.artifacts.repositories.ArtifactRepository;
import org.gradle.api.artifacts.repositories.FlatDirectoryArtifactRepository;
import org.gradle.api.artifacts.repositories.IvyArtifactRepository;
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
@@ -36,4 +37,6 @@ public interface BaseRepositoryFactory {
IvyArtifactRepository createIvyRepository();
MavenArtifactRepository createMavenRepository();
+
+ ArtifactRepository createXMvnResolver();
}
diff --git a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/dsl/DefaultRepositoryHandler.java b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/dsl/DefaultRepositoryHandler.java
index af092bab6b9..87ddd6ce6fd 100644
--- a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/dsl/DefaultRepositoryHandler.java
+++ b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/dsl/DefaultRepositoryHandler.java
@@ -18,6 +18,7 @@ package org.gradle.api.internal.artifacts.dsl;
import groovy.lang.Closure;
import org.gradle.api.Action;
import org.gradle.api.artifacts.dsl.RepositoryHandler;
+import org.gradle.api.artifacts.repositories.ArtifactRepository;
import org.gradle.api.artifacts.repositories.FlatDirectoryArtifactRepository;
import org.gradle.api.artifacts.repositories.IvyArtifactRepository;
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
@@ -41,6 +42,7 @@ public class DefaultRepositoryHandler extends DefaultArtifactRepositoryContainer
public static final String FLAT_DIR_DEFAULT_NAME = "flatDir";
private static final String MAVEN_REPO_DEFAULT_NAME = "maven";
private static final String IVY_REPO_DEFAULT_NAME = "ivy";
+ private static final String XMVN_REPO_DEFAULT_NAME = "xmvn";
private final BaseRepositoryFactory repositoryFactory;
@@ -105,4 +107,8 @@ public class DefaultRepositoryHandler extends DefaultArtifactRepositoryContainer
public IvyArtifactRepository ivy(Closure closure) {
return ivy(ConfigureUtil.configureUsing(closure));
}
+
+ public ArtifactRepository xmvn() {
+ return addRepository(repositoryFactory.createXMvnResolver(), XMVN_REPO_DEFAULT_NAME);
+ }
}
diff --git a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/DefaultBaseRepositoryFactory.java b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/DefaultBaseRepositoryFactory.java
index 408f346f6bd..73112106ae1 100644
--- a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/DefaultBaseRepositoryFactory.java
+++ b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/DefaultBaseRepositoryFactory.java
@@ -17,6 +17,7 @@
package org.gradle.api.internal.artifacts.repositories;
import org.gradle.api.artifacts.dsl.RepositoryHandler;
+import org.gradle.api.artifacts.repositories.ArtifactRepository;
import org.gradle.api.artifacts.repositories.AuthenticationContainer;
import org.gradle.api.artifacts.repositories.FlatDirectoryArtifactRepository;
import org.gradle.api.artifacts.repositories.IvyArtifactRepository;
@@ -43,7 +44,14 @@ import org.gradle.internal.resource.local.FileStore;
import org.gradle.internal.resource.local.LocallyAvailableResourceFinder;
import java.io.File;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Arrays;
+import java.util.LinkedHashSet;
import java.util.Map;
+import java.util.Set;
public class DefaultBaseRepositoryFactory implements BaseRepositoryFactory {
private final LocalMavenRepositoryLocator localMavenRepositoryLocator;
@@ -136,4 +144,59 @@ public class DefaultBaseRepositoryFactory implements BaseRepositoryFactory {
return container;
}
+
+ public ArtifactRepository createXMvnResolver() {
+ // Check if XMvn connector is available and inform user if it's not.
+ // This is more user-friendly as it prevents cryptic stack traces.
+ if (!new File("/usr/share/java/xmvn/xmvn-connector-gradle.jar").exists())
+ throw new RuntimeException("Local mode for Gradle is not available because XMvn Gradle connector is not installed. "
+ + "To use local mode you need to install gradle-local package.");
+
+ // XMvn connector for Gradle is an external library and it is not
+ // included in default Gradle classpath. Before it can be accessed
+ // we need to add its implementation JARs to current class loader.
+ /*
+ try {
+ ClassLoader classLoader = getClass().getClassLoader();
+ Set<URL> newUrls = new LinkedHashSet<URL>();
+ newUrls.add(new File("/usr/share/java/xmvn/xmvn-api.jar").toURI().toURL());
+ newUrls.add(new File("/usr/share/java/xmvn/xmvn-launcher.jar").toURI().toURL());
+ newUrls.add(new File("/usr/share/java/xmvn/xmvn-connector-gradle.jar").toURI().toURL());
+ Method getterMethod = classLoader.getClass().getMethod("getURLs");
+ Object[] currentUrls = (Object[]) getterMethod.invoke(classLoader);
+ newUrls.removeAll(Arrays.asList(currentUrls));
+ Method adderMethod = classLoader.getClass().getMethod("addURLs", Iterable.class);
+ adderMethod.invoke(classLoader, newUrls);
+ } catch (ReflectiveOperationException e) {
+ throw new RuntimeException("Unable to inject XMvn JARs to Gradle class loader", e);
+ } catch (MalformedURLException e) {
+ // Should not happen
+ throw new RuntimeException(e);
+ }
+ */
+ Class xmvnClass;
+
+ try {
+ URL[] newUrls = new URL[] {
+ new File("/usr/share/java/xmvn/xmvn-api.jar").toURI().toURL(),
+ new File("/usr/share/java/xmvn/xmvn-core.jar").toURI().toURL(),
+ new File("/usr/share/java/xmvn/xmvn-connector-gradle.jar").toURI().toURL()
+ };
+ ClassLoader classLoader = new URLClassLoader(newUrls, getClass().getClassLoader());
+ String xmvnConnectorRole = "org.fedoraproject.xmvn.connector.gradle.GradleResolver";
+ xmvnClass = classLoader.loadClass(xmvnConnectorRole);
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException("Unable to inject XMvn JARs to Gradle class loader", e);
+ } catch (MalformedURLException e) {
+ // Should not happen
+ throw new RuntimeException(e);
+ }
+
+ try {
+ return (ArtifactRepository) xmvnClass.getConstructor(MetaDataParser.class, ImmutableModuleIdentifierFactory.class, FileResourceRepository.class)
+ .newInstance(pomParser, moduleIdentifierFactory, fileResourceRepository);
+ } catch (ReflectiveOperationException e) {
+ throw new RuntimeException("Failed to inject XMvn resolver", e);
+ }
+ }
}
--
2.20.1

View File

@ -0,0 +1,39 @@
From d89a4c6756ee0a02b3f71df07baebec95e4cef06 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Sat, 7 Feb 2015 15:28:03 +0100
Subject: [PATCH 04/18] Use unversioned dependency JAR names
---
.../gradle/api/internal/classpath/DefaultModuleRegistry.java | 2 +-
.../java/org/gradle/api/internal/plugins/GroovyJarFile.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/classpath/DefaultModuleRegistry.java b/subprojects/core/src/main/java/org/gradle/api/internal/classpath/DefaultModuleRegistry.java
index bcd55e367d2..0ead27197d6 100644
--- a/subprojects/core/src/main/java/org/gradle/api/internal/classpath/DefaultModuleRegistry.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/classpath/DefaultModuleRegistry.java
@@ -227,7 +227,7 @@ public class DefaultModuleRegistry implements ModuleRegistry {
}
private File findJar(String name) {
- Pattern pattern = Pattern.compile(Pattern.quote(name) + "-\\d.+\\.jar");
+ Pattern pattern = Pattern.compile(Pattern.quote(name) + "(?:-\\d.+)?\\.jar");
if (gradleInstallation != null) {
for (File libDir : gradleInstallation.getLibDirs()) {
for (File file : libDir.listFiles()) {
diff --git a/subprojects/plugins/src/main/java/org/gradle/api/internal/plugins/GroovyJarFile.java b/subprojects/plugins/src/main/java/org/gradle/api/internal/plugins/GroovyJarFile.java
index 5b7329999ae..c4c778e65a6 100644
--- a/subprojects/plugins/src/main/java/org/gradle/api/internal/plugins/GroovyJarFile.java
+++ b/subprojects/plugins/src/main/java/org/gradle/api/internal/plugins/GroovyJarFile.java
@@ -23,7 +23,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroovyJarFile {
- private static final Pattern FILE_NAME_PATTERN = Pattern.compile("(groovy(?:-all)?)-(\\d.*?)(-indy)?.jar");
+ private static final Pattern FILE_NAME_PATTERN = Pattern.compile("(groovy(?:-all)?)(?:-(\\d.*?))?(-indy)?.jar");
private final File file;
private final Matcher matcher;
--
2.20.1

View File

@ -0,0 +1,331 @@
From a93f1964c73ab50e3c12e6f5192166a3fa77d3dd Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 6 Jul 2015 09:57:22 +0200
Subject: [PATCH 05/18] Port to Maven 3.3.9 and Eclipse Aether
---
gradle/dependencies.gradle | 23 ++++++---
.../internal/maven/MavenProjectsCreator.java | 7 +--
.../action/AbstractMavenPublishAction.java | 49 +++++++++----------
.../action/LoggingMavenTransferListener.java | 6 +--
.../internal/action/MavenDeployAction.java | 31 ++++++------
.../internal/action/MavenInstallAction.java | 10 ++--
.../action/SnapshotVersionManager.java | 16 +++---
7 files changed, 76 insertions(+), 66 deletions(-)
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 7045cd4c70f..7b7be2a583d 100755
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -115,12 +115,18 @@ libraries += [
libraries.maven3 = dependencies.module("org.apache.maven:maven-core:${versions.maven}") {
dependency "org.apache.maven:maven-settings:${versions.maven}@jar"
dependency "org.apache.maven:maven-settings-builder:${versions.maven}@jar"
+ dependency "org.apache.maven:maven-builder-support:${versions.maven}@jar"
+
+ //sisu:
+ dependency "org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.0@jar"
+ dependency "org.eclipse.sisu:org.eclipse.sisu.inject:0.3.0@jar"
+ dependency "org.sonatype.sisu:sisu-guice:3.2.5:no_aop@jar"
+ dependency "javax.inject:javax.inject:1@jar"
//plexus:
dependency "org.codehaus.plexus:plexus-utils:2.0.6@jar"
dependency "org.codehaus.plexus:plexus-interpolation:1.14@jar"
dependency "org.codehaus.plexus:plexus-component-annotations:1.5.5@jar"
- dependency "org.codehaus.plexus:plexus-container-default:1.5.5@jar"
dependency "org.codehaus.plexus:plexus-classworlds:2.4@jar"
//sonatype plexus
@@ -142,14 +148,17 @@ libraries.maven3 = dependencies.module("org.apache.maven:maven-core:${versions.m
dependency 'org.apache.maven.wagon:wagon-file:2.4@jar'
dependency 'org.apache.maven.wagon:wagon-http:2.4@jar'
dependency 'org.apache.maven.wagon:wagon-provider-api:2.4@jar'
- dependency 'org.apache.maven.wagon:wagon-http-shared4:2.4@jar'
+ dependency 'org.apache.maven.wagon:wagon-http-shared:2.4@jar'
//eather:
- dependency "org.sonatype.aether:aether-api:1.13.1@jar"
- dependency "org.sonatype.aether:aether-impl:1.13.1@jar"
- dependency "org.sonatype.aether:aether-spi:1.13.1@jar"
- dependency "org.sonatype.aether:aether-util:1.13.1@jar"
- dependency 'org.sonatype.aether:aether-connector-wagon:1.13.1@jar'
+ dependency "org.eclipse.aether:aether-api:1.0.0.v20140518@jar"
+ dependency "org.eclipse.aether:aether-impl:1.0.0.v20140518@jar"
+ dependency "org.eclipse.aether:aether-spi:1.0.0.v20140518@jar"
+ dependency "org.eclipse.aether:aether-util:1.0.0.v20140518@jar"
+ dependency 'org.eclipse.aether:aether-connector-basic:1.0.0.v20140518@jar'
+ dependency 'org.eclipse.aether:aether-transport-wagon:1.0.0.v20140518@jar'
+
+ dependency 'org.apache.commons:commons-lang3:3.4@jar'
}
libraries.spock = [
diff --git a/subprojects/build-init/src/main/java/org/gradle/buildinit/plugins/internal/maven/MavenProjectsCreator.java b/subprojects/build-init/src/main/java/org/gradle/buildinit/plugins/internal/maven/MavenProjectsCreator.java
index 7a858124b29..69a580405b4 100644
--- a/subprojects/build-init/src/main/java/org/gradle/buildinit/plugins/internal/maven/MavenProjectsCreator.java
+++ b/subprojects/build-init/src/main/java/org/gradle/buildinit/plugins/internal/maven/MavenProjectsCreator.java
@@ -25,12 +25,13 @@ import org.apache.maven.settings.Settings;
import org.codehaus.plexus.ContainerConfiguration;
import org.codehaus.plexus.DefaultContainerConfiguration;
import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainerException;
import org.codehaus.plexus.classworlds.ClassWorld;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.configuration.PlexusConfigurationException;
-import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.util.DefaultRepositorySystemSession;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.RepositorySystemSession;
import org.gradle.util.CollectionUtils;
import java.io.File;
@@ -55,7 +56,7 @@ public class MavenProjectsCreator {
private Set<MavenProject> createNow(Settings settings, File pomFile) throws PlexusContainerException, PlexusConfigurationException, ComponentLookupException, MavenExecutionRequestPopulationException, ProjectBuildingException {
ContainerConfiguration containerConfiguration = new DefaultContainerConfiguration()
.setClassWorld(new ClassWorld("plexus.core", ClassWorld.class.getClassLoader()))
- .setName("mavenCore");
+ .setName("mavenCore").setClassPathScanning(PlexusConstants.SCANNING_INDEX).setAutoWiring(true);
DefaultPlexusContainer container = new DefaultPlexusContainer(containerConfiguration);
ProjectBuilder builder = container.lookup(ProjectBuilder.class);
diff --git a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
index 9dd6e695afd..7d65dde67e3 100644
--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
+++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
@@ -18,11 +18,11 @@ package org.gradle.api.publication.maven.internal.action;
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.repository.internal.MavenRepositorySystemSession;
-import org.apache.maven.repository.internal.SnapshotMetadataGeneratorFactory;
-import org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory;
+import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
+import org.codehaus.plexus.ContainerConfiguration;
import org.codehaus.plexus.DefaultContainerConfiguration;
import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.PlexusContainerException;
import org.codehaus.plexus.classworlds.ClassWorld;
@@ -30,16 +30,16 @@ import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.gradle.api.GradleException;
import org.gradle.internal.UncheckedException;
-import org.sonatype.aether.RepositoryException;
-import org.sonatype.aether.RepositorySystem;
-import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.artifact.ArtifactType;
-import org.sonatype.aether.impl.Deployer;
-import org.sonatype.aether.impl.internal.DefaultDeployer;
-import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
-import org.sonatype.aether.util.DefaultRepositorySystemSession;
-import org.sonatype.aether.util.artifact.DefaultArtifact;
+import org.eclipse.aether.RepositoryException;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.ArtifactType;
+import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
+import org.eclipse.aether.repository.LocalRepository;
+import org.eclipse.aether.repository.NoLocalRepositoryManagerException;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.artifact.DefaultArtifact;
import java.io.File;
import java.io.FileReader;
@@ -60,9 +60,8 @@ abstract class AbstractMavenPublishAction implements MavenPublishAction {
protected AbstractMavenPublishAction(File pomFile, List<File> wagonJars) {
container = newPlexusContainer(wagonJars);
- session = new MavenRepositorySystemSession();
+ session = MavenRepositorySystemUtils.newSession();
session.setTransferListener(new LoggingMavenTransferListener());
- session.getConfigProperties().put("maven.metadata.legacy", "true");
Model pom = parsePom(pomFile);
pomArtifact = new DefaultArtifact(pom.getGroupId(), pom.getArtifactId(), "pom", pom.getVersion()).setFile(pomFile);
@@ -70,7 +69,11 @@ abstract class AbstractMavenPublishAction implements MavenPublishAction {
}
public void setLocalMavenRepositoryLocation(File localMavenRepository) {
- session.setLocalRepositoryManager(new SimpleLocalRepositoryManager(localMavenRepository));
+ try {
+ session.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory().newInstance(session, new LocalRepository(localMavenRepository)));
+ } catch (NoLocalRepositoryManagerException e) {
+ throw UncheckedException.throwAsUncheckedException(e);
+ }
}
public void setMainArtifact(File file) {
@@ -117,7 +120,11 @@ abstract class AbstractMavenPublishAction implements MavenPublishAction {
classRealm.addURL(jar.toURI().toURL());
}
}
- return new DefaultPlexusContainer(new DefaultContainerConfiguration().setRealm(classRealm));
+ ContainerConfiguration conf = new DefaultContainerConfiguration();
+ conf.setClassPathScanning(PlexusConstants.SCANNING_INDEX);
+ conf.setAutoWiring(true);
+ conf.setRealm(classRealm);
+ return new DefaultPlexusContainer(conf);
} catch (PlexusContainerException e) {
throw UncheckedException.throwAsUncheckedException(e);
} catch (MalformedURLException e) {
@@ -127,14 +134,6 @@ abstract class AbstractMavenPublishAction implements MavenPublishAction {
private RepositorySystem newRepositorySystem() {
try {
- DefaultDeployer deployer = (DefaultDeployer) getContainer().lookup(Deployer.class);
- // This is a workaround for https://issues.gradle.org/browse/GRADLE-3324.
- // Somehow the ArrayList 'result' in `org.sonatype.aether.impl.internal.Utils#sortMetadataGeneratorFactories` ends up
- // being a list of nulls on windows and IBM's 1.6 JDK.
- deployer.setMetadataFactories(null);
- deployer.addMetadataGeneratorFactory(new VersionsMetadataGeneratorFactory());
- deployer.addMetadataGeneratorFactory(new SnapshotMetadataGeneratorFactory());
- deployer.addMetadataGeneratorFactory(snapshotVersionManager);
return container.lookup(RepositorySystem.class);
} catch (ComponentLookupException e) {
throw UncheckedException.throwAsUncheckedException(e);
diff --git a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/LoggingMavenTransferListener.java b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/LoggingMavenTransferListener.java
index 5d75a16744b..46287cff506 100644
--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/LoggingMavenTransferListener.java
+++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/LoggingMavenTransferListener.java
@@ -18,9 +18,9 @@ package org.gradle.api.publication.maven.internal.action;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonatype.aether.transfer.AbstractTransferListener;
-import org.sonatype.aether.transfer.TransferEvent;
-import org.sonatype.aether.transfer.TransferEvent.RequestType;
+import org.eclipse.aether.transfer.AbstractTransferListener;
+import org.eclipse.aether.transfer.TransferEvent;
+import org.eclipse.aether.transfer.TransferEvent.RequestType;
class LoggingMavenTransferListener extends AbstractTransferListener {
private static final Logger LOGGER = LoggerFactory.getLogger(LoggingMavenTransferListener.class);
diff --git a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenDeployAction.java b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenDeployAction.java
index 220e8535c18..c9891dfb583 100644
--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenDeployAction.java
+++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenDeployAction.java
@@ -19,14 +19,15 @@ import org.apache.maven.artifact.ant.RemoteRepository;
import org.gradle.api.GradleException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.sonatype.aether.RepositorySystem;
-import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.deployment.DeployRequest;
-import org.sonatype.aether.deployment.DeploymentException;
-import org.sonatype.aether.repository.Authentication;
-import org.sonatype.aether.repository.Proxy;
-import org.sonatype.aether.util.repository.DefaultProxySelector;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.deployment.DeployRequest;
+import org.eclipse.aether.deployment.DeploymentException;
+import org.eclipse.aether.repository.Authentication;
+import org.eclipse.aether.repository.Proxy;
+import org.eclipse.aether.util.repository.AuthenticationBuilder;
+import org.eclipse.aether.util.repository.DefaultProxySelector;
import java.io.File;
import java.util.Collection;
@@ -57,7 +58,7 @@ public class MavenDeployAction extends AbstractMavenPublishAction {
throw new GradleException("Must specify a repository for deployment");
}
- org.sonatype.aether.repository.RemoteRepository aetherRepo = createRepository(gradleRepo);
+ org.eclipse.aether.repository.RemoteRepository aetherRepo = createRepository(gradleRepo);
DeployRequest request = new DeployRequest();
request.setRepository(aetherRepo);
@@ -69,22 +70,22 @@ public class MavenDeployAction extends AbstractMavenPublishAction {
repositorySystem.deploy(session, request);
}
- private org.sonatype.aether.repository.RemoteRepository createRepository(RemoteRepository gradleRepo) {
- org.sonatype.aether.repository.RemoteRepository repo = new org.sonatype.aether.repository.RemoteRepository("remote", gradleRepo.getLayout(), gradleRepo.getUrl());
+ private org.eclipse.aether.repository.RemoteRepository createRepository(RemoteRepository gradleRepo) {
+ org.eclipse.aether.repository.RemoteRepository.Builder repoBuilder = new org.eclipse.aether.repository.RemoteRepository.Builder("remote", gradleRepo.getLayout(), gradleRepo.getUrl());
org.apache.maven.artifact.ant.Authentication auth = gradleRepo.getAuthentication();
if (auth != null) {
- repo.setAuthentication(new Authentication(auth.getUserName(), auth.getPassword(), auth.getPrivateKey(), auth.getPassphrase()));
+ repoBuilder.setAuthentication(new AuthenticationBuilder().addUsername(auth.getUserName()).addPassword(auth.getPassword()).addPrivateKey(auth.getPrivateKey(), auth.getPassphrase()).build());
}
org.apache.maven.artifact.ant.Proxy proxy = gradleRepo.getProxy();
if (proxy != null) {
DefaultProxySelector proxySelector = new DefaultProxySelector();
- Authentication proxyAuth = new Authentication(proxy.getUserName(), proxy.getPassword());
+ Authentication proxyAuth = new AuthenticationBuilder().addUsername(proxy.getUserName()).addPassword(proxy.getPassword()).build();
proxySelector.add(new Proxy(proxy.getType(), proxy.getHost(), proxy.getPort(), proxyAuth), proxy.getNonProxyHosts());
- repo.setProxy(proxySelector.getProxy(repo));
+ repoBuilder.setProxy(proxySelector.getProxy(repoBuilder.build()));
}
- return repo;
+ return repoBuilder.build();
}
}
diff --git a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenInstallAction.java b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenInstallAction.java
index 37d9dc52d5b..3b121111f2b 100644
--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenInstallAction.java
+++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenInstallAction.java
@@ -15,11 +15,11 @@
*/
package org.gradle.api.publication.maven.internal.action;
-import org.sonatype.aether.RepositorySystem;
-import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.installation.InstallRequest;
-import org.sonatype.aether.installation.InstallationException;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.installation.InstallRequest;
+import org.eclipse.aether.installation.InstallationException;
import java.io.File;
import java.util.Collection;
diff --git a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/SnapshotVersionManager.java b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/SnapshotVersionManager.java
index 1fedf1d281a..b1ee8c09a1a 100644
--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/SnapshotVersionManager.java
+++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/SnapshotVersionManager.java
@@ -16,13 +16,13 @@
package org.gradle.api.publication.maven.internal.action;
-import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.deployment.DeployRequest;
-import org.sonatype.aether.impl.MetadataGenerator;
-import org.sonatype.aether.impl.MetadataGeneratorFactory;
-import org.sonatype.aether.installation.InstallRequest;
-import org.sonatype.aether.metadata.Metadata;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.deployment.DeployRequest;
+import org.eclipse.aether.impl.MetadataGenerator;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.installation.InstallRequest;
+import org.eclipse.aether.metadata.Metadata;
import java.util.Collection;
import java.util.Collections;
@@ -35,7 +35,7 @@ class SnapshotVersionManager implements MetadataGeneratorFactory, MetadataGenera
}
@Override
- public int getPriority() {
+ public float getPriority() {
return -100;
}
--
2.20.1

View File

@ -0,0 +1,85 @@
From c0f704d29394458523befaa573d8f2178e734c2e Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Wed, 20 Sep 2017 15:26:10 +0300
Subject: [PATCH 06/18] Disable code quality checks
---
build.gradle | 4 ----
buildSrc/build.gradle | 9 ---------
gradle/classycle.gradle | 7 -------
subprojects/distributions/distributions.gradle | 2 --
4 files changed, 22 deletions(-)
diff --git a/build.gradle b/build.gradle
index b4504db8f7c..71946257775 100644
--- a/build.gradle
+++ b/build.gradle
@@ -211,15 +211,11 @@ subprojects {
apply from: "$rootDir/gradle/groovyProject.gradle"
apply from: "$rootDir/gradle/testWithUnknownOS.gradle"
apply from: "$rootDir/gradle/java9.gradle"
- check.dependsOn ":docs:checkstyleApi"
- check.dependsOn "codeQuality"
}
if (project in publishedProjects) {
apply from: "$rootDir/gradle/publish.gradle"
}
-
- apply from: "$rootDir/gradle/codeQuality.gradle"
}
configurations {
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index e5b73f35ef5..d3f842f6bf6 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -46,9 +46,6 @@ dependencies {
compile "org.pegdown:pegdown:1.6.0"
compile "org.jsoup:jsoup:1.6.3"
- compile 'me.champeau.gradle:japicmp-gradle-plugin:0.2.4'
- compile 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3'
- compile 'com.github.javaparser:javaparser-core:2.4.0'
}
ext.isCiServer = System.getenv().containsKey("CI")
@@ -56,9 +53,3 @@ ext.isCiServer = System.getenv().containsKey("CI")
apply from: '../gradle/compile.gradle'
apply from: '../gradle/dependencies.gradle'
apply from: '../gradle/classycle.gradle'
-
-if (!isCiServer || (isCiServer && Boolean.getBoolean('enableCodeQuality'))) {
- apply from: '../gradle/codeQuality.gradle'
-}
-
-apply from: "../gradle/ciReporting.gradle"
diff --git a/gradle/classycle.gradle b/gradle/classycle.gradle
index ba44bdfed3b..5396cf3c5ed 100644
--- a/gradle/classycle.gradle
+++ b/gradle/classycle.gradle
@@ -1,11 +1,4 @@
allprojects {
ext.useClassycle = { params = [:] ->
- def excludePatterns = params.exclude ?: []
-
- apply plugin: org.gradle.plugins.classycle.ClassyclePlugin
-
- tasks.withType(org.gradle.plugins.classycle.Classycle).all() {
- it.excludePatterns = excludePatterns
- }
}
}
diff --git a/subprojects/distributions/distributions.gradle b/subprojects/distributions/distributions.gradle
index cff1db232ba..8e29f7dd942 100644
--- a/subprojects/distributions/distributions.gradle
+++ b/subprojects/distributions/distributions.gradle
@@ -130,5 +130,3 @@ integTestTasks.all {
systemProperty 'org.gradle.public.api.includes', publicApiIncludes.join(':')
systemProperty 'org.gradle.public.api.excludes', publicApiExcludes.join(':')
}
-
-apply from: 'binary-compatibility.gradle'
--
2.20.1

View File

@ -0,0 +1,25 @@
From b92f935f615f9a92b4e636a1635031f7a2c74068 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Fri, 12 Jun 2015 12:04:53 +0200
Subject: [PATCH 07/18] Port to Kryo 3.0
---
.../org/gradle/internal/serialize/kryo/KryoBackedEncoder.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/subprojects/messaging/src/main/java/org/gradle/internal/serialize/kryo/KryoBackedEncoder.java b/subprojects/messaging/src/main/java/org/gradle/internal/serialize/kryo/KryoBackedEncoder.java
index c63e4340069..9f93df4ab8a 100644
--- a/subprojects/messaging/src/main/java/org/gradle/internal/serialize/kryo/KryoBackedEncoder.java
+++ b/subprojects/messaging/src/main/java/org/gradle/internal/serialize/kryo/KryoBackedEncoder.java
@@ -78,7 +78,7 @@ public class KryoBackedEncoder extends AbstractEncoder implements FlushableEncod
* Returns the total number of bytes written by this encoder, some of which may still be buffered.
*/
public int getWritePosition() {
- return output.total();
+ return (int)output.total();
}
public void flush() {
--
2.20.1

View File

@ -0,0 +1,25 @@
From cd00959b02331baac5fecda252599eb993bbf8f5 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 13 Apr 2015 12:27:00 +0200
Subject: [PATCH 08/18] Port to Ivy 2.4.0
---
.../ivyresolve/parser/IvyXmlModuleDescriptorParser.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/ivyresolve/parser/IvyXmlModuleDescriptorParser.java b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/ivyresolve/parser/IvyXmlModuleDescriptorParser.java
index 9a86d9cb183..c29f1952eb7 100644
--- a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/ivyresolve/parser/IvyXmlModuleDescriptorParser.java
+++ b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/ivyresolve/parser/IvyXmlModuleDescriptorParser.java
@@ -1207,7 +1207,7 @@ public class IvyXmlModuleDescriptorParser extends AbstractModuleDescriptorParser
buffer = null;
state = State.INFO;
} else if (state == State.EXTRA_INFO) {
- getMd().getExtraInfo().put(new NamespaceId(uri, localName), buffer == null ? "" : buffer.toString());
+ ((Map)getMd().getExtraInfo()).put(new NamespaceId(uri, localName), buffer == null ? "" : buffer.toString());
buffer = null;
state = State.INFO;
} else if (state == State.DESCRIPTION) {
--
2.20.1

View File

@ -0,0 +1,56 @@
From def0eddc86eed16fe98250e571844981c0a2d690 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Tue, 21 Apr 2015 15:12:44 +0200
Subject: [PATCH 09/18] Port to Polyglot 0.1.8
---
.../maven/internal/pom/CustomModelBuilder.java | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/pom/CustomModelBuilder.java b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/pom/CustomModelBuilder.java
index e311d4993b6..91d5fa22d95 100644
--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/pom/CustomModelBuilder.java
+++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/pom/CustomModelBuilder.java
@@ -20,11 +20,15 @@ import org.apache.maven.model.Model;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.gradle.api.publication.maven.internal.ModelFactory;
import org.slf4j.LoggerFactory;
+import org.sonatype.maven.polyglot.PolyglotModelManager;
import org.sonatype.maven.polyglot.execute.ExecuteManager;
import org.sonatype.maven.polyglot.execute.ExecuteManagerImpl;
+import org.sonatype.maven.polyglot.groovy.GroovyMapping;
import org.sonatype.maven.polyglot.groovy.builder.ModelBuilder;
+import org.sonatype.maven.polyglot.mapping.XmlMapping;
import java.lang.reflect.Field;
+import java.util.Arrays;
import java.util.Map;
/**
@@ -33,17 +37,16 @@ import java.util.Map;
public class CustomModelBuilder extends ModelBuilder {
public CustomModelBuilder(Model model) {
+ PolyglotModelManager modelManager = new PolyglotModelManager();
+ setProp(modelManager.getClass(), modelManager, "log",
+ new PlexusLoggerAdapter(LoggerFactory.getLogger(PolyglotModelManager.class)));
+ setProp(modelManager.getClass(), modelManager, "mappings",
+ Arrays.asList(new XmlMapping(), new GroovyMapping()));
ExecuteManager executeManager = new ExecuteManagerImpl();
setProp(executeManager.getClass(), executeManager, "log",
new PlexusLoggerAdapter(LoggerFactory.getLogger(ExecuteManagerImpl.class)));
+ setProp(executeManager.getClass(), executeManager, "manager", modelManager);
setProp(ModelBuilder.class, this, "executeManager", executeManager);
- setProp(ModelBuilder.class, this, "log",
- new PlexusLoggerAdapter(LoggerFactory.getLogger(ModelBuilder.class)));
- try {
- initialize();
- } catch (InitializationException e) {
- throw new RuntimeException(e);
- }
Map factories = (Map) getProp(FactoryBuilderSupport.class, this, "factories");
factories.remove("project");
ModelFactory modelFactory = new ModelFactory(model);
--
2.20.1

View File

@ -0,0 +1,204 @@
From acd265dea71fb69236d7cb1997e3b0382bcaa4e4 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Fri, 30 Jan 2015 13:16:40 +0100
Subject: [PATCH 10/18] Port from Simple 4 to Jetty 9
---
gradle/dependencies.gradle | 6 +-
subprojects/javascript/javascript.gradle | 2 +-
.../simple/SimpleHttpFileServerFactory.java | 38 ++++-----
.../internal/SimpleFileServerContainer.java | 82 -------------------
4 files changed, 23 insertions(+), 105 deletions(-)
delete mode 100644 subprojects/javascript/src/main/java/org/gradle/plugins/javascript/envjs/http/simple/internal/SimpleFileServerContainer.java
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 7b7be2a583d..6e17a88bc31 100755
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -66,12 +66,12 @@ libraries.logback_classic = dependencies.module('ch.qos.logback:logback-classic:
}
// Jetty
-libraries.servlet_api = "org.mortbay.jetty:servlet-api:2.5-20081211@jar"
-libraries.jetty_util = dependencies.module("org.mortbay.jetty:jetty-util:6.1.26") {
+libraries.servlet_api = "javax.servlet:javax.servlet-api"
+libraries.jetty_util = dependencies.module("org.eclipse.jetty:jetty-util") {
dependency libraries.slf4j_api
dependency libraries.servlet_api
}
-libraries.jetty = dependencies.module("org.mortbay.jetty:jetty:6.1.26") {
+libraries.jetty = dependencies.module("org.eclipse.jetty:jetty-server") {
dependency libraries.jetty_util
dependency libraries.servlet_api
}
diff --git a/subprojects/javascript/javascript.gradle b/subprojects/javascript/javascript.gradle
index 1e94bd8de68..18970197521 100644
--- a/subprojects/javascript/javascript.gradle
+++ b/subprojects/javascript/javascript.gradle
@@ -19,7 +19,7 @@ dependencies {
compile "org.mozilla:rhino:1.7R3"
compile libraries.gson // used by JsHint
- compile "org.simpleframework:simple:4.1.21" // used by http package in envjs
+ compile libraries.jetty // used by http package in envjs
compile project(':core'), project(":plugins"), project(':workers')
compile libraries.inject
diff --git a/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/envjs/http/simple/SimpleHttpFileServerFactory.java b/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/envjs/http/simple/SimpleHttpFileServerFactory.java
index 8a4f692cf4e..6983db21cb4 100644
--- a/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/envjs/http/simple/SimpleHttpFileServerFactory.java
+++ b/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/envjs/http/simple/SimpleHttpFileServerFactory.java
@@ -16,43 +16,43 @@
package org.gradle.plugins.javascript.envjs.http.simple;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
import org.gradle.api.UncheckedIOException;
import org.gradle.internal.concurrent.Stoppable;
import org.gradle.plugins.javascript.envjs.http.HttpFileServer;
import org.gradle.plugins.javascript.envjs.http.HttpFileServerFactory;
-import org.gradle.plugins.javascript.envjs.http.simple.internal.SimpleFileServerContainer;
-import org.simpleframework.http.core.Container;
-import org.simpleframework.http.core.ContainerServer;
-import org.simpleframework.http.resource.FileContext;
-import org.simpleframework.transport.Server;
-import org.simpleframework.transport.connect.Connection;
-import org.simpleframework.transport.connect.SocketConnection;
import java.io.File;
-import java.io.IOException;
-import java.net.InetSocketAddress;
public class SimpleHttpFileServerFactory implements HttpFileServerFactory {
public HttpFileServer start(File contentRoot, int port) {
- Container container = new SimpleFileServerContainer(new FileContext(contentRoot));
-
try {
- final Server server = new ContainerServer(container);
- Connection connection = new SocketConnection(server);
- InetSocketAddress address = new InetSocketAddress(port);
- InetSocketAddress usedAddress = (InetSocketAddress)connection.connect(address);
+ final Server server = new Server(8080);
+
+ ResourceHandler handler = new ResourceHandler();
+ handler.setResourceBase(contentRoot.getPath());
+
+ HandlerList handlers = new HandlerList();
+ handlers.setHandlers(new Handler[] { handler, new DefaultHandler() });
+ server.setHandler(handlers);
+
+ server.start();
- return new SimpleHttpFileServer(contentRoot, usedAddress.getPort(), new Stoppable() {
+ return new SimpleHttpFileServer(contentRoot, port, new Stoppable() {
public void stop() {
try {
- server.stop();
- } catch (IOException e) {
+ server.join();
+ } catch (InterruptedException e) {
throw new UncheckedIOException(e);
}
}
});
- } catch (IOException e) {
+ } catch (Exception e) {
throw new UncheckedIOException(e);
}
}
diff --git a/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/envjs/http/simple/internal/SimpleFileServerContainer.java b/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/envjs/http/simple/internal/SimpleFileServerContainer.java
deleted file mode 100644
index 5d67baeeae1..00000000000
--- a/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/envjs/http/simple/internal/SimpleFileServerContainer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2012 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.gradle.plugins.javascript.envjs.http.simple.internal;
-
-import org.apache.commons.io.IOUtils;
-import org.gradle.api.UncheckedIOException;
-import org.simpleframework.http.Request;
-import org.simpleframework.http.Response;
-import org.simpleframework.http.core.Container;
-import org.simpleframework.http.resource.Context;
-import org.simpleframework.http.resource.Index;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.nio.charset.Charset;
-
-public class SimpleFileServerContainer implements Container {
-
- private final Context context;
-
- public SimpleFileServerContainer(Context context) {
- this.context = context;
- }
-
- public void handle(Request req, Response resp) {
- Index requestIndex = context.getIndex(req.getTarget());
- File targetFile = requestIndex.getFile();
-
- if (!targetFile.exists()) {
- resp.setCode(404);
- resp.setText("Not Found");
- try {
- resp.getPrintStream().println(String.format("File '%s' does not exist", targetFile.getAbsolutePath()));
- resp.commit();
- } catch (IOException e) {
- throw new UncheckedIOException(e);
- }
- }
-
- String contentType = requestIndex.getContentType();
- resp.set("Content-Type", contentType);
-
- OutputStream output = null;
- try {
- output = resp.getOutputStream();
-
- if (contentType.startsWith("text/")) {
- resp.set("Content-Encoding", Charset.defaultCharset().name());
- Reader input = new FileReader(requestIndex.getFile());
- IOUtils.copy(input, output);
- IOUtils.closeQuietly(input);
- } else {
- InputStream input = new FileInputStream(requestIndex.getFile());
- IOUtils.copy(input, output);
- IOUtils.closeQuietly(input);
- }
- } catch (IOException e) {
- throw new UncheckedIOException(e);
- } finally {
- IOUtils.closeQuietly(output);
- }
- }
-}
--
2.20.1

View File

@ -0,0 +1,83 @@
From 432f94453778aee83d81f96c737747183945f857 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Fri, 29 Sep 2017 14:10:15 +0300
Subject: [PATCH 11/18] Disable benchmarks
---
gradle/groovyProject.gradle | 4 ----
subprojects/base-services/base-services.gradle | 6 ------
subprojects/build-cache/build-cache.gradle | 6 ------
subprojects/native/native.gradle | 8 --------
4 files changed, 24 deletions(-)
diff --git a/gradle/groovyProject.gradle b/gradle/groovyProject.gradle
index 60810cd91ba..1897b21e608 100644
--- a/gradle/groovyProject.gradle
+++ b/gradle/groovyProject.gradle
@@ -102,10 +102,6 @@ if (file("src/performanceTest").exists()) {
apply from: "$rootDir/gradle/performanceTest.gradle"
}
-if (file("src/jmh").exists()) {
- apply from: "$rootDir/gradle/jmh.gradle"
-}
-
apply from: "$rootDir/gradle/distributionTesting.gradle"
apply from: "$rootDir/gradle/intTestImage.gradle"
diff --git a/subprojects/base-services/base-services.gradle b/subprojects/base-services/base-services.gradle
index 3f9cb27e2e6..491c0fa46eb 100644
--- a/subprojects/base-services/base-services.gradle
+++ b/subprojects/base-services/base-services.gradle
@@ -16,12 +16,6 @@ dependencies {
implementation libraries.commons_lang
implementation libraries.commons_io
implementation libraries.jcip
-
- jmh libraries.bouncycastle_provider
-}
-
-jmh {
- include = ["HashingAlgorithmsBenchmark"]
}
task buildReceiptResource(type: Copy) {
diff --git a/subprojects/build-cache/build-cache.gradle b/subprojects/build-cache/build-cache.gradle
index 005923c563b..01d32928320 100644
--- a/subprojects/build-cache/build-cache.gradle
+++ b/subprojects/build-cache/build-cache.gradle
@@ -26,12 +26,6 @@ dependencies {
implementation project(":logging")
implementation libraries.commons_io
-
- jmh libraries.ant
- jmh libraries.commons_compress
- jmh "io.airlift:aircompressor:0.8"
- jmh "org.iq80.snappy:snappy:0.4"
- jmh "org.kamranzafar:jtar:2.3"
}
useTestFixtures()
diff --git a/subprojects/native/native.gradle b/subprojects/native/native.gradle
index dfd4db20408..0b59611dfcd 100755
--- a/subprojects/native/native.gradle
+++ b/subprojects/native/native.gradle
@@ -19,14 +19,6 @@ useTestFixtures()
useTestFixtures(project: ":logging")
useClassycle()
-jmh {
- fork = 1
- threads = 2
- warmupIterations = 10
- synchronizeIterations = false
- resultFormat = 'CSV'
-}
-
task copyJmhReport(type: Copy) {
destinationDir = file("$buildDir/reports/jmh-html")
--
2.20.1

View File

@ -0,0 +1,54 @@
From 3793c63380dcaf95fcced8d18be0893a96572fcc Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 2 Oct 2017 17:31:44 +0300
Subject: [PATCH 12/18] Disable patching of external modules
---
build.gradle | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/build.gradle b/build.gradle
index 71946257775..6fcefe67b8f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -248,18 +248,11 @@ configurations {
}
}
-def patchedExternalModulesDir = new File(buildDir, "external/files")
-def patchedExternalModules = files({ -> fileTree(patchedExternalModulesDir).files.sort() })
-patchedExternalModules.builtBy 'patchExternalModules'
-
dependencies {
- externalModules "org.gradle:gradle-kotlin-dsl:${versions.gradle_kotlin_dsl}"
- externalModules "org.gradle:gradle-kotlin-dsl-tooling-builders:${versions.gradle_kotlin_dsl}"
coreRuntime project(':launcher')
coreRuntime project(':runtimeApiInfo')
runtime project(':wrapper')
runtime project(":installationBeacon")
- runtime patchedExternalModules
gradlePlugins pluginProjects
gradlePlugins implementationPluginProjects
gradlePlugins project(':workers')
@@ -269,18 +262,10 @@ dependencies {
coreRuntimeExtensions project(':dependencyManagement') //See: DynamicModulesClassPathProvider.GRADLE_EXTENSION_MODULES
coreRuntimeExtensions project(':pluginUse')
coreRuntimeExtensions project(':workers')
- coreRuntimeExtensions patchedExternalModules
}
import org.gradle.modules.PatchExternalModules
-task patchExternalModules(type: PatchExternalModules) {
- allModules = configurations.externalModulesRuntime
- coreModules = configurations.coreRuntime
- modulesToPatch = configurations.externalModules
- destination = patchedExternalModulesDir
-}
-
task verifyIsProductionBuildEnvironment {
doLast {
assert javaVersion.java7: "Must use a Java 7 compatible JVM to perform this build. Current JVM is ${jvm}"
--
2.20.1

View File

@ -0,0 +1,52 @@
From 4929260470361a27e22a6218fbbcf4e2dce1b67d Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 2 Oct 2017 17:33:05 +0300
Subject: [PATCH 13/18] Add missing transitive dependencies
---
gradle/dependencies.gradle | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 6e17a88bc31..262bcff571d 100755
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -35,7 +35,10 @@ libraries.ant = dependencies.module('org.apache.ant:ant:1.9.6') {
libraries.asm = 'org.ow2.asm:asm-debug-all:6.0_ALPHA'
libraries.cglib = 'cglib:cglib:3.2.5'
-libraries.bndlib = dependencies.module('biz.aQute.bnd:biz.aQute.bndlib:3.4.0')
+libraries.bndlib = dependencies.module('biz.aQute.bnd:bndlib:3.4.0') {
+ dependency 'biz.aQute.bnd:aQute.libg:3.4.0@jar'
+ dependency 'biz.aQute.bnd:biz.aQute.bnd.annotation:3.4.0@jar'
+}
libraries.commons_cli = 'commons-cli:commons-cli:1.2@jar'
libraries.commons_io = dependencies.module(versions.commons_io)
libraries.commons_lang = 'commons-lang:commons-lang:2.6@jar'
@@ -101,7 +104,9 @@ libraries += [
nekohtml: 'net.sourceforge.nekohtml:nekohtml:1.9.14',
xbean: 'org.apache.xbean:xbean-reflect:3.4@jar', //required by maven3 classes
nativePlatform: 'net.rubygrapefruit:native-platform:0.14',
- jansi: dependencies.module('org.fusesource.jansi:jansi:1.14'),
+ jansi: dependencies.module('org.fusesource.jansi:jansi:1.14') {
+ dependency "org.fusesource.jansi:jansi-native:1.14"
+ },
xerces: "xerces:xercesImpl:2.9.1",
objenesis: 'org.objenesis:objenesis:1.2@jar',
jsoup:'org.jsoup:jsoup:1.6.3',
@@ -211,7 +216,11 @@ libraries.awsS3 = [
] + libraries.commons_httpclient + libraries.joda
// keep in sync with ScalaLanguagePlugin code
-libraries.zinc = 'com.typesafe.zinc:zinc:0.3.15'
+libraries.zinc = dependencies.module('com.typesafe.zinc:zinc:0.3.15') {
+ dependency "org.scala-sbt:compile"
+ dependency "org.scala-sbt:compiler-integration"
+ dependency "org.scala-sbt:incremental-compiler"
+}
libraries.gcs = [
dependencies.create('com.google.apis:google-api-services-storage:v1-rev78-1.22.0') {
--
2.20.1

View File

@ -0,0 +1,80 @@
From bdc6523581ec8cd0653924b60365f38cb858887b Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 2 Oct 2017 17:34:01 +0300
Subject: [PATCH 14/18] Disable ideNative module
---
build.gradle | 2 +-
settings.gradle | 1 -
subprojects/language-native/language-native.gradle | 2 --
subprojects/platform-native/platform-native.gradle | 2 --
subprojects/testing-native/testing-native.gradle | 2 --
5 files changed, 1 insertion(+), 8 deletions(-)
diff --git a/build.gradle b/build.gradle
index 6fcefe67b8f..cc2ce3412ef 100644
--- a/build.gradle
+++ b/build.gradle
@@ -148,7 +148,7 @@ ext {
'ide', 'announce', 'scala', 'signing', 'ear', 'javascript', 'buildComparison',
'diagnostics', 'reporting', 'publish', 'ivy', 'jacoco', 'buildInit', 'platformBase',
'platformJvm', 'languageJvm', 'languageJava', 'languageGroovy', 'languageScala',
- 'platformNative', 'platformPlay', 'idePlay', 'languageNative', 'ideNative', 'testingBase',
+ 'platformNative', 'platformPlay', 'idePlay', 'languageNative', 'testingBase',
'testingNative', 'testingJvm', 'pluginDevelopment', 'pluginUse', 'resourcesHttp',
'resourcesSftp', 'resourcesS3', 'resourcesGcs', 'compositeBuilds', 'buildCacheHttp'
].collect { project(it) }
diff --git a/settings.gradle b/settings.gradle
index ab5013aa5fc..3178a38aba9 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -36,7 +36,6 @@ include 'resourcesSftp'
include 'plugins'
include 'scala'
include 'ide'
-include 'ideNative'
include 'idePlay'
include 'osgi'
include 'maven'
diff --git a/subprojects/language-native/language-native.gradle b/subprojects/language-native/language-native.gradle
index 10b75863c5c..0a9b6507160 100644
--- a/subprojects/language-native/language-native.gradle
+++ b/subprojects/language-native/language-native.gradle
@@ -18,8 +18,6 @@ dependencies {
compile project(':core')
compile project(':platformNative')
compile project(':maven')
-
- integTestRuntime project(":ideNative")
}
useTestFixtures()
diff --git a/subprojects/platform-native/platform-native.gradle b/subprojects/platform-native/platform-native.gradle
index 63231a88d6c..236deeeda87 100644
--- a/subprojects/platform-native/platform-native.gradle
+++ b/subprojects/platform-native/platform-native.gradle
@@ -22,8 +22,6 @@ dependencies {
compile project(':diagnostics')
integTestRuntime project(':maven')
- // Required to test visual studio project file generation for generated sources
- integTestRuntime project(':ideNative')
testFixturesCompile project(':internalIntegTesting')
}
diff --git a/subprojects/testing-native/testing-native.gradle b/subprojects/testing-native/testing-native.gradle
index 3741f03b555..ba8c94af684 100644
--- a/subprojects/testing-native/testing-native.gradle
+++ b/subprojects/testing-native/testing-native.gradle
@@ -20,8 +20,6 @@ dependencies {
compile project(':languageNative')
compile project(':testingBase')
compile project(':testingJvm')
-
- integTestRuntime project(':ideNative')
}
useTestFixtures()
--
2.20.1

View File

@ -0,0 +1,440 @@
From e4342c33e69d5d942c8464c5b39f976d7fe35433 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 2 Oct 2017 23:09:09 +0300
Subject: [PATCH 15/18] Disable docs build
---
subprojects/docs/docs.gradle | 372 +----------------------------------
1 file changed, 2 insertions(+), 370 deletions(-)
diff --git a/subprojects/docs/docs.gradle b/subprojects/docs/docs.gradle
index 5063c30e60e..c035a2c90ae 100755
--- a/subprojects/docs/docs.gradle
+++ b/subprojects/docs/docs.gradle
@@ -18,7 +18,6 @@ import javax.xml.transform.TransformerFactory
import javax.xml.transform.stream.StreamResult
import javax.xml.transform.stream.StreamSource
-import org.gradle.build.docs.CacheableAsciidoctorTask
import org.gradle.build.docs.UserGuideSectionVerifier
import org.gradle.build.docs.UserGuideTransformTask
import org.gradle.build.docs.ExtractSnippetsTask
@@ -38,7 +37,6 @@ apply plugin: 'base'
apply plugin: 'pegdown'
apply plugin: 'jsoup'
apply plugin: 'javascript-base'
-apply plugin: 'org.asciidoctor.convert'
repositories {
xmvn()
@@ -65,26 +63,6 @@ configurations {
}
dependencies {
- userGuideTask 'xalan:xalan:2.7.1', libraries.xerces
- userGuideTask module('xhtmlrenderer:xhtmlrenderer:R8rc1') {
- dependency 'itext:itext:2.0.8@jar'
- }
- userGuideTask 'xslthl:xslthl:2.0.1@jar'
-
- userGuideStyleSheets 'docbook:docbook-xsl:1.75.2@zip'
- jquery "jquery:jquery.min:1.8.0@js"
- jqueryTipTip "com.drewwilson.code:jquery.tipTip:1.3:minified@js"
-
- fonts \
- "lato:regular:6:v0SdcGFAl2aezM9Vq_aFTQ@ttf",
- "lato:regular-italic:6:LqowQDslGv4DmUBAfWa2Vw@ttf",
- "lato:bold:6:DvlFBScY1r-FMtZSYIYoYw@ttf",
- "lato:bold-italic:6:HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c@ttf",
- "ubuntumono:regular:3:ViZhet7Ak-LRXZMXzuAfkZ0EAVxt0G0biEntp43Qt6E@ttf",
- "ubuntumono:regular-italic:3:KAKuHXAHZOeECOWAHsRKA-LrC4Du4e_yfTJ8Ol60xk0@ttf",
- "ubuntumono:bold:3:ceqTZGKHipo8pJj4molytp_TkvowlIOtbR7ePgFOpF4@ttf",
- "ubuntumono:bold-italic:3:n_d8tv_JOIiYyMXR4eaV9WsGzsqhEorxQDpu60nfWEc@ttf"
-
testCompile "org.pegdown:pegdown:1.1.0"
testCompile libraries.jsoup
testCompile "org.gebish:geb-spock:0.9.3"
@@ -110,185 +88,20 @@ ext {
samplesSrcDir = file('src/samples')
}
-ext.outputs = [:]
-outputs.samples = files(samplesDir) {
- builtBy 'samples'
-}
-outputs.distDocs = files(distDocsDir) {
- builtBy 'distDocs'
-}
-outputs.docs = files(docsDir) {
- builtBy 'javadocAll', 'userguide', 'dslHtml', 'releaseNotes'
-}
-
-tasks.withType(CacheableAsciidoctorTask) {
- backends = ['docbook']
- separateOutputDirs = false
- options doctype: 'book'
- inputs.file asciidocSanitizeStylesheet withPropertyName "sanitizerStylesheet" withPathSensitivity PathSensitivity.NONE
-
- extensions {
- inlinemacro (name: "api") {
- parent, target, attributes ->
- def (className, method) = target.split('#', 2) as List
- def content = "<apilink class=\"$className\""
- if (method) {
- // Add space after comma, because we can't have spaces in api: targets
- // Restore Asciidoc's '&hellip;&zwsp;' replacement to the original '...'
- content += " method=\"${method.replaceAll(/,\s*/, ', ').replaceAll(/\&#8230;\&#8203;/, '...')}\""
- }
- content += " />"
- return content
- }
- }
-
- attributes website: 'http://www.gradle.org'
-
- doLast {
- outputDir.eachFileMatch(~/.*.xml/) { File file ->
- def contents = file.getText("utf-8")
- try {
- def transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(asciidocSanitizeStylesheet))
- transformer.transform(new StreamSource(new StringReader(contents)), new StreamResult(file))
- } catch (Exception ex) {
- throw new RuntimeException("Couldn't process $file:\n" + contents, ex)
- }
- }
- }
-}
-
-tasks.withType(Docbook2Xhtml) {
- dependsOn userguideStyleSheets
- classpath = configurations.userGuideTask
- stylesheetsDir = userguideStyleSheets.destinationDir
-}
-
-tasks.withType(UserGuideTransformTask) {
- dependsOn samples, dslDocbook
- snippetsDir = samples.snippetsDir
- linksFile = dslDocbook.linksFile
- websiteUrl = 'http://www.gradle.org'
-
- if (name in ["pdfUserguideDocbook"]) {
- // These will only be valid for releases, but that's ok
- javadocUrl = "http://www.gradle.org/docs/${->version}/javadoc"
- dsldocUrl = "http://www.gradle.org/docs/${->version}/dsl"
- } else {
- javadocUrl = '../javadoc'
- dsldocUrl = '../dsl'
- }
-}
-
-tasks.withType(AssembleDslDocTask) {
- classDocbookDir = dslSrcDir
-}
-
-task configureCss {
- doLast {
- def images = fileTree(dir: "src/docs/css/images", include: "*.*").files.collectEntries {
- [it.name, it.bytes.encodeBase64().toString()]
- }
-
- def fonts = configurations.fonts.resolvedConfiguration.resolvedArtifacts.collectEntries {
- def id = it.moduleVersion.id
- ["${id.group}-${id.name}".toString(), it.file.bytes.encodeBase64().toString()]
- }
-
- ext.tokens = images + fonts
- css.inputs.property 'tokens', tokens
- css.filter ReplaceTokens, tokens: tokens
- }
-}
+ext.outputs = []
-task css(type: Sync, dependsOn: configureCss) {
+task css(type: Sync) {
into "$buildDir/css"
from "src/docs/css"
include "*.css"
include "*.svg"
}
-ext.cssFiles = fileTree(css.destinationDir) {
- builtBy css
-}
-
-task samples(type: ExtractSnippetsTask) {
- source samplesSrcDir
- exclude 'userguideOutput/**'
- exclude '**/readme.xml'
- exclude '**/build/**'
- exclude '**/.gradle/**'
-
- // Resources that should not be filtered
- exclude 'userguide/tutorial/antLoadfileResources/**'
- exclude 'native-binaries/cunit/libs/**'
- exclude 'native-binaries/google-test/libs/**'
-
- destDir = samplesDir
- snippetsDir = new File(buildDir, 'snippets')
- doLast {
- copy {
- from samplesSrcDir
- into samplesDir
- include 'userguide/tutorial/antLoadfileResources/**'
- include 'native-binaries/cunit/libs/**'
- include 'native-binaries/google-test/libs/**'
- }
- }
-}
-
-task userguideStyleSheets(type: Copy) {
- File stylesheetsDir = new File(srcDocsDir, 'stylesheets')
- into new File(buildDir, 'stylesheets')
- from(stylesheetsDir) {
- include '*.xsl'
- }
- from(cssFiles)
- from({ zipTree(configurations.userGuideStyleSheets.singleFile) }) {
- // Remove the prefix
- eachFile { fcd -> fcd.path = fcd.path.replaceFirst('^docbook-xsl-[0-9\\.]+/', '') }
- }
-}
-
-tasks.remove(asciidoctor)
-
-task userguideAsciidoc(type: CacheableAsciidoctorTask) {
- sourceDir = userguideSrcDir
- sources { include '*.adoc' }
- outputDir = asciidocOutputDir
-
- // we pull the default-imports from here:
- resources {
- from(generatedResourcesDir)
- include "**/*.txt"
- }
-}
-
-task samplesDocbook(type: AssembleSamplesDocTask) {
- source samplesSrcDir
- include '**/readme.xml'
- destFile = new File(docbookSrc, 'samplesList.xml')
-}
-
-task samplesDocs(type: Docbook2Xhtml) {
- source samplesDocbook
- destFile = new File(samples.destDir, 'readme.html')
- stylesheetName = 'standaloneHtml.xsl'
-}
-
task dslMetaData(type: ExtractDslMetaDataTask) {
source { javadocAll.source }
destFile = new File(docbookSrc, 'dsl-meta-data.bin')
}
-task dslDocbook(type: AssembleDslDocTask, dependsOn: [dslMetaData]) {
- sources = fileTree(dir: dslSrcDir, includes: ['*.xml'])
- sourceFile = new File(dslSrcDir, 'dsl.xml')
- classMetaDataFile = dslMetaData.destFile
- pluginsMetaDataFile = new File(dslSrcDir, 'plugins.xml')
- destFile = new File(docbookSrc, 'dsl.xml')
- linksFile = new File(docbookSrc, 'api-links.bin')
-}
-
task defaultImports(type: GenerateDefaultImportsTask, dependsOn: dslMetaData) {
metaDataFile = dslMetaData.destFile
importsDestFile = new File(generatedResourcesDir, "default-imports.txt")
@@ -309,107 +122,6 @@ task defaultImports(type: GenerateDefaultImportsTask, dependsOn: dslMetaData) {
excludePackage 'org.gradle.platform.base.test'
}
-task dslStandaloneDocbook(type: UserGuideTransformTask, dependsOn: [dslDocbook]) {
- sourceFile = dslDocbook.destFile
- destFile = new File(docbookSrc, 'dsl-standalone.xml')
- dsldocUrl = '.'
-}
-
-task dslHtml(type: Docbook2Xhtml) {
- group = "Documentation"
- source dslStandaloneDocbook
- destDir = new File(docsDir, 'dsl')
- stylesheetName = 'dslHtml.xsl'
- resources = cssFiles + fileTree(dslSrcDir) {
- include '*.js'
- }
- ext.entryPoint = "$destDir/index.html"
-}
-
-task checkSectionIds(type: UserGuideSectionVerifier) {
- dependsOn userguideAsciidoc
- docbookFiles = files(
- fileTree(userguideSrcDir) { include "**/*.xml" },
- userguideAsciidoc.outputs.files
- )
-}
-
-[configureCss, samples, samplesDocbook, defaultImports]*.mustRunAfter(checkSectionIds)
-
-task extractSamples(type: ExtractSamplesTask) {
- // We need default imports since it is included by userguide.xml
- // We need samplesList.xml (generated by samplesDocbook) since it is included by userguide.xml
- // Both files are not an input since they do not affect the generated samples.xml
- dependsOn defaultImports, samplesDocbook, userguideAsciidoc
- sourceFile = new File(userguideSrcDir, 'userguide.xml')
- destFile = new File(docbookSrc, 'samples.xml')
-}
-
-// This is used in the distribution and for the online version
-task userguideDocbook(type: UserGuideTransformTask) {
- destFile = new File(docbookSrc, 'userguide.xml')
- dependsOn checkSectionIds
-}
-
-// This is used for the PDF, where we need absolute links to the javadoc etc.
-task pdfUserguideDocbook(type: UserGuideTransformTask) {
- destFile = new File(docbookSrc, 'remoteUserguide.xml')
-}
-
-configure([userguideDocbook, pdfUserguideDocbook]) {
- // The master userguide.xml pulls these files in via xi:include, making them input
- includes = files(
- samplesDocbook,
- defaultImports.importsDestFile,
- fileTree(dir: userguideSrcDir, includes: ['*.xml']),
- userguideAsciidoc.outputs.files
- )
-
- dependsOn samples, samplesDocbook, defaultImports
-
- sourceFile new File(userguideSrcDir, 'userguide.xml')
-}
-
-def imageFiles = fileTree(userguideSrcDir) {
- include 'img/*.png'
- include 'img/*.gif'
- include 'img/*.jpg'
-}
-def resourceFiles = imageFiles + cssFiles
-
-task userguideHtml(type: Docbook2Xhtml) {
- group = "Documentation"
- source userguideDocbook
- destDir = userguideDir
- stylesheetName = 'userGuideHtml.xsl'
- resources = resourceFiles
- ext.entryPoint = "$destDir/userguide.html"
-}
-
-task userguideSingleHtml(type: Docbook2Xhtml) {
- group = "Documentation"
- source userguideDocbook
- destFile = new File(userguideDir, 'userguide_single.html')
- stylesheetName = 'userGuideSingleHtml.xsl'
- resources = resourceFiles
- ext.entryPoint = destFile
-}
-
-task pdfUserguideXhtml(type: Docbook2Xhtml) {
- source pdfUserguideDocbook
- destFile = new File(buildDir, 'tmp/userguidePdf/userguidePdf.html')
- stylesheetName = 'userGuidePdf.xsl'
- resources = resourceFiles
- ext.entryPoint = destFile
-}
-
-task userguidePdf(type: Xhtml2Pdf, dependsOn: pdfUserguideXhtml) {
- sourceFile = pdfUserguideXhtml.destFile
- destFile = new File(userguideDir, 'userguide.pdf')
- classpath = configurations.userGuideTask
- resources = resourceFiles
-}
-
def javaApiUrl = "https://docs.oracle.com/javase/7/docs/api"
def groovyApiUrl = "http://docs.groovy-lang.org/docs/groovy-${versions.groovy}/html/gapi"
def mavenApiUrl = "http://maven.apache.org/ref/${versions.maven}/maven-model/apidocs"
@@ -440,84 +152,4 @@ task javadocAll(type: Javadoc) {
ext.entryPoint = "$destinationDir/index.html"
}
-task checkstyleApi(type: Checkstyle) {
- source javadocAll.source
- configFile = new File(checkstyle.configDir, "checkstyle-api.xml")
- classpath = files()
- reports.xml.destination = file("$checkstyle.reportsDir/checkstyle-api.xml")
-}
-
-task distDocs(type: Docbook2Xhtml) {
- dependsOn userguideAsciidoc
- source new File(asciidocOutputDir, 'gettingStarted.xml')
- destFile = new File(distDocsDir, 'getting-started.html')
- stylesheetName = 'standaloneHtml.xsl'
-}
-
-task userguide {
- dependsOn userguideHtml, userguideSingleHtml, userguidePdf
- description = 'Generates the userguide'
- group = 'documentation'
-}
-
-task editReleaseNotes() {
- group = "release notes"
- doLast {
- Class.forName("java.awt.Desktop").newInstance().edit(file("src/docs/release/notes.md"))
- }
-}
-
-task releaseNotesMarkdown(type: PegDown) {
- group = "release notes"
- markdownFile = file("src/docs/release/notes.md")
- destination = new File(buildDir, "release-notes-raw/release-notes.html")
-}
-
-task releaseNotes(type: Copy) {
- group = "release notes"
- ext.fileName = "release-notes.html"
- into "$docsDir"
- from releaseNotesMarkdown
- jsoup.plugins "src/transforms/release-notes.gradle"
- filter(ReplaceTokens, tokens: [version: project.version.toString(), baseVersion: rootProject.baseVersion])
- ext.entryPoint = file("$docsDir/$fileName")
-}
-
-tasks.addRule("view«Doc Task Name» - Opens entry point") { String taskName ->
- if (taskName.startsWith("view")) {
- def realTaskName = (taskName - "view")
- realTaskName = realTaskName[0].toLowerCase() + realTaskName[1..-1]
- def task = tasks.findByName(realTaskName)
- if (task && task.hasProperty("entryPoint")) {
- tasks.create(taskName) {
- dependsOn task
- doLast {
- Class.forName("java.awt.Desktop").newInstance().browse(file(task.entryPoint).toURI())
- }
- }
- }
- }
-}
-
sourceSets.main.output.dir generatedResourcesDir, builtBy: defaultImports
-
-['test', 'java9Test'].each {
- tasks[it].configure {
- dependsOn releaseNotes
- inputs.files releaseNotesMarkdown.markdownFile withPropertyName "releaseNotesSource" withPathSensitivity PathSensitivity.NONE
- inputs.dir releaseNotes.destinationDir withPropertyName "releaseNotesRendered" withPathSensitivity PathSensitivity.NONE
- inputs.property "systemProperties", [:]
- systemProperty "org.gradle.docs.releasenotes.source", releaseNotesMarkdown.markdownFile
- systemProperty "org.gradle.docs.releasenotes.rendered", new File(releaseNotes.destinationDir, releaseNotes.fileName)
- }
-}
-
-task docs {
- dependsOn javadocAll, userguide, distDocs, samplesDocs, dslHtml, releaseNotes
- description = 'Generates all documentation'
- group = 'documentation'
-}
-
-task docsZip(type: Zip) {
- from project.outputs.docs
-}
--
2.20.1

View File

@ -0,0 +1,210 @@
From 0f2ffdcbd676ee0857e7834ec6fd66ec72f1e6e3 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Sun, 12 Nov 2017 19:08:40 +0200
Subject: [PATCH 16/18] Port to guava 20.0
---
gradle/dependencies.gradle | 2 +-
.../org/gradle/api/internal/CompositeDomainObjectSet.java | 5 +++--
.../gradle/api/internal/DefaultDomainObjectCollection.java | 3 ++-
.../rules/PreviousSuccessTaskStateChanges.java | 3 ++-
.../changedetection/state/DefaultFileCollectionSnapshot.java | 3 ++-
.../OrderInsensitiveTaskFilePropertyCompareStrategy.java | 3 +--
.../state/TaskFilePropertyCompareStrategy.java | 2 +-
.../api/internal/tasks/CompositeTaskOutputPropertySpec.java | 4 ++--
.../org/gradle/api/internal/tasks/DefaultTaskOutputs.java | 3 ++-
9 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 262bcff571d..f51cefd58b0 100755
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -92,7 +92,7 @@ libraries.commons_httpclient = dependencies.module('org.apache.httpcomponents:ht
libraries += [
jatl: 'com.googlecode.jatl:jatl:0.2.2',
dom4j: 'dom4j:dom4j:1.6.1@jar',
- guava: 'com.google.guava:guava-jdk5:17.0@jar',
+ guava: 'com.google.guava:guava:20.0@jar',
kryo: 'com.esotericsoftware.kryo:kryo:2.20',
jsr305: 'com.google.code.findbugs:jsr305:1.3.9@jar',
groovy: "org.codehaus.groovy:groovy-all:${versions.groovy}",
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/CompositeDomainObjectSet.java b/subprojects/core/src/main/java/org/gradle/api/internal/CompositeDomainObjectSet.java
index ee7c1244b51..4619c7d5cd1 100644
--- a/subprojects/core/src/main/java/org/gradle/api/internal/CompositeDomainObjectSet.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/CompositeDomainObjectSet.java
@@ -24,6 +24,7 @@ import org.gradle.api.specs.Spec;
import org.gradle.internal.Actions;
import java.util.Collection;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -109,7 +110,7 @@ public class CompositeDomainObjectSet<T> extends DelegatingDomainObjectSet<T> im
public Iterator<T> iterator() {
DomainObjectCompositeCollection store = getStore();
if (store.isEmpty()) {
- return Iterators.emptyIterator();
+ return Collections.emptyIterator();
}
return SetIterator.of(store);
@@ -190,7 +191,7 @@ public class CompositeDomainObjectSet<T> extends DelegatingDomainObjectSet<T> im
@SuppressWarnings("unchecked")
public Iterator<T> iterator() {
if (store.isEmpty()) {
- return Iterators.emptyIterator();
+ return Collections.emptyIterator();
}
if (store.size() == 1) {
return (Iterator<T>) store.get(0).iterator();
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/DefaultDomainObjectCollection.java b/subprojects/core/src/main/java/org/gradle/api/internal/DefaultDomainObjectCollection.java
index 90d89d50866..5bd7f0abd9f 100755
--- a/subprojects/core/src/main/java/org/gradle/api/internal/DefaultDomainObjectCollection.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/DefaultDomainObjectCollection.java
@@ -32,6 +32,7 @@ import org.gradle.util.ConfigureUtil;
import java.util.AbstractCollection;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.Iterator;
public class DefaultDomainObjectCollection<T> extends AbstractCollection<T> implements DomainObjectCollection<T>, WithEstimatedSize {
@@ -107,7 +108,7 @@ public class DefaultDomainObjectCollection<T> extends AbstractCollection<T> impl
public Iterator<T> iterator() {
if (constantTimeIsEmpty()) {
- return Iterators.emptyIterator();
+ return Collections.emptyIterator();
}
return new IteratorImpl(getStore().iterator());
}
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/rules/PreviousSuccessTaskStateChanges.java b/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/rules/PreviousSuccessTaskStateChanges.java
index c432c33664d..82e3a878a18 100644
--- a/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/rules/PreviousSuccessTaskStateChanges.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/rules/PreviousSuccessTaskStateChanges.java
@@ -21,6 +21,7 @@ import org.gradle.api.internal.TaskInternal;
import org.gradle.api.internal.changedetection.state.TaskExecution;
import javax.annotation.Nullable;
+import java.util.Collections;
import java.util.Iterator;
public class PreviousSuccessTaskStateChanges implements TaskStateChanges {
@@ -38,7 +39,7 @@ public class PreviousSuccessTaskStateChanges implements TaskStateChanges {
@Override
public Iterator<TaskStateChange> iterator() {
if (previousExecution == null || previousExecution.isSuccessful()) {
- return Iterators.emptyIterator();
+ return Collections.emptyIterator();
} else {
return Iterators.singletonIterator(PREVIOUS_FAILURE);
}
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/DefaultFileCollectionSnapshot.java b/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/DefaultFileCollectionSnapshot.java
index e8705de8f06..a0f0af32ca3 100644
--- a/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/DefaultFileCollectionSnapshot.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/DefaultFileCollectionSnapshot.java
@@ -36,6 +36,7 @@ import org.gradle.internal.serialize.HashCodeSerializer;
import javax.annotation.Nullable;
import java.io.File;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -91,7 +92,7 @@ public class DefaultFileCollectionSnapshot implements FileCollectionSnapshot {
@Override
public Iterator<TaskStateChange> iterateContentChangesSince(FileCollectionSnapshot oldSnapshot, String fileType, boolean includeAdded) {
if (includeAdded && hashCode != null && getHash().equals(oldSnapshot.getHash())) {
- return Iterators.emptyIterator();
+ return Collections.emptyIterator();
}
return compareStrategy.iterateContentChangesSince(snapshots, oldSnapshot.getSnapshots(), fileType, pathIsAbsolute, includeAdded);
}
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/OrderInsensitiveTaskFilePropertyCompareStrategy.java b/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/OrderInsensitiveTaskFilePropertyCompareStrategy.java
index c885de8df78..3fdf6e3cf34 100644
--- a/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/OrderInsensitiveTaskFilePropertyCompareStrategy.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/OrderInsensitiveTaskFilePropertyCompareStrategy.java
@@ -17,7 +17,6 @@
package org.gradle.api.internal.changedetection.state;
import com.google.common.collect.AbstractIterator;
-import com.google.common.collect.Iterators;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.MultimapBuilder;
@@ -143,7 +142,7 @@ class OrderInsensitiveTaskFilePropertyCompareStrategy implements TaskFilePropert
// Create a single iterator to use for all of the still unaccounted files
if (unaccountedForPreviousSnapshotsIterator == null) {
if (unaccountedForPreviousSnapshots.isEmpty()) {
- unaccountedForPreviousSnapshotsIterator = Iterators.emptyIterator();
+ unaccountedForPreviousSnapshotsIterator = Collections.emptyIterator();
} else {
List<Entry<NormalizedFileSnapshot, IncrementalFileSnapshotWithAbsolutePath>> entries = Lists.newArrayList(unaccountedForPreviousSnapshots.entries());
Collections.sort(entries, ENTRY_COMPARATOR);
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/TaskFilePropertyCompareStrategy.java b/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/TaskFilePropertyCompareStrategy.java
index fc58acae02a..3f3fda9cf3e 100644
--- a/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/TaskFilePropertyCompareStrategy.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/changedetection/state/TaskFilePropertyCompareStrategy.java
@@ -27,7 +27,7 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
-import static com.google.common.collect.Iterators.emptyIterator;
+import static java.util.Collections.emptyIterator;
import static com.google.common.collect.Iterators.singletonIterator;
public enum TaskFilePropertyCompareStrategy {
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/tasks/CompositeTaskOutputPropertySpec.java b/subprojects/core/src/main/java/org/gradle/api/internal/tasks/CompositeTaskOutputPropertySpec.java
index 36b6a56916e..bc6a47cf7ae 100644
--- a/subprojects/core/src/main/java/org/gradle/api/internal/tasks/CompositeTaskOutputPropertySpec.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/tasks/CompositeTaskOutputPropertySpec.java
@@ -17,7 +17,6 @@
package org.gradle.api.internal.tasks;
import com.google.common.collect.AbstractIterator;
-import com.google.common.collect.Iterators;
import com.google.common.collect.Lists;
import org.gradle.api.NonNullApi;
import org.gradle.api.internal.file.FileCollectionInternal;
@@ -28,6 +27,7 @@ import org.gradle.api.internal.file.collections.DirectoryFileTree;
import org.gradle.util.DeferredUtil;
import java.io.File;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -56,7 +56,7 @@ public class CompositeTaskOutputPropertySpec extends AbstractTaskOutputPropertyS
public Iterator<TaskOutputFilePropertySpec> resolveToOutputProperties() {
Object unpackedPaths = DeferredUtil.unpack(paths);
if (unpackedPaths == null) {
- return Iterators.emptyIterator();
+ return Collections.emptyIterator();
} else if (unpackedPaths instanceof Map) {
final Iterator<? extends Map.Entry<?, ?>> iterator = ((Map<?, ?>) unpackedPaths).entrySet().iterator();
return new AbstractIterator<TaskOutputFilePropertySpec>() {
diff --git a/subprojects/core/src/main/java/org/gradle/api/internal/tasks/DefaultTaskOutputs.java b/subprojects/core/src/main/java/org/gradle/api/internal/tasks/DefaultTaskOutputs.java
index 8920be58787..fb9cfa9a363 100644
--- a/subprojects/core/src/main/java/org/gradle/api/internal/tasks/DefaultTaskOutputs.java
+++ b/subprojects/core/src/main/java/org/gradle/api/internal/tasks/DefaultTaskOutputs.java
@@ -41,6 +41,7 @@ import org.gradle.api.tasks.TaskOutputFilePropertyBuilder;
import javax.annotation.Nullable;
import java.io.File;
+import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@@ -203,7 +204,7 @@ public class DefaultTaskOutputs implements TaskOutputsInternal {
if (propertySpec instanceof CacheableTaskOutputFilePropertySpec) {
File outputFile = ((CacheableTaskOutputFilePropertySpec) propertySpec).getOutputFile();
if (outputFile == null) {
- return Iterators.emptyIterator();
+ return Collections.emptyIterator();
}
}
return Iterators.singletonIterator((TaskOutputFilePropertySpec) propertySpec);
--
2.20.1

View File

@ -0,0 +1,39 @@
From 7cab99198af39b1c062fdb6dbbb1776946692b78 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 26 Mar 2018 14:07:20 +0200
Subject: [PATCH 17/18] Set core-api source level to 8
---
subprojects/core-api/core-api.gradle | 2 +-
subprojects/core/core.gradle | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/subprojects/core-api/core-api.gradle b/subprojects/core-api/core-api.gradle
index c90a0b48eec..587729f5da2 100644
--- a/subprojects/core-api/core-api.gradle
+++ b/subprojects/core-api/core-api.gradle
@@ -15,7 +15,7 @@
*/
apply plugin: 'java-library'
-sourceCompatibility = javaVersion.java9Compatible ? 1.6 : 1.5
+sourceCompatibility = 8
dependencies {
api project(":baseServices")
diff --git a/subprojects/core/core.gradle b/subprojects/core/core.gradle
index b6d6eba552c..bf44aed2ed3 100755
--- a/subprojects/core/core.gradle
+++ b/subprojects/core/core.gradle
@@ -16,7 +16,7 @@
apply plugin: 'java-library'
apply from: "$rootDir/gradle/taskProperties.gradle"
-sourceCompatibility = javaVersion.java9Compatible ? 1.6 : 1.5
+sourceCompatibility = 8
configurations {
reports
--
2.20.1

View File

@ -0,0 +1,25 @@
From 1d8437748a1c683098ab134211b1995b3447e050 Mon Sep 17 00:00:00 2001
From: Daniel Lacasse <daniel@gradle.com>
Date: Tue, 2 Apr 2019 18:42:34 +0200
Subject: [PATCH 18/18] Use HTTPS for GoogleAPIs repository
---
.../javascript/base/JavaScriptRepositoriesExtension.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/base/JavaScriptRepositoriesExtension.java b/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/base/JavaScriptRepositoriesExtension.java
index 6e4be702015..75f3673727b 100644
--- a/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/base/JavaScriptRepositoriesExtension.java
+++ b/subprojects/javascript/src/main/java/org/gradle/plugins/javascript/base/JavaScriptRepositoriesExtension.java
@@ -29,7 +29,7 @@ public class JavaScriptRepositoriesExtension {
public static final String NAME = "javaScript";
public static final String GRADLE_PUBLIC_JAVASCRIPT_REPO_URL = "https://repo.gradle.org/gradle/javascript-public";
- public static final String GOOGLE_APIS_REPO_URL = "http://ajax.googleapis.com/ajax/libs";
+ public static final String GOOGLE_APIS_REPO_URL = "https://ajax.googleapis.com/ajax/libs";
private final RepositoryHandler repositories;
--
2.20.1

1957
all-released-versions.json Normal file

File diff suppressed because it is too large Load Diff

BIN
gradle-4.3.1-src.zip Normal file

Binary file not shown.

69
gradle-font-metadata.xml Normal file
View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://fedorahosted.org/xmvn/METADATA/2.0.0">
<artifacts>
<artifact>
<groupId>lato</groupId>
<artifactId>bold</artifactId>
<extension>ttf</extension>
<classifier>DvlFBScY1r-FMtZSYIYoYw</classifier>
<version>6</version>
<path>/usr/share/fonts/lato/Lato-Bold.ttf</path>
</artifact>
<artifact>
<groupId>lato</groupId>
<artifactId>bold-italic</artifactId>
<extension>ttf</extension>
<classifier>HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c</classifier>
<version>6</version>
<path>/usr/share/fonts/lato/Lato-BoldItalic.ttf</path>
</artifact>
<artifact>
<groupId>lato</groupId>
<artifactId>regular</artifactId>
<extension>ttf</extension>
<classifier>v0SdcGFAl2aezM9Vq_aFTQ</classifier>
<version>6</version>
<path>/usr/share/fonts/lato/Lato-Regular.ttf</path>
</artifact>
<artifact>
<groupId>lato</groupId>
<artifactId>regular-italic</artifactId>
<extension>ttf</extension>
<classifier>LqowQDslGv4DmUBAfWa2Vw</classifier>
<version>6</version>
<path>/usr/share/fonts/lato/Lato-Italic.ttf</path>
</artifact>
<artifact>
<groupId>ubuntumono</groupId>
<artifactId>bold</artifactId>
<extension>ttf</extension>
<classifier>ceqTZGKHipo8pJj4molytp_TkvowlIOtbR7ePgFOpF4</classifier>
<version>3</version>
<path>/usr/share/fonts/liberation/LiberationMono-Bold.ttf</path>
</artifact>
<artifact>
<groupId>ubuntumono</groupId>
<artifactId>bold-italic</artifactId>
<extension>ttf</extension>
<classifier>n_d8tv_JOIiYyMXR4eaV9WsGzsqhEorxQDpu60nfWEc</classifier>
<version>3</version>
<path>/usr/share/fonts/liberation/LiberationMono-BoldItalic.ttf</path>
</artifact>
<artifact>
<groupId>ubuntumono</groupId>
<artifactId>regular</artifactId>
<extension>ttf</extension>
<classifier>ViZhet7Ak-LRXZMXzuAfkZ0EAVxt0G0biEntp43Qt6E</classifier>
<version>3</version>
<path>/usr/share/fonts/liberation/LiberationMono-Regular.ttf</path>
</artifact>
<artifact>
<groupId>ubuntumono</groupId>
<artifactId>regular-italic</artifactId>
<extension>ttf</extension>
<classifier>KAKuHXAHZOeECOWAHsRKA-LrC4Du4e_yfTJ8Ol60xk0</classifier>
<version>3</version>
<path>/usr/share/fonts/liberation/LiberationMono-Italic.ttf</path>
</artifact>
</artifacts>
</metadata>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://fedorahosted.org/xmvn/METADATA/2.0.0">
<artifacts>
<artifact>
<groupId>jquery</groupId>
<artifactId>jquery.min</artifactId>
<extension>js</extension>
<version>2.1.1</version>
<!-- Current build bundles jquery. For now point it to /dev/null to avoid bundling. -->
<!-- <path>/usr/share/javascript/jquery/2/jquery.min.js</path> -->
<path>/dev/null</path>
</artifact>
</artifacts>
</metadata>

29
gradle-launcher.sh Executable file
View File

@ -0,0 +1,29 @@
#!/usr/bin/bash
set -e
ulimit -n $(ulimit -H -n)
# Source system prefs
if [ -f /etc/java/gradle.conf ] ; then
. /etc/java/gradle.conf
fi
# Source user prefs
if [ -f $HOME/.gradlerc ] ; then
. $HOME/.gradlerc
fi
. /usr/share/java-utils/java-functions
set_jvm
set_javacmd
set_classpath gradle/gradle-launcher gradle/gradle-core-api gradle/gradle-core gradle/gradle-base-services
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=gradle"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.launcher.GradleMain "$@"

150
gradle-man.txt Normal file
View File

@ -0,0 +1,150 @@
gradle(1)
=========
:doctype: manpage
:man source: GRADLE
:man manual: Gradle
NAME
----
gradle - build automation tool
SYNOPSIS
--------
*gradle* [option...] [task...]
DESCRIPTION
-----------
Gradle is build automation evolved. Gradle can automate the building,
testing, publishing, deployment and more of software packages or other
types of projects such as generated static websites, generated
documentation or indeed anything else.
Gradle combines the power and flexibility of Ant with the dependency
management and conventions of Maven into a more effective way to
build. Powered by a Groovy DSL and packed with innovation, Gradle
provides a declarative way to describe all kinds of builds through
sensible defaults. Gradle is quickly becoming the build system of
choice for many open source projects, leading edge enterprises and
legacy automation challenges.
OPTIONS
-------
*-?, -h, --help*::
Shows help message.
*-a, --no-rebuild*::
Do not rebuild project dependencies.
*-b, --build-file*::
Specifies the build file.
*-c, --settings-file*::
Specifies the settings file.
*--configure-on-demand*::
Only relevant projects are configured in this build run. This means faster build for large multi-project builds. [incubating]
*--console*::
Specifies which type of console output to generate. Values are *plain*, *auto* (default) or *rich*.
*--continue*::
Continues task execution after a task failure.
*-D, --system-prop*::
Set system property of the JVM (e.g. *-Dmyprop=myvalue*).
*-d, --debug*::
Log in debug mode (includes normal stacktrace).
*--daemon*::
Uses the Gradle daemon to run the build. Starts the daemon if not running.
*--foreground*::
Starts the Gradle daemon in the foreground. [incubating]
*-g, --gradle-user-home*::
Specifies the gradle user home directory.
*--gui*::
Launches the Gradle GUI.
*-I, --init-script*::
Specifies an initialization script.
*-i, --info*::
Set log level to info.
*-m, --dry-run*::
Runs the builds with all task actions disabled.
*--max-workers*::
Configure the number of concurrent workers Gradle is allowed to use. [incubating]
*--no-color*::
Do not use color in the console output. [deprecated - use
*--console=plain* instead]
*--no-daemon*::
Do not use the Gradle daemon to run the build.
*--offline*::
The build should operate without accessing network resources.
*-P, --project-prop*::
Set project property for the build script (e.g. *-Pmyprop=myvalue*).
*-p, --project-dir*::
Specifies the start directory for Gradle. Defaults to current directory.
*--parallel*::
Build projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use. [incubating]
*--parallel-threads*::
Build projects in parallel, using the specified number of executor
threads. [deprecated - Please use *--parallel*, optionally in
conjunction with *--max-workers*.] [incubating]
*--profile*::
Profiles build execution time and generates a report in the
*<build_dir>/reports/profile* directory.
*--project-cache-dir*::
Specifies the project-specific cache directory. Defaults to
*.gradle* in the root project directory.
*-q, --quiet*::
Log errors only.
*--recompile-scripts*::
Force build script recompiling.
*--refresh-dependencies*::
Refresh the state of dependencies.
*--rerun-tasks*::
Ignore previously cached task results.
*-S, --full-stacktrace*::
Print out the full (very verbose) stacktrace for all exceptions.
*-s, --stacktrace*::
Print out the stacktrace for all exceptions.
*--stop*::
Stops the Gradle daemon if it is running.
*-t, --continuous*::
Enables continuous build. Gradle does not exit and will re-execute tasks when task file inputs change. [incubating]
*-u, --no-search-upward*::
Don't search in parent folders for a *settings.gradle* file.
*-v, --version*::
Print version info.
*-x, --exclude-task*::
Specify a task to be excluded from execution.
SEE ALSO
--------
Official documentation: http://gradle.org/documentation/

8
gradle.desktop Normal file
View File

@ -0,0 +1,8 @@
[Desktop Entry]
Name=Gradle
GenericName=Build automation tool
Exec=gradle --gui
Icon=gradle
Terminal=false
Type=Application
Categories=Development;

237
gradle.spec Normal file
View File

@ -0,0 +1,237 @@
Name: gradle
Version: 4.3.1
Release: 10
Summary: Build automation tool
License: ASL 2.0
URL: http://www.gradle.org/
BuildArch: noarch
Source0: http://services.gradle.org/distributions/%{name}-%{version}-src.zip
Source1: http://services.gradle.org/versions/all#/all-released-versions.json
Source2: gradle-font-metadata.xml
Source3: gradle-jquery-metadata.xml
Source4: gradle-launcher.sh
Source5: gradle.desktop
Source6: gradle-man.txt
Patch0001: 0001-Gradle-local-mode.patch
Patch0002: 0002-Remove-Class-Path-from-manifest.patch
Patch0003: 0003-Implement-XMvn-repository-factory-method.patch
Patch0004: 0004-Use-unversioned-dependency-JAR-names.patch
Patch0005: 0005-Port-to-Maven-3.3.9-and-Eclipse-Aether.patch
Patch0006: 0006-Disable-code-quality-checks.patch
Patch0007: 0007-Port-to-Kryo-3.0.patch
Patch0008: 0008-Port-to-Ivy-2.4.0.patch
Patch0009: 0009-Port-to-Polyglot-0.1.8.patch
Patch0010: 0010-Port-from-Simple-4-to-Jetty-9.patch
Patch0011: 0011-Disable-benchmarks.patch
Patch0012: 0012-Disable-patching-of-external-modules.patch
Patch0013: 0013-Add-missing-transitive-dependencies.patch
Patch0014: 0014-Disable-ideNative-module.patch
Patch0015: 0015-Disable-docs-build.patch
Patch0016: 0016-Port-to-guava-20.0.patch
Patch0017: 0017-Set-core-api-source-level-to-8.patch
Patch0018: 0018-Use-HTTPS-for-GoogleAPIs-repository.patch
BuildRequires: gradle-local desktop-file-utils hostname procps-ng asciidoc xmlto
BuildRequires: mvn(antlr:antlr) mvn(biz.aQute.bnd:bndlib)
BuildRequires: mvn(bsh:bsh) mvn(ch.qos.logback:logback-classic)
BuildRequires: mvn(ch.qos.logback:logback-core) mvn(com.amazonaws:aws-java-sdk-core)
BuildRequires: mvn(com.amazonaws:aws-java-sdk-kms) mvn(com.amazonaws:aws-java-sdk-s3)
BuildRequires: mvn(com.beust:jcommander) mvn(com.esotericsoftware.kryo:kryo)
BuildRequires: mvn(com.esotericsoftware:minlog) mvn(com.esotericsoftware:reflectasm)
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-annotations)
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core)
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind)
BuildRequires: mvn(com.google.code.findbugs:findbugs) mvn(com.google.code.findbugs:jsr305)
BuildRequires: mvn(com.google.code.gson:gson) mvn(com.google.guava:guava:20.0)
BuildRequires: mvn(com.google.guava:guava-jdk5:20.0) mvn(com.google.http-client:google-http-client)
BuildRequires: mvn(com.google.oauth-client:google-oauth-client)
BuildRequires: mvn(com.googlecode.jarjar:jarjar) mvn(com.googlecode.jatl:jatl)
BuildRequires: mvn(com.jcraft:jsch) mvn(com.puppycrawl.tools:checkstyle)
BuildRequires: mvn(com.sun:tools) mvn(com.typesafe.zinc:zinc)
BuildRequires: mvn(com.uwyn:jhighlight) mvn(commons-beanutils:commons-beanutils)
BuildRequires: mvn(commons-cli:commons-cli) mvn(commons-codec:commons-codec)
BuildRequires: mvn(commons-collections:commons-collections)
BuildRequires: mvn(commons-configuration:commons-configuration)
BuildRequires: mvn(commons-io:commons-io) mvn(commons-lang:commons-lang)
BuildRequires: mvn(dom4j:dom4j) mvn(javax.inject:javax.inject)
BuildRequires: mvn(javax.servlet:javax.servlet-api) mvn(jaxen:jaxen)
BuildRequires: mvn(jline:jline) mvn(joda-time:joda-time)
BuildRequires: mvn(junit:junit) mvn(net.java.dev.jna:jna)
BuildRequires: mvn(net.jcip:jcip-annotations) mvn(net.rubygrapefruit:native-platform)
BuildRequires: mvn(net.sourceforge.nekohtml:nekohtml) mvn(org.antlr:antlr4-runtime)
BuildRequires: mvn(org.apache.ant:ant) mvn(org.apache.ant:ant-launcher)
BuildRequires: mvn(org.apache.commons:commons-compress)
BuildRequires: mvn(org.apache.commons:commons-lang3) mvn(org.apache.geronimo.specs:geronimo-annotation_1.0_spec)
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
BuildRequires: mvn(org.apache.httpcomponents:httpcore) mvn(org.apache.ivy:ivy)
BuildRequires: mvn(org.apache.maven.wagon:wagon-file) mvn(org.apache.maven.wagon:wagon-http)
BuildRequires: mvn(org.apache.maven.wagon:wagon-http-shared)
BuildRequires: mvn(org.apache.maven.wagon:wagon-provider-api)
BuildRequires: mvn(org.apache.maven:maven-aether-provider)
BuildRequires: mvn(org.apache.maven:maven-artifact) mvn(org.apache.maven:maven-builder-support)
BuildRequires: mvn(org.apache.maven:maven-compat) mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-model) mvn(org.apache.maven:maven-model-builder)
BuildRequires: mvn(org.apache.maven:maven-plugin-api) mvn(org.apache.maven:maven-repository-metadata)
BuildRequires: mvn(org.apache.maven:maven-settings) mvn(org.apache.maven:maven-settings-builder)
BuildRequires: mvn(org.apache.xbean:xbean-reflect) mvn(org.apache:apache:pom:)
BuildRequires: mvn(org.bouncycastle:bcpg-jdk15on) mvn(org.bouncycastle:bcprov-jdk15on)
BuildRequires: mvn(org.codehaus.groovy.modules.http-builder:http-builder)
BuildRequires: mvn(org.codehaus.groovy:groovy-all) mvn(org.codehaus.plexus:plexus-classworlds)
BuildRequires: mvn(org.codehaus.plexus:plexus-component-annotations)
BuildRequires: mvn(org.codehaus.plexus:plexus-interpolation)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils) mvn(org.codenarc:CodeNarc)
BuildRequires: mvn(org.eclipse.aether:aether-api) mvn(org.eclipse.aether:aether-connector-basic)
BuildRequires: mvn(org.eclipse.aether:aether-impl) mvn(org.eclipse.aether:aether-spi)
BuildRequires: mvn(org.eclipse.aether:aether-transport-wagon)
BuildRequires: mvn(org.eclipse.aether:aether-util) mvn(org.eclipse.jdt:core)
BuildRequires: mvn(org.eclipse.jetty:jetty-annotations)
BuildRequires: mvn(org.eclipse.jetty:jetty-jsp) mvn(org.eclipse.jetty:jetty-plus)
BuildRequires: mvn(org.eclipse.jetty:jetty-security) mvn(org.eclipse.jetty:jetty-server)
BuildRequires: mvn(org.eclipse.jetty:jetty-servlet) mvn(org.eclipse.jetty:jetty-util)
BuildRequires: mvn(org.eclipse.jetty:jetty-webapp) mvn(org.eclipse.jetty:jetty-xml)
BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.inject)
BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.plexus)
BuildRequires: mvn(org.fusesource.hawtjni:hawtjni-runtime)
BuildRequires: mvn(org.fusesource.jansi:jansi) mvn(org.fusesource.jansi:jansi-native)
BuildRequires: mvn(org.gmetrics:GMetrics) mvn(org.jsoup:jsoup)
BuildRequires: mvn(org.mozilla:rhino) mvn(org.objenesis:objenesis)
BuildRequires: mvn(org.ow2.asm:asm-all) mvn(org.parboiled:parboiled-core)
BuildRequires: mvn(org.parboiled:parboiled-java) mvn(org.pegdown:pegdown)
BuildRequires: mvn(org.samba.jcifs:jcifs) mvn(org.slf4j:jcl-over-slf4j)
BuildRequires: mvn(org.slf4j:jul-to-slf4j) mvn(org.slf4j:log4j-over-slf4j)
BuildRequires: mvn(org.slf4j:slf4j-api) mvn(org.sonatype.oss:oss-parent:pom:)
BuildRequires: mvn(org.sonatype.plexus:plexus-cipher) mvn(org.sonatype.plexus:plexus-sec-dispatcher)
BuildRequires: mvn(org.sonatype.pmaven:pmaven-common) mvn(org.sonatype.pmaven:pmaven-groovy)
BuildRequires: mvn(org.testng:testng) mvn(xerces:xercesImpl)
BuildRequires: mvn(xml-apis:xml-apis)
BuildRequires: lato-fonts liberation-mono-fonts js-jquery
Requires: javapackages-tools hicolor-icon-theme java-devel
Requires: ant-lib apache-commons-cli apache-commons-codec apache-commons-collections
Requires: apache-commons-compress apache-commons-io apache-commons-lang apache-commons-lang3
Requires: apache-ivy aqute-bndlib atinject aws-sdk-java-core aws-sdk-java-kms aws-sdk-java-s3
Requires: base64coder beust-jcommander bouncycastle bouncycastle-pg ecj glassfish-servlet-api
Requires: google-gson google-guice groovy-lib guava20 hawtjni-runtime httpcomponents-client
Requires: httpcomponents-core jackson-annotations jackson-core jackson-databind jansi
Requires: jansi-native jatl jcifs jcip-annotations jcl-over-slf4j jetty-server jetty-util
Requires: joda-time jsch jsr-305 jul-to-slf4j junit kryo maven-lib log4j-over-slf4j
Requires: maven-resolver-api maven-resolver-connector-basic maven-resolver-impl maven-resolver-spi
Requires: maven-resolver-transport-wagon maven-resolver-util maven-wagon-file maven-wagon-http
Requires: maven-wagon-http-shared maven-wagon-provider-api minlog native-platform
Requires: nekohtml objectweb-asm objenesis plexus-cipher plexus-classworlds
Requires: plexus-interpolation plexus-sec-dispatcher plexus-utils reflectasm rhino sisu-inject
Requires: sisu-plexus slf4j snakeyaml tesla-polyglot-common tesla-polyglot-groovy
Requires: testng xbean xerces-j2 xml-commons-apis
%description
Gradle is build automation evolved,which can automate the building, testing, publishing,
deployment and more of software packages.
Gradle combines the power and flexibility of Ant with the dependency management and conventions
of Maven into a more effective way to build. Powered by a Groovy DSL and packed with innovation,
Gradle provides a declarative way to describe all kinds of builds through sensible defaults.
Gradle is quickly becoming the build system of choice for many open source projects,
leading edge enterprises and legacy automation challenges.
%package help
Summary: Help documentation of gradle package
Requires: %{name} = %{version}-%{release}
%description help
Help documentation of gradle package.
%prep
%autosetup -n %{name}-%{version} -p1
rm -rf gradle/wrapper/subprojects/diagnostics/src/main/resources/org/gradle/api/tasks/diagnostics/htmldependencyreport/jquery.jstree.js
install -d build
cp %{SOURCE1} build/all-released-versions.json
rm -rf buildSrc/src/main/groovy/org/gradle/binarycompatibility \
buildSrc/src/main/groovy/org/gradle/build/docs/CacheableAsciidoctorTask.groovy
%mvn_config resolverSettings/metadataRepositories/repository %{SOURCE2}
%mvn_config resolverSettings/metadataRepositories/repository %{SOURCE3}
rm -rf buildSrc/src/test
sed -i 's/"-Werror" <<//' gradle/strictCompile.gradle
removeProject() { sed -i "/'$1'/d" settings.gradle;sed -i "s/'$1',\?//" build.gradle;}
removeProject resourcesGcs
rm -r subprojects/resources-gcs subprojects/ide-native
%build
rm gradle.properties
gradle-local --offline --no-daemon install xmvnInstall -Pgradle_installPath=$PWD/inst \
-PfinalRelease -Dbuild.number="%{version}-%{release}"
install -d man
asciidoc -b docbook -d manpage -o man/gradle.xml %{SOURCE6}
xmlto man man/gradle.xml -o man
%install
install -d -m 755 %{buildroot}%{_javadir}/gradle/
cp subprojects/distributions/src/toplevel/NOTICE .
cp subprojects/docs/src/samples/application/src/dist/LICENSE .
rm -rf inst/bin/gradle.bat inst/media
ln -sf %{_bindir}/gradle inst/bin/gradle
find inst/lib -type f -name 'gradle*' | sed 's:.*/\(gradle-.*\)-%{version}.*:ln -sf %{_javadir}/gradle/\1.jar &:' | bash -x
ln -sf $(build-classpath ecj) inst/lib/plugins/ecj.jar
xmvn-subst -s $(find inst/lib -type f)
ln -s `find-jar commons-lang` inst/lib/
cp -a inst %{buildroot}%{_datadir}/gradle
%mvn_install
install -d -m 755 %{buildroot}%{_bindir}/
install -p -m 755 %{SOURCE4} %{buildroot}%{_bindir}/gradle
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE5}
install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/
install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/
install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/
install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/
install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/
install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/
install -p -m 644 subprojects/distributions/src/toplevel/media/gradle-icon-16x16.png \
%{buildroot}%{_datadir}/icons/hicolor/16x16/apps/gradle.png
install -p -m 644 subprojects/distributions/src/toplevel/media/gradle-icon-24x24.png \
%{buildroot}%{_datadir}/icons/hicolor/24x24/apps/gradle.png
install -p -m 644 subprojects/distributions/src/toplevel/media/gradle-icon-32x32.png \
%{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gradle.png
install -p -m 644 subprojects/distributions/src/toplevel/media/gradle-icon-48x48.png \
%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gradle.png
install -p -m 644 subprojects/distributions/src/toplevel/media/gradle-icon-64x64.png \
%{buildroot}%{_datadir}/icons/hicolor/64x64/apps/gradle.png
install -p -m 644 subprojects/distributions/src/toplevel/media/gradle-icon-128x128.png \
%{buildroot}%{_datadir}/icons/hicolor/128x128/apps/gradle.png
install -p -m 644 subprojects/distributions/src/toplevel/media/gradle-icon-256x256.png \
%{buildroot}%{_datadir}/icons/hicolor/256x256/apps/gradle.png
install -d -m 755 %{buildroot}%{_mandir}/man1/
install -p -m 644 man/gradle.1 %{buildroot}%{_mandir}/man1/gradle.1
%files -f .mfiles
%license NOTICE LICENSE
%{_bindir}/gradle
%{_datadir}/gradle
%{_datadir}/applications/gradle.desktop
%{_datadir}/icons/hicolor/*/apps/gradle.png
%files help
%{_mandir}/man1/gradle.1*
%changelog
* Fri Dec 13 2019 daiqianwen <daiqianwen@huawei.com> - 4.3.1-10
- Package init