Skip to content

Commit

Permalink
[7.x] [Gradle] Remove jitpack repository usage (#119053)
Browse files Browse the repository at this point in the history
Jitpack repository service is causing http errors resolving artifacts
and we should not need it anyhow atm
  • Loading branch information
breskeby authored Dec 19, 2024
1 parent 97ffa5b commit fa2883d
Show file tree
Hide file tree
Showing 15 changed files with 159 additions and 74 deletions.
7 changes: 0 additions & 7 deletions build-conventions/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ import org.gradle.plugins.ide.eclipse.model.SourceFolder

buildscript {
repositories {
maven {
url 'https://jitpack.io'
}
mavenCentral()
}
}
Expand Down Expand Up @@ -68,10 +65,6 @@ gradlePlugin {
}

repositories {
maven {
url 'https://jitpack.io'
}

mavenCentral()
gradlePluginPortal()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -64,6 +68,7 @@ public void apply(Project project) {
configureSourcesJar(project);
configurePomGeneration(project);
configurePublications(project);
formatGeneratedPom(project);
}

private void configurePublications(Project project) {
Expand Down Expand Up @@ -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);
}
}
}
3 changes: 0 additions & 3 deletions build-tools-internal/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -218,9 +218,6 @@ tasks.named('licenseHeaders').configure {
*****************************************************************************/

repositories {
maven {
url 'https://jitpack.io'
}
mavenCentral()
gradlePluginPortal()
}
Expand Down
3 changes: 0 additions & 3 deletions build-tools-internal/settings.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
pluginManagement {
repositories {
maven {
url 'https://jitpack.io'
}
mavenCentral()
gradlePluginPortal()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -68,24 +68,24 @@ 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')
}
"""
classFile('org.acme.depending.SomeDepending') << """
package org.acme.depending;
import org.acme.Something;
public class SomeDepending {
public Something createSomething() {
return new Something();
Expand All @@ -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();
Expand All @@ -114,7 +114,7 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
"""
classFile('org.acme.shadowed.Shadowed') << """
package org.acme.shadowed;
public class Shadowed {
}
"""
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -196,7 +196,7 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {

classFile('org.acme.Something') << """
package org.acme;
public class Something {
}
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
id 'elasticsearch.java'
id 'elasticsearch.publish'
}
version = "1.0"
group = 'org.acme'
description = "custom project description"
Expand Down Expand Up @@ -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'
Expand All @@ -107,8 +107,8 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
}
}
version = "1.0"
group = 'org.acme'
description = 'some description'
group = 'org.acme'
description = 'some description'
"""

when:
Expand Down Expand Up @@ -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 {
Expand All @@ -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:
Expand Down Expand Up @@ -258,29 +258,29 @@ 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 {
url = "\$buildDir/repo"
}
}
}
// 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:
Expand Down Expand Up @@ -329,7 +329,6 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
<url>https://www.elastic.co</url>
</developer>
</developers>
<dependencies/>
</project>"""
)
}
Expand All @@ -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:
Expand Down Expand Up @@ -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'])
"""

Expand Down
6 changes: 0 additions & 6 deletions build-tools/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@

buildscript {
repositories {
maven {
url 'https://jitpack.io'
}
mavenCentral()
}
}
Expand Down Expand Up @@ -116,9 +113,6 @@ configurations {
}

repositories {
maven {
url 'https://jitpack.io'
}
mavenCentral()
gradlePluginPortal()
}
Expand Down
4 changes: 0 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING

buildscript {
repositories {
maven {
url 'https://jitpack.io'
}

mavenCentral()
}
}
Expand Down
2 changes: 1 addition & 1 deletion gradle/build.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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" }
Expand Down
Loading

0 comments on commit fa2883d

Please sign in to comment.