Skip to content

Commit 8c79639

Browse files
committed
Revert change to Xml Lists in maven model #585
1 parent 5f3ba7e commit 8c79639

File tree

10 files changed

+263
-138
lines changed

10 files changed

+263
-138
lines changed

rewrite-maven/src/main/java/org/openrewrite/maven/MavenExecutionContextView.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,13 @@ public void setMavenSettings(@Nullable MavenSettings settings, String... activeP
112112
}
113113

114114
if (settings.getServers() != null) {
115-
setCredentials(settings.getServers().stream()
115+
setCredentials(settings.getServers().getServers().stream()
116116
.map(server -> new MavenRepositoryCredentials(server.getId(), server.getUsername(), server.getPassword()))
117117
.collect(Collectors.toList()));
118118
}
119119

120120
if (settings.getMirrors() != null) {
121-
setMirrors(settings.getMirrors().stream()
121+
setMirrors(settings.getMirrors().getMirrors().stream()
122122
.map(mirror -> new MavenRepositoryMirror(mirror.getId(), mirror.getUrl(), mirror.getMirrorOf(), mirror.getReleases(), mirror.getSnapshots()))
123123
.collect(Collectors.toList()));
124124
}

rewrite-maven/src/main/java/org/openrewrite/maven/MavenSettings.java

+58-30
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,11 @@
1919
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
2020
import lombok.*;
2121
import lombok.experimental.FieldDefaults;
22-
import lombok.experimental.NonFinal;
2322
import org.openrewrite.ExecutionContext;
2423
import org.openrewrite.Parser;
2524
import org.openrewrite.internal.lang.Nullable;
2625
import org.openrewrite.maven.internal.MavenXmlMapper;
27-
import org.openrewrite.maven.internal.RawRepository;
26+
import org.openrewrite.maven.internal.RawRepositories;
2827
import org.openrewrite.maven.tree.ProfileActivation;
2928

3029
import java.io.IOException;
@@ -34,32 +33,25 @@
3433

3534
import static java.util.Collections.emptyList;
3635

37-
@FieldDefaults(level = AccessLevel.PRIVATE)
36+
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
3837
@ToString(onlyExplicitlyIncluded = true)
3938
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
4039
@Data
4140
public class MavenSettings {
41+
@Nullable
42+
Profiles profiles;
4243

43-
@NonFinal
44-
@JacksonXmlElementWrapper(localName = "profiles")
45-
@JacksonXmlProperty(localName = "profile")
46-
List<Profile> profiles = emptyList();
47-
48-
@NonFinal
49-
@JacksonXmlElementWrapper(localName = "activeProfiles")
50-
@JacksonXmlProperty(localName = "activeProfile")
51-
List<String> activeProfiles = emptyList();
44+
@Nullable
45+
ActiveProfiles activeProfiles;
5246

53-
@NonFinal
54-
@JacksonXmlElementWrapper(localName = "mirrors")
55-
@JacksonXmlProperty(localName = "mirror")
56-
List<Mirror> mirrors = emptyList();
47+
@Nullable
48+
@Getter
49+
Mirrors mirrors;
5750

58-
@NonFinal
5951
@Nullable
60-
@JacksonXmlElementWrapper(localName = "servers")
61-
@JacksonXmlProperty(localName = "server")
62-
List<Server> servers = emptyList();
52+
@Getter
53+
@With
54+
Servers servers;
6355

6456
@Nullable
6557
public static MavenSettings parse(Parser.Input source, ExecutionContext ctx) {
@@ -71,20 +63,41 @@ public static MavenSettings parse(Parser.Input source, ExecutionContext ctx) {
7163
}
7264
}
7365

74-
public List<RawRepository> getActiveRepositories(Iterable<String> activeProfiles) {
75-
List<RawRepository> activeRepositories = new ArrayList<>();
66+
public List<RawRepositories.Repository> getActiveRepositories(Iterable<String> activeProfiles) {
67+
List<RawRepositories.Repository> activeRepositories = new ArrayList<>();
7668

77-
for (Profile profile : profiles) {
78-
if (profile.isActive(activeProfiles) || profile.isActive(this.activeProfiles)) {
79-
if (profile.getRepositories() != null) {
80-
activeRepositories.addAll(profile.getRepositories());
69+
if (profiles != null) {
70+
for (Profile profile : profiles.getProfiles()) {
71+
if (profile.isActive(activeProfiles) || (this.activeProfiles != null &&
72+
profile.isActive(this.activeProfiles.getActiveProfiles()))) {
73+
if (profile.repositories != null) {
74+
activeRepositories.addAll(profile.repositories.getRepositories());
75+
}
8176
}
8277
}
8378
}
8479

8580
return activeRepositories;
8681
}
8782

83+
@FieldDefaults(level = AccessLevel.PRIVATE)
84+
@Getter
85+
@Setter
86+
public static class Profiles {
87+
@JacksonXmlProperty(localName = "profile")
88+
@JacksonXmlElementWrapper(useWrapping = false)
89+
List<Profile> profiles = emptyList();
90+
}
91+
92+
@FieldDefaults(level = AccessLevel.PRIVATE)
93+
@Getter
94+
@Setter
95+
public static class ActiveProfiles {
96+
@JacksonXmlProperty(localName = "activeProfile")
97+
@JacksonXmlElementWrapper(useWrapping = false)
98+
List<String> activeProfiles = emptyList();
99+
}
100+
88101
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
89102
@Data
90103
public static class Profile {
@@ -94,11 +107,8 @@ public static class Profile {
94107
@Nullable
95108
ProfileActivation activation;
96109

97-
@NonFinal
98110
@Nullable
99-
@JacksonXmlElementWrapper(localName = "repositories")
100-
@JacksonXmlProperty(localName = "repository")
101-
List<RawRepository> repositories;
111+
RawRepositories repositories;
102112

103113
public boolean isActive(Iterable<String> activeProfiles) {
104114
return ProfileActivation.isActive(id, activeProfiles, activation);
@@ -109,6 +119,15 @@ public boolean isActive(String... activeProfiles) {
109119
}
110120
}
111121

122+
@FieldDefaults(level = AccessLevel.PRIVATE)
123+
@Getter
124+
@Setter
125+
public static class Mirrors {
126+
@JacksonXmlProperty(localName = "mirror")
127+
@JacksonXmlElementWrapper(useWrapping = false)
128+
List<Mirror> mirrors = emptyList();
129+
}
130+
112131
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
113132
@Data
114133
public static class Mirror {
@@ -128,6 +147,15 @@ public static class Mirror {
128147
Boolean snapshots;
129148
}
130149

150+
@FieldDefaults(level = AccessLevel.PRIVATE)
151+
@Getter
152+
@Setter
153+
public static class Servers {
154+
@JacksonXmlProperty(localName = "server")
155+
@JacksonXmlElementWrapper(useWrapping = false)
156+
List<Server> servers = emptyList();
157+
}
158+
131159
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
132160
@Data
133161
public static class Server {

rewrite-maven/src/main/java/org/openrewrite/maven/internal/MavenXmlMapper.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
3030
import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser;
3131
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
32-
import com.fasterxml.jackson.module.kotlin.KotlinModule;
3332
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
3433

3534
import javax.xml.stream.XMLInputFactory;
@@ -61,9 +60,7 @@ public class MavenXmlMapper {
6160
.withGetterVisibility(JsonAutoDetect.Visibility.NONE)
6261
.withSetterVisibility(JsonAutoDetect.Visibility.NONE)
6362
.withCreatorVisibility(JsonAutoDetect.Visibility.PUBLIC_ONLY)).
64-
registerModule(new KotlinModule.Builder().build()).
65-
registerModule(new StringTrimModule())
66-
;
63+
registerModule(new StringTrimModule());
6764
}
6865
{
6966
writeMapper = XmlMapper.builder(xmlFactory)

0 commit comments

Comments
 (0)