Skip to content

Commit fa2883d

Browse files
authored
[7.x] [Gradle] Remove jitpack repository usage (#119053)
Jitpack repository service is causing http errors resolving artifacts and we should not need it anyhow atm
1 parent 97ffa5b commit fa2883d

File tree

15 files changed

+159
-74
lines changed

15 files changed

+159
-74
lines changed

build-conventions/build.gradle

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ import org.gradle.plugins.ide.eclipse.model.SourceFolder
1111

1212
buildscript {
1313
repositories {
14-
maven {
15-
url 'https://jitpack.io'
16-
}
1714
mavenCentral()
1815
}
1916
}
@@ -68,10 +65,6 @@ gradlePlugin {
6865
}
6966

7067
repositories {
71-
maven {
72-
url 'https://jitpack.io'
73-
}
74-
7568
mavenCentral()
7669
gradlePluginPortal()
7770
}

build-conventions/src/main/java/org/elasticsearch/gradle/internal/conventions/PublishPlugin.java

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@
88

99
package org.elasticsearch.gradle.internal.conventions;
1010

11-
import org.elasticsearch.gradle.internal.conventions.precommit.PomValidationPrecommitPlugin;
11+
import groovy.util.Node;
12+
1213
import com.github.jengelman.gradle.plugins.shadow.ShadowExtension;
1314
import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin;
14-
import groovy.util.Node;
15+
16+
import org.elasticsearch.gradle.internal.conventions.info.GitInfo;
17+
import org.elasticsearch.gradle.internal.conventions.precommit.PomValidationPrecommitPlugin;
1518
import org.elasticsearch.gradle.internal.conventions.util.Util;
1619
import org.elasticsearch.gradle.internal.conventions.info.GitInfo;
1720
import org.gradle.api.NamedDomainObjectSet;
@@ -35,6 +38,7 @@
3538
import org.gradle.api.tasks.bundling.Jar;
3639
import org.gradle.initialization.layout.BuildLayout;
3740
import org.gradle.language.base.plugins.LifecycleBasePlugin;
41+
import org.w3c.dom.Element;
3842

3943
import javax.inject.Inject;
4044
import java.io.File;
@@ -64,6 +68,7 @@ public void apply(Project project) {
6468
configureSourcesJar(project);
6569
configurePomGeneration(project);
6670
configurePublications(project);
71+
formatGeneratedPom(project);
6772
}
6873

6974
private void configurePublications(Project project) {
@@ -187,4 +192,31 @@ static void configureSourcesJar(Project project) {
187192
project.getTasks().named(BasePlugin.ASSEMBLE_TASK_NAME).configure(t -> t.dependsOn(sourcesJarTask));
188193
});
189194
}
195+
196+
/**
197+
* Format the generated pom files to be in a sort of reproducible order.
198+
*/
199+
private void formatGeneratedPom(Project project) {
200+
var publishing = project.getExtensions().getByType(PublishingExtension.class);
201+
final var mavenPublications = publishing.getPublications().withType(MavenPublication.class);
202+
mavenPublications.configureEach(publication -> {
203+
publication.getPom().withXml(xml -> {
204+
// Add some pom formatting
205+
formatDependencies(xml);
206+
});
207+
});
208+
}
209+
210+
/**
211+
* just ensure we put dependencies to the end. more a cosmetic thing than anything else
212+
* */
213+
private void formatDependencies(XmlProvider xml) {
214+
Element rootElement = xml.asElement();
215+
var dependencies = rootElement.getElementsByTagName("dependencies");
216+
if (dependencies.getLength() == 1 && dependencies.item(0) != null) {
217+
org.w3c.dom.Node item = dependencies.item(0);
218+
rootElement.removeChild(item);
219+
rootElement.appendChild(item);
220+
}
221+
}
190222
}

