diff --git a/build-conventions/build.gradle b/build-conventions/build.gradle
index 32fedb22b0868..1283ecd78360f 100644
--- a/build-conventions/build.gradle
+++ b/build-conventions/build.gradle
@@ -11,9 +11,6 @@ import org.gradle.plugins.ide.eclipse.model.SourceFolder
buildscript {
repositories {
- maven {
- url 'https://jitpack.io'
- }
mavenCentral()
}
}
@@ -68,10 +65,6 @@ gradlePlugin {
}
repositories {
- maven {
- url 'https://jitpack.io'
- }
-
mavenCentral()
gradlePluginPortal()
}
diff --git a/build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/PublishPlugin.java b/build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/PublishPlugin.java
index d5244a8143fa3..66ee72da19633 100644
--- a/build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/PublishPlugin.java
+++ b/build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/PublishPlugin.java
@@ -8,10 +8,13 @@
package org.elasticsearch.gradle.internal.conventions;
-import org.elasticsearch.gradle.internal.conventions.precommit.PomValidationPrecommitPlugin;
+import groovy.util.Node;
+
import com.github.jengelman.gradle.plugins.shadow.ShadowExtension;
import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin;
-import groovy.util.Node;
+
+import org.elasticsearch.gradle.internal.conventions.info.GitInfo;
+import org.elasticsearch.gradle.internal.conventions.precommit.PomValidationPrecommitPlugin;
import org.elasticsearch.gradle.internal.conventions.util.Util;
import org.elasticsearch.gradle.internal.conventions.info.GitInfo;
import org.gradle.api.NamedDomainObjectSet;
@@ -35,6 +38,7 @@
import org.gradle.api.tasks.bundling.Jar;
import org.gradle.initialization.layout.BuildLayout;
import org.gradle.language.base.plugins.LifecycleBasePlugin;
+import org.w3c.dom.Element;
import javax.inject.Inject;
import java.io.File;
@@ -64,6 +68,7 @@ public void apply(Project project) {
configureSourcesJar(project);
configurePomGeneration(project);
configurePublications(project);
+ formatGeneratedPom(project);
}
private void configurePublications(Project project) {
@@ -187,4 +192,31 @@ static void configureSourcesJar(Project project) {
project.getTasks().named(BasePlugin.ASSEMBLE_TASK_NAME).configure(t -> t.dependsOn(sourcesJarTask));
});
}
+
+ /**
+ * Format the generated pom files to be in a sort of reproducible order.
+ */
+ private void formatGeneratedPom(Project project) {
+ var publishing = project.getExtensions().getByType(PublishingExtension.class);
+ final var mavenPublications = publishing.getPublications().withType(MavenPublication.class);
+ mavenPublications.configureEach(publication -> {
+ publication.getPom().withXml(xml -> {
+ // Add some pom formatting
+ formatDependencies(xml);
+ });
+ });
+ }
+
+ /**
+ * just ensure we put dependencies to the end. more a cosmetic thing than anything else
+ * */
+ private void formatDependencies(XmlProvider xml) {
+ Element rootElement = xml.asElement();
+ var dependencies = rootElement.getElementsByTagName("dependencies");
+ if (dependencies.getLength() == 1 && dependencies.item(0) != null) {
+ org.w3c.dom.Node item = dependencies.item(0);
+ rootElement.removeChild(item);
+ rootElement.appendChild(item);
+ }
+ }
}
diff --git a/build-tools-internal/build.gradle b/build-tools-internal/build.gradle
index b787454d50a0c..cd521bfa84270 100644
--- a/build-tools-internal/build.gradle
+++ b/build-tools-internal/build.gradle
@@ -218,9 +218,6 @@ tasks.named('licenseHeaders').configure {
*****************************************************************************/
repositories {
- maven {
- url 'https://jitpack.io'
- }
mavenCentral()
gradlePluginPortal()
}
diff --git a/build-tools-internal/settings.gradle b/build-tools-internal/settings.gradle
index 1b4fb1215a59d..8c88d36046768 100644
--- a/build-tools-internal/settings.gradle
+++ b/build-tools-internal/settings.gradle
@@ -1,8 +1,5 @@
pluginManagement {
repositories {
- maven {
- url 'https://jitpack.io'
- }
mavenCentral()
gradlePluginPortal()
}
diff --git a/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/ElasticsearchJavadocPluginFuncTest.groovy b/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/ElasticsearchJavadocPluginFuncTest.groovy
index f5c4b5bf3db24..8752b9eed4a48 100644
--- a/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/ElasticsearchJavadocPluginFuncTest.groovy
+++ b/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/ElasticsearchJavadocPluginFuncTest.groovy
@@ -19,22 +19,22 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
given:
someLibProject()
subProject("some-depending-lib") {
- buildFile << """
+ buildFile << """
plugins {
id 'elasticsearch.java-doc'
id 'java'
}
group = 'org.acme.depending'
-
+
dependencies {
implementation project(':some-lib')
}
"""
classFile('org.acme.depending.SomeDepending') << """
package org.acme.depending;
-
+
import org.acme.Something;
-
+
public class SomeDepending {
public Something createSomething() {
return new Something();
@@ -68,14 +68,14 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
given:
someLibProject() << """version = 1.0"""
subProject("some-depending-lib") {
- buildFile << """
+ buildFile << """
plugins {
id 'elasticsearch.java-doc'
- id 'com.github.johnrengelman.shadow' version '7.1.2'
+ id 'com.gradleup.shadow'
id 'java'
}
group = 'org.acme.depending'
-
+
dependencies {
implementation project(':some-lib')
shadow project(':some-shadowed-lib')
@@ -83,9 +83,9 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
"""
classFile('org.acme.depending.SomeDepending') << """
package org.acme.depending;
-
+
import org.acme.Something;
-
+
public class SomeDepending {
public Something createSomething() {
return new Something();
@@ -94,9 +94,9 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
"""
classFile('org.acme.depending.SomeShadowedDepending') << """
package org.acme.depending;
-
+
import org.acme.shadowed.Shadowed;
-
+
public class SomeShadowedDepending {
public Shadowed createShadowed() {
return new Shadowed();
@@ -114,7 +114,7 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
"""
classFile('org.acme.shadowed.Shadowed') << """
package org.acme.shadowed;
-
+
public class Shadowed {
}
"""
@@ -145,22 +145,22 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
tasks.named("javadoc").configure { enabled = false }
"""
subProject("some-depending-lib") {
- buildFile << """
+ buildFile << """
plugins {
id 'elasticsearch.java-doc'
id 'java'
}
group = 'org.acme.depending'
-
+
dependencies {
implementation project(':some-lib')
}
"""
classFile('org.acme.depending.SomeDepending') << """
package org.acme.depending;
-
+
import org.acme.Something;
-
+
public class SomeDepending {
public Something createSomething() {
return new Something();
@@ -196,7 +196,7 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
classFile('org.acme.Something') << """
package org.acme;
-
+
public class Something {
}
"""
diff --git a/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/PublishPluginFuncTest.groovy b/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/PublishPluginFuncTest.groovy
index 12d0ce41e105e..74b6fbe051e86 100644
--- a/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/PublishPluginFuncTest.groovy
+++ b/build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/PublishPluginFuncTest.groovy
@@ -26,7 +26,7 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
id 'elasticsearch.java'
id 'elasticsearch.publish'
}
-
+
version = "1.0"
group = 'org.acme'
description = "custom project description"
@@ -87,13 +87,13 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
plugins {
id 'elasticsearch.java'
id 'elasticsearch.publish'
- id 'com.github.johnrengelman.shadow'
+ id 'com.gradleup.shadow'
}
-
+
repositories {
mavenCentral()
}
-
+
dependencies {
implementation 'org.slf4j:log4j-over-slf4j:1.7.30'
shadow 'org.slf4j:slf4j-api:1.7.30'
@@ -107,8 +107,8 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
}
}
version = "1.0"
- group = 'org.acme'
- description = 'some description'
+ group = 'org.acme'
+ description = 'some description'
"""
when:
@@ -172,11 +172,11 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
plugins {
id 'elasticsearch.java'
id 'elasticsearch.publish'
- id 'com.github.johnrengelman.shadow'
+ id 'com.gradleup.shadow'
}
dependencies {
- shadow project(":someLib")
+ shadow project(":someLib")
}
publishing {
repositories {
@@ -189,10 +189,10 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
allprojects {
apply plugin: 'elasticsearch.java'
version = "1.0"
- group = 'org.acme'
+ group = 'org.acme'
}
- description = 'some description'
+ description = 'some description'
"""
when:
@@ -258,15 +258,15 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
plugins {
id 'elasticsearch.internal-es-plugin'
id 'elasticsearch.publish'
- id 'com.github.johnrengelman.shadow'
+ id 'com.gradleup.shadow'
}
-
+
esplugin {
name = 'hello-world-plugin'
classname 'org.acme.HelloWorldPlugin'
description = "custom project description"
}
-
+
publishing {
repositories {
maven {
@@ -274,13 +274,13 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
}
}
}
-
+
// requires elasticsearch artifact available
tasks.named('bundlePlugin').configure { enabled = false }
licenseFile.set(file('license.txt'))
noticeFile.set(file('notice.txt'))
version = "1.0"
- group = 'org.acme'
+ group = 'org.acme'
"""
when:
@@ -329,7 +329,6 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
https://www.elastic.co
-
"""
)
}
@@ -345,19 +344,19 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
id 'elasticsearch.internal-es-plugin'
id 'elasticsearch.publish'
}
-
+
esplugin {
name = 'hello-world-plugin'
classname 'org.acme.HelloWorldPlugin'
description = "custom project description"
}
-
+
// requires elasticsearch artifact available
tasks.named('bundlePlugin').configure { enabled = false }
licenseFile.set(file('license.txt'))
noticeFile.set(file('notice.txt'))
version = "2.0"
- group = 'org.acme'
+ group = 'org.acme'
"""
when:
@@ -417,9 +416,9 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
apply plugin:'elasticsearch.publish'
version = "1.0"
- group = 'org.acme'
+ group = 'org.acme'
description = "just a test project"
-
+
ext.projectLicenses.set(['The Apache Software License, Version 2.0': 'http://www.apache.org/licenses/LICENSE-2.0'])
"""
diff --git a/build-tools/build.gradle b/build-tools/build.gradle
index 98fa8bb32ec82..068ac129ce052 100644
--- a/build-tools/build.gradle
+++ b/build-tools/build.gradle
@@ -8,9 +8,6 @@
buildscript {
repositories {
- maven {
- url 'https://jitpack.io'
- }
mavenCentral()
}
}
@@ -116,9 +113,6 @@ configurations {
}
repositories {
- maven {
- url 'https://jitpack.io'
- }
mavenCentral()
gradlePluginPortal()
}
diff --git a/build.gradle b/build.gradle
index e8b302153a46b..3d2148480a4b6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -35,10 +35,6 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING
buildscript {
repositories {
- maven {
- url 'https://jitpack.io'
- }
-
mavenCentral()
}
}
diff --git a/gradle/build.versions.toml b/gradle/build.versions.toml
index ac02ae4aec073..185531d163674 100644
--- a/gradle/build.versions.toml
+++ b/gradle/build.versions.toml
@@ -34,7 +34,7 @@ maven-model = "org.apache.maven:maven-model:3.6.2"
mockito-core = "org.mockito:mockito-core:1.9.5"
nebula-info = "com.netflix.nebula:gradle-info-plugin:11.3.3"
reflections = "org.reflections:reflections:0.9.12"
-shadow-plugin = "com.github.breskeby:shadow:3b035f2"
+shadow-plugin = "com.gradleup.shadow:shadow-gradle-plugin:8.3.5"
spock-core = { group = "org.spockframework", name="spock-core", version.ref="spock" }
spock-junit4 = { group = "org.spockframework", name="spock-junit4", version.ref="spock" }
spock-platform = { group = "org.spockframework", name="spock-bom", version.ref="spock" }
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index fda06179ced6d..0abc67f7aadd9 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -419,6 +419,11 @@
+
+
+
+
+
@@ -904,14 +909,19 @@
+
+
+
+
+
-
-
-
+
+
+
@@ -1309,6 +1319,11 @@
+
+
+
+
+
@@ -2130,6 +2145,11 @@
+
+
+
+
+
@@ -2145,6 +2165,11 @@
+
+
+
+
+
@@ -2963,6 +2988,11 @@
+
+
+
+
+
@@ -2973,6 +3003,11 @@
+
+
+
+
+
@@ -3103,6 +3138,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -3158,6 +3203,11 @@
+
+
+
+
+
@@ -3486,6 +3536,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -4316,6 +4376,11 @@
+
+
+
+
+
@@ -4366,6 +4431,11 @@
+
+
+
+
+
@@ -4406,6 +4476,11 @@
+
+
+
+
+
@@ -4571,6 +4646,11 @@
+
+
+
+
+
diff --git a/plugins/repository-hdfs/hadoop-client-api/build.gradle b/plugins/repository-hdfs/hadoop-client-api/build.gradle
index 4ac6f79530fcb..24e4213780fe2 100644
--- a/plugins/repository-hdfs/hadoop-client-api/build.gradle
+++ b/plugins/repository-hdfs/hadoop-client-api/build.gradle
@@ -1,5 +1,5 @@
apply plugin: 'elasticsearch.build'
-apply plugin: 'com.github.johnrengelman.shadow'
+apply plugin: 'com.gradleup.shadow'
dependencies {
implementation "org.apache.hadoop:hadoop-client-api:${project.parent.versions.hadoop}"
diff --git a/settings.gradle b/settings.gradle
index 2b0c134e60e5f..8f1d03bdc0cb8 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,9 +4,6 @@ import org.elasticsearch.gradle.internal.toolchain.AdoptiumJdkToolchainResolver
pluginManagement {
repositories {
- maven {
- url 'https://jitpack.io'
- }
mavenCentral()
gradlePluginPortal()
}
diff --git a/test/test-clusters/build.gradle b/test/test-clusters/build.gradle
index 57bed37effeec..c0c9cd32b15ab 100644
--- a/test/test-clusters/build.gradle
+++ b/test/test-clusters/build.gradle
@@ -1,5 +1,5 @@
apply plugin: 'elasticsearch.java'
-apply plugin: 'com.github.johnrengelman.shadow'
+apply plugin: 'com.gradleup.shadow'
dependencies {
shadow("junit:junit:${versions.junit}") {
diff --git a/x-pack/plugin/sql/jdbc/build.gradle b/x-pack/plugin/sql/jdbc/build.gradle
index 154e7f80a34f6..c1cde00cbe106 100644
--- a/x-pack/plugin/sql/jdbc/build.gradle
+++ b/x-pack/plugin/sql/jdbc/build.gradle
@@ -1,6 +1,6 @@
apply plugin: 'elasticsearch.build'
apply plugin: 'elasticsearch.publish'
-apply plugin: 'com.github.johnrengelman.shadow'
+apply plugin: 'com.gradleup.shadow'
description = 'JDBC driver for Elasticsearch'
diff --git a/x-pack/plugin/sql/sql-cli/build.gradle b/x-pack/plugin/sql/sql-cli/build.gradle
index 3ef764adcc29c..78251d83f43f6 100644
--- a/x-pack/plugin/sql/sql-cli/build.gradle
+++ b/x-pack/plugin/sql/sql-cli/build.gradle
@@ -8,7 +8,7 @@ import org.elasticsearch.gradle.internal.info.BuildParams
*/
apply plugin: 'elasticsearch.build'
-apply plugin: 'com.github.johnrengelman.shadow'
+apply plugin: 'com.gradleup.shadow'
/* We don't use the 'application' plugin because it builds a zip and tgz which
* we don't want. */