Skip to content

Commit b0dd42e

Browse files
committed
Transform Maven settings with proper plugin repository tag
This commit adapts d44e7c9 to transforms plugin repositories using the correct root tag. Previously, they were transformed with the regular <repository> tag, which is invalid. Closes gh-42687
1 parent 4cf0f86 commit b0dd42e

File tree

6 files changed

+32
-22
lines changed

6 files changed

+32
-22
lines changed

buildSrc/src/main/java/org/springframework/boot/build/ConventionsPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public void apply(Project project) {
5050
new KotlinConventions().apply(project);
5151
new WarConventions().apply(project);
5252
new EclipseConventions().apply(project);
53-
RepoistoryTransformersExtension.apply(project);
53+
RepositoryTransformersExtension.apply(project);
5454
}
5555

5656
}

buildSrc/src/main/java/org/springframework/boot/build/RepoistoryTransformersExtension.java buildSrc/src/main/java/org/springframework/boot/build/RepositoryTransformersExtension.java

+27-17
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,20 @@
2323
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
2424

2525
/**
26-
* Extension to add {@code springRepoistoryTransformers} utility methods.
26+
* Extension to add {@code springRepositoryTransformers} utility methods.
2727
*
2828
* @author Phillip Webb
2929
*/
30-
public class RepoistoryTransformersExtension {
30+
public class RepositoryTransformersExtension {
3131

3232
private static final String MARKER = "{spring.mavenRepositories}";
3333

34+
private static final String MARKER_PLUGIN = "{spring.mavenPluginRepositories}";
35+
3436
private final Project project;
3537

3638
@Inject
37-
public RepoistoryTransformersExtension(Project project) {
39+
public RepositoryTransformersExtension(Project project) {
3840
this.project = project;
3941
}
4042

@@ -65,24 +67,32 @@ public Transformer<String, String> mavenSettings() {
6567

6668
private String transformMavenSettings(String line) {
6769
if (line.contains(MARKER)) {
68-
StringBuilder result = new StringBuilder();
69-
String indent = getIndent(line);
70-
this.project.getRepositories().withType(MavenArtifactRepository.class, (repository) -> {
71-
String name = repository.getName();
72-
if (name.startsWith("spring-")) {
73-
result.append(!result.isEmpty() ? "\n" : "");
74-
result.append(mavenRepositoryXml(indent, repository));
75-
}
76-
});
77-
return result.toString();
70+
return transformMarker(line, false);
71+
}
72+
if (line.contains(MARKER_PLUGIN)) {
73+
return transformMarker(line, true);
7874
}
7975
return line;
8076
}
8177

82-
private String mavenRepositoryXml(String indent, MavenArtifactRepository repository) {
78+
private String transformMarker(String line, boolean pluginRepository) {
79+
StringBuilder result = new StringBuilder();
80+
String indent = getIndent(line);
81+
this.project.getRepositories().withType(MavenArtifactRepository.class, (repository) -> {
82+
String name = repository.getName();
83+
if (name.startsWith("spring-")) {
84+
result.append(!result.isEmpty() ? "\n" : "");
85+
result.append(mavenRepositoryXml(indent, repository, pluginRepository));
86+
}
87+
});
88+
return result.toString();
89+
}
90+
91+
private String mavenRepositoryXml(String indent, MavenArtifactRepository repository, boolean pluginRepository) {
92+
String rootTag = pluginRepository ? "pluginRepository" : "repository";
8393
boolean snapshots = repository.getName().endsWith("-snapshot");
8494
StringBuilder xml = new StringBuilder();
85-
xml.append("%s<repository>%n".formatted(indent));
95+
xml.append("%s<%s>%n".formatted(indent, rootTag));
8696
xml.append("%s\t<id>%s</id>%n".formatted(indent, repository.getName()));
8797
xml.append("%s\t<url>%s</url>%n".formatted(indent, repository.getUrl()));
8898
xml.append("%s\t<releases>%n".formatted(indent));
@@ -91,7 +101,7 @@ private String mavenRepositoryXml(String indent, MavenArtifactRepository reposit
91101
xml.append("%s\t<snapshots>%n".formatted(indent));
92102
xml.append("%s\t\t<enabled>%s</enabled>%n".formatted(indent, snapshots));
93103
xml.append("%s\t</snapshots>%n".formatted(indent));
94-
xml.append("%s</repository>".formatted(indent));
104+
xml.append("%s</%s>".formatted(indent, rootTag));
95105
return xml.toString();
96106
}
97107

@@ -100,7 +110,7 @@ private String getIndent(String line) {
100110
}
101111

102112
static void apply(Project project) {
103-
project.getExtensions().create("springRepoistoryTransformers", RepoistoryTransformersExtension.class, project);
113+
project.getExtensions().create("springRepositoryTransformers", RepositoryTransformersExtension.class, project);
104114
}
105115

106116
}

spring-boot-project/spring-boot-tools/spring-boot-antlib/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ dependencies {
2828
task syncIntegrationTestSources(type: Sync) {
2929
destinationDir file("${buildDir}/it")
3030
from file("src/it")
31-
filter(springRepoistoryTransformers.ant())
31+
filter(springRepositoryTransformers.ant())
3232
}
3333

3434
processResources {

spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ syncDocumentationSourceForAsciidoctor {
102102
task copySettingsXml(type: Copy) {
103103
from file("src/intTest/projects/settings.xml")
104104
into "${buildDir}/generated-resources/settings"
105-
filter(springRepoistoryTransformers.mavenSettings())
105+
filter(springRepositoryTransformers.mavenSettings())
106106
}
107107

108108
sourceSets {

spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/projects/settings.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<enabled>true</enabled>
3232
</snapshots>
3333
</pluginRepository>
34-
<!-- {spring.mavenRepositories} -->
34+
<!-- {spring.mavenPluginRepositories} -->
3535
</pluginRepositories>
3636
</profile>
3737
</profiles>

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-ant/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ task syncAntSources(type: Sync) {
5050
destinationDir file("${buildDir}/ant")
5151
from project.layout.projectDirectory
5252
include "*.xml"
53-
filter(springRepoistoryTransformers.ant())
53+
filter(springRepositoryTransformers.ant())
5454
}
5555

5656
task antRun(type: JavaExec) {

0 commit comments

Comments
 (0)