build-tools-internal/build.gradle

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,6 @@ tasks.named('licenseHeaders').configure {
218218
*****************************************************************************/
219219

220220
repositories {
221-
maven {
222-
url 'https://jitpack.io'
223-
}
224221
mavenCentral()
225222
gradlePluginPortal()
226223
}

build-tools-internal/settings.gradle

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
pluginManagement {
22
repositories {
3-
maven {
4-
url 'https://jitpack.io'
5-
}
63
mavenCentral()
74
gradlePluginPortal()
85
}

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/ElasticsearchJavadocPluginFuncTest.groovy

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,22 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
1919
given:
2020
someLibProject()
2121
subProject("some-depending-lib") {
22-
buildFile << """
22+
buildFile << """
2323
plugins {
2424
id 'elasticsearch.java-doc'
2525
id 'java'
2626
}
2727
group = 'org.acme.depending'
28-
28+
2929
dependencies {
3030
implementation project(':some-lib')
3131
}
3232
"""
3333
classFile('org.acme.depending.SomeDepending') << """
3434
package org.acme.depending;
35-
35+
3636
import org.acme.Something;
37-
37+
3838
public class SomeDepending {
3939
public Something createSomething() {
4040
return new Something();
@@ -68,24 +68,24 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
6868
given:
6969
someLibProject() << """version = 1.0"""
7070
subProject("some-depending-lib") {
71-
buildFile << """
71+
buildFile << """
7272
plugins {
7373
id 'elasticsearch.java-doc'
74-
id 'com.github.johnrengelman.shadow' version '7.1.2'
74+
id 'com.gradleup.shadow'
7575
id 'java'
7676
}
7777
group = 'org.acme.depending'
78-
78+
7979
dependencies {
8080
implementation project(':some-lib')
8181
shadow project(':some-shadowed-lib')
8282
}
8383
"""
8484
classFile('org.acme.depending.SomeDepending') << """
8585
package org.acme.depending;
86-
86+
8787
import org.acme.Something;
88-
88+
8989
public class SomeDepending {
9090
public Something createSomething() {
9191
return new Something();
@@ -94,9 +94,9 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
9494
"""
9595
classFile('org.acme.depending.SomeShadowedDepending') << """
9696
package org.acme.depending;
97-
97+
9898
import org.acme.shadowed.Shadowed;
99-
99+
100100
public class SomeShadowedDepending {
101101
public Shadowed createShadowed() {
102102
return new Shadowed();
@@ -114,7 +114,7 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
114114
"""
115115
classFile('org.acme.shadowed.Shadowed') << """
116116
package org.acme.shadowed;
117-
117+
118118
public class Shadowed {
119119
}
120120
"""
@@ -145,22 +145,22 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
145145
tasks.named("javadoc").configure { enabled = false }
146146
"""
147147
subProject("some-depending-lib") {
148-
buildFile << """
148+
buildFile << """
149149
plugins {
150150
id 'elasticsearch.java-doc'
151151
id 'java'
152152
}
153153
group = 'org.acme.depending'
154-
154+
155155
dependencies {
156156
implementation project(':some-lib')
157157
}
158158
"""
159159
classFile('org.acme.depending.SomeDepending') << """
160160
package org.acme.depending;
161-
161+
162162
import org.acme.Something;
163-
163+
164164
public class SomeDepending {
165165
public Something createSomething() {
166166
return new Something();
@@ -196,7 +196,7 @@ class ElasticsearchJavadocPluginFuncTest extends AbstractGradleFuncTest {
196196

197197
classFile('org.acme.Something') << """
198198
package org.acme;
199-
199+
200200
public class Something {
201201
}
202202
"""

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/PublishPluginFuncTest.groovy

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
2626
id 'elasticsearch.java'
2727
id 'elasticsearch.publish'
2828
}
29-
29+
3030
version = "1.0"
3131
group = 'org.acme'
3232
description = "custom project description"
@@ -87,13 +87,13 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
8787
plugins {
8888
id 'elasticsearch.java'
8989
id 'elasticsearch.publish'
90-
id 'com.github.johnrengelman.shadow'
90+
id 'com.gradleup.shadow'
9191
}
92-
92+
9393
repositories {
9494
mavenCentral()
9595
}
96-
96+
9797
dependencies {
9898
implementation 'org.slf4j:log4j-over-slf4j:1.7.30'
9999
shadow 'org.slf4j:slf4j-api:1.7.30'
@@ -107,8 +107,8 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
107107
}
108108
}
109109
version = "1.0"
110-
group = 'org.acme'
111-
description = 'some description'
110+
group = 'org.acme'
111+
description = 'some description'
112112
"""
113113

114114
when:
@@ -172,11 +172,11 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
172172
plugins {
173173
id 'elasticsearch.java'
174174
id 'elasticsearch.publish'
175-
id 'com.github.johnrengelman.shadow'
175+
id 'com.gradleup.shadow'
176176
}
177177
178178
dependencies {
179-
shadow project(":someLib")
179+
shadow project(":someLib")
180180
}
181181
publishing {
182182
repositories {
@@ -189,10 +189,10 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
189189
allprojects {
190190
apply plugin: 'elasticsearch.java'
191191
version = "1.0"
192-
group = 'org.acme'
192+
group = 'org.acme'
193193
}
194194
195-
description = 'some description'
195+
description = 'some description'
196196
"""
197197

198198
when:
@@ -258,29 +258,29 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
258258
plugins {
259259
id 'elasticsearch.internal-es-plugin'
260260
id 'elasticsearch.publish'
261-
id 'com.github.johnrengelman.shadow'
261+
id 'com.gradleup.shadow'
262262
}
263-
263+
264264
esplugin {
265265
name = 'hello-world-plugin'
266266
classname 'org.acme.HelloWorldPlugin'
267267
description = "custom project description"
268268
}
269-
269+
270270
publishing {
271271
repositories {
272272
maven {
273273
url = "\$buildDir/repo"
274274
}
275275
}
276276
}
277-
277+
278278
// requires elasticsearch artifact available
279279
tasks.named('bundlePlugin').configure { enabled = false }
280280
licenseFile.set(file('license.txt'))
281281
noticeFile.set(file('notice.txt'))
282282
version = "1.0"
283-
group = 'org.acme'
283+
group = 'org.acme'
284284
"""
285285

286286
when:
@@ -329,7 +329,6 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
329329
<url>https://www.elastic.co</url>
330330
</developer>
331331
</developers>
332-
<dependencies/>
333332
</project>"""
334333
)
335334
}
@@ -345,19 +344,19 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
345344
id 'elasticsearch.internal-es-plugin'
346345
id 'elasticsearch.publish'
347346
}
348-
347+
349348
esplugin {
350349
name = 'hello-world-plugin'
351350
classname 'org.acme.HelloWorldPlugin'
352351
description = "custom project description"
353352
}
354-
353+
355354
// requires elasticsearch artifact available
356355
tasks.named('bundlePlugin').configure { enabled = false }
357356
licenseFile.set(file('license.txt'))
358357
noticeFile.set(file('notice.txt'))
359358
version = "2.0"
360-
group = 'org.acme'
359+
group = 'org.acme'
361360
"""
362361

363362
when:
@@ -417,9 +416,9 @@ class PublishPluginFuncTest extends AbstractGradleFuncTest {
417416
apply plugin:'elasticsearch.publish'
418417
419418
version = "1.0"
420-
group = 'org.acme'
419+
group = 'org.acme'
421420
description = "just a test project"
422-
421+
423422
ext.projectLicenses.set(['The Apache Software License, Version 2.0': 'http://www.apache.org/licenses/LICENSE-2.0'])
424423
"""
425424

build-tools/build.gradle

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88

99
buildscript {
1010
repositories {
11-
maven {
12-
url 'https://jitpack.io'
13-
}
1411
mavenCentral()
1512
}
1613
}
@@ -116,9 +113,6 @@ configurations {
116113
}
117114

118115
repositories {
119-
maven {
120-
url 'https://jitpack.io'
121-
}
122116
mavenCentral()
123117
gradlePluginPortal()
124118
}

build.gradle

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,6 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING
3535

3636
buildscript {
3737
repositories {
38-
maven {
39-
url 'https://jitpack.io'
40-
}
41-
4238
mavenCentral()
4339
}
4440
}

gradle/build.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ maven-model = "org.apache.maven:maven-model:3.6.2"
3434
mockito-core = "org.mockito:mockito-core:1.9.5"
3535
nebula-info = "com.netflix.nebula:gradle-info-plugin:11.3.3"
3636
reflections = "org.reflections:reflections:0.9.12"
37-
shadow-plugin = "com.github.breskeby:shadow:3b035f2"
37+
shadow-plugin = "com.gradleup.shadow:shadow-gradle-plugin:8.3.5"
3838
spock-core = { group = "org.spockframework", name="spock-core", version.ref="spock" }
3939
spock-junit4 = { group = "org.spockframework", name="spock-junit4", version.ref="spock" }
4040
spock-platform = { group = "org.spockframework", name="spock-bom", version.ref="spock" }

0 commit comments

Comments
 (0)