Skip to content

Commit 510c781

Browse files
committed
Remove unused version alignment support from Bomr
Closes gh-34333
1 parent 891ce3b commit 510c781

File tree

4 files changed

+14
-295
lines changed

4 files changed

+14
-295
lines changed

buildSrc/src/main/java/org/springframework/boot/build/bom/BomExtension.java

Lines changed: 5 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,11 @@
5858
import org.w3c.dom.NodeList;
5959

6060
import org.springframework.boot.build.DeployedPlugin;
61-
import org.springframework.boot.build.bom.Library.DependencyConstraintsDependencyVersions;
62-
import org.springframework.boot.build.bom.Library.DependencyLockDependencyVersions;
63-
import org.springframework.boot.build.bom.Library.DependencyVersions;
6461
import org.springframework.boot.build.bom.Library.Exclusion;
6562
import org.springframework.boot.build.bom.Library.Group;
6663
import org.springframework.boot.build.bom.Library.LibraryVersion;
6764
import org.springframework.boot.build.bom.Library.Module;
6865
import org.springframework.boot.build.bom.Library.ProhibitedVersion;
69-
import org.springframework.boot.build.bom.Library.VersionAlignment;
7066
import org.springframework.boot.build.bom.bomr.version.DependencyVersion;
7167
import org.springframework.boot.build.mavenplugin.MavenExec;
7268
import org.springframework.util.FileCopyUtils;
@@ -115,13 +111,10 @@ public void library(String name, Action<LibraryHandler> action) {
115111

116112
public void library(String name, String version, Action<LibraryHandler> action) {
117113
ObjectFactory objects = this.project.getObjects();
118-
LibraryHandler libraryHandler = objects.newInstance(LibraryHandler.class, (version != null) ? version : "",
119-
objects);
114+
LibraryHandler libraryHandler = objects.newInstance(LibraryHandler.class, (version != null) ? version : "");
120115
action.execute(libraryHandler);
121-
LibraryVersion libraryVersion = new LibraryVersion(DependencyVersion.parse(libraryHandler.version),
122-
libraryHandler.versionAlignment);
123-
addLibrary(new Library(name, libraryVersion, libraryHandler.groups, libraryHandler.prohibitedVersions,
124-
libraryHandler.dependencyVersions));
116+
LibraryVersion libraryVersion = new LibraryVersion(DependencyVersion.parse(libraryHandler.version));
117+
addLibrary(new Library(name, libraryVersion, libraryHandler.groups, libraryHandler.prohibitedVersions));
125118
}
126119

127120
public void effectiveBomArtifact() {
@@ -221,25 +214,15 @@ public static class LibraryHandler {
221214

222215
private final List<ProhibitedVersion> prohibitedVersions = new ArrayList<>();
223216

224-
private final ObjectFactory objectFactory;
225-
226217
private String version;
227218

228-
private VersionAlignment versionAlignment;
229-
230-
private DependencyVersions dependencyVersions;
231-
232219
@Inject
233-
public LibraryHandler(String version, ObjectFactory objectFactory) {
220+
public LibraryHandler(String version) {
234221
this.version = version;
235-
this.objectFactory = objectFactory;
236222
}
237223

238-
public void version(String version, Action<VersionHandler> action) {
224+
public void version(String version) {
239225
this.version = version;
240-
VersionHandler versionHandler = new VersionHandler();
241-
action.execute(versionHandler);
242-
this.versionAlignment = new VersionAlignment(versionHandler.libraryName);
243226
}
244227

245228
public void group(String id, Action<GroupHandler> action) {
@@ -256,23 +239,6 @@ public void prohibit(Action<ProhibitedHandler> action) {
256239
handler.endsWith, handler.contains, handler.reason));
257240
}
258241

259-
public void dependencyVersions(Action<DependencyVersionsHandler> action) {
260-
DependencyVersionsHandler dependencyVersionsHandler = this.objectFactory
261-
.newInstance(DependencyVersionsHandler.class, this.version);
262-
action.execute(dependencyVersionsHandler);
263-
this.dependencyVersions = dependencyVersionsHandler.dependencyVersions;
264-
}
265-
266-
public static class VersionHandler {
267-
268-
private String libraryName;
269-
270-
public void shouldAlignWithVersionFrom(String libraryName) {
271-
this.libraryName = libraryName;
272-
}
273-
274-
}
275-
276242
public static class ProhibitedHandler {
277243

278244
private String reason;
@@ -391,37 +357,6 @@ public void setClassifier(String classifier) {
391357

392358
}
393359

394-
public static class DependencyVersionsHandler {
395-
396-
private final String libraryVersion;
397-
398-
private DependencyVersions dependencyVersions;
399-
400-
@Inject
401-
public DependencyVersionsHandler(String libraryVersion) {
402-
this.libraryVersion = libraryVersion;
403-
}
404-
405-
public void extractFrom(Action<ExtractFromHandler> action) {
406-
action.execute(new ExtractFromHandler());
407-
}
408-
409-
public class ExtractFromHandler {
410-
411-
public void dependencyLock(String location) {
412-
DependencyVersionsHandler.this.dependencyVersions = new DependencyLockDependencyVersions(location,
413-
DependencyVersionsHandler.this.libraryVersion);
414-
}
415-
416-
public void dependencyConstraints(String location) {
417-
DependencyVersionsHandler.this.dependencyVersions = new DependencyConstraintsDependencyVersions(
418-
location, DependencyVersionsHandler.this.libraryVersion);
419-
}
420-
421-
}
422-
423-
}
424-
425360
}
426361

427362
public static class UpgradeHandler {

buildSrc/src/main/java/org/springframework/boot/build/bom/Library.java

Lines changed: 3 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,11 @@
1616

1717
package org.springframework.boot.build.bom;
1818

19-
import java.io.BufferedReader;
20-
import java.io.IOException;
21-
import java.io.InputStreamReader;
22-
import java.net.URI;
2319
import java.util.Collections;
24-
import java.util.HashMap;
2520
import java.util.List;
2621
import java.util.Locale;
27-
import java.util.Map;
28-
import java.util.regex.Matcher;
29-
import java.util.regex.Pattern;
3022

3123
import org.apache.maven.artifact.versioning.VersionRange;
32-
import org.gradle.api.GradleException;
3324

3425
import org.springframework.boot.build.bom.bomr.version.DependencyVersion;
3526

@@ -51,26 +42,22 @@ public class Library {
5142

5243
private final List<ProhibitedVersion> prohibitedVersions;
5344

54-
private final DependencyVersions dependencyVersions;
55-
5645
/**
5746
* Create a new {@code Library} with the given {@code name}, {@code version}, and
5847
* {@code groups}.
5948
* @param name name of the library
6049
* @param version version of the library
6150
* @param groups groups in the library
6251
* @param prohibitedVersions version of the library that are prohibited
63-
* @param dependencyVersions the library's dependency versions
6452
*/
65-
public Library(String name, LibraryVersion version, List<Group> groups, List<ProhibitedVersion> prohibitedVersions,
66-
DependencyVersions dependencyVersions) {
53+
public Library(String name, LibraryVersion version, List<Group> groups,
54+
List<ProhibitedVersion> prohibitedVersions) {
6755
this.name = name;
6856
this.version = version;
6957
this.groups = groups;
7058
this.versionProperty = "Spring Boot".equals(name) ? null
7159
: name.toLowerCase(Locale.ENGLISH).replace(' ', '-') + ".version";
7260
this.prohibitedVersions = prohibitedVersions;
73-
this.dependencyVersions = dependencyVersions;
7461
}
7562

7663
public String getName() {
@@ -93,10 +80,6 @@ public List<ProhibitedVersion> getProhibitedVersions() {
9380
return this.prohibitedVersions;
9481
}
9582

96-
public DependencyVersions getDependencyVersions() {
97-
return this.dependencyVersions;
98-
}
99-
10083
/**
10184
* A version or range of versions that are prohibited from being used in a bom.
10285
*/
@@ -147,21 +130,14 @@ public static class LibraryVersion {
147130

148131
private final DependencyVersion version;
149132

150-
private final VersionAlignment versionAlignment;
151-
152-
public LibraryVersion(DependencyVersion version, VersionAlignment versionAlignment) {
133+
public LibraryVersion(DependencyVersion version) {
153134
this.version = version;
154-
this.versionAlignment = versionAlignment;
155135
}
156136

157137
public DependencyVersion getVersion() {
158138
return this.version;
159139
}
160140

161-
public VersionAlignment getVersionAlignment() {
162-
return this.versionAlignment;
163-
}
164-
165141
}
166142

167143
/**
@@ -276,128 +252,4 @@ public String getArtifactId() {
276252

277253
}
278254

279-
public interface DependencyVersions {
280-
281-
String getVersion(String groupId, String artifactId);
282-
283-
default boolean available() {
284-
return true;
285-
}
286-
287-
}
288-
289-
public static class DependencyLockDependencyVersions implements DependencyVersions {
290-
291-
private final Map<String, Map<String, String>> dependencyVersions = new HashMap<>();
292-
293-
private final String sourceTemplate;
294-
295-
private final String libraryVersion;
296-
297-
public DependencyLockDependencyVersions(String sourceTemplate, String libraryVersion) {
298-
this.sourceTemplate = sourceTemplate;
299-
this.libraryVersion = libraryVersion;
300-
}
301-
302-
@Override
303-
public boolean available() {
304-
return !this.libraryVersion.contains("-SNAPSHOT");
305-
}
306-
307-
@Override
308-
public String getVersion(String groupId, String artifactId) {
309-
if (this.dependencyVersions.isEmpty()) {
310-
loadVersions();
311-
}
312-
return this.dependencyVersions.computeIfAbsent(groupId, (key) -> Collections.emptyMap()).get(artifactId);
313-
}
314-
315-
private void loadVersions() {
316-
String source = this.sourceTemplate.replace("<libraryVersion>", this.libraryVersion);
317-
try {
318-
try (BufferedReader reader = new BufferedReader(
319-
new InputStreamReader(URI.create(source).toURL().openStream()))) {
320-
String line;
321-
while ((line = reader.readLine()) != null) {
322-
if (!line.startsWith("#")) {
323-
String[] components = line.split(":");
324-
Map<String, String> groupDependencies = this.dependencyVersions
325-
.computeIfAbsent(components[0], (key) -> new HashMap<>());
326-
groupDependencies.put(components[1], components[2]);
327-
}
328-
}
329-
}
330-
}
331-
catch (IOException ex) {
332-
throw new GradleException("Failed to load versions from dependency lock file '" + source + "'", ex);
333-
}
334-
}
335-
336-
}
337-
338-
public static class DependencyConstraintsDependencyVersions implements DependencyVersions {
339-
340-
private static final Pattern CONSTRAINT_PATTERN = Pattern.compile("api \"(.+):(.+):(.+)\"");
341-
342-
private final Map<String, Map<String, String>> dependencyVersions = new HashMap<>();
343-
344-
private final String sourceTemplate;
345-
346-
private final String libraryVersion;
347-
348-
public DependencyConstraintsDependencyVersions(String sourceTemplate, String libraryVersion) {
349-
this.sourceTemplate = sourceTemplate;
350-
this.libraryVersion = libraryVersion;
351-
}
352-
353-
@Override
354-
public String getVersion(String groupId, String artifactId) {
355-
if (this.dependencyVersions.isEmpty()) {
356-
loadVersions();
357-
}
358-
return this.dependencyVersions.computeIfAbsent(groupId, (key) -> Collections.emptyMap()).get(artifactId);
359-
}
360-
361-
private void loadVersions() {
362-
String version = this.libraryVersion;
363-
if (version.endsWith("-SNAPSHOT")) {
364-
version = version.substring(0, version.lastIndexOf('.')) + ".x";
365-
}
366-
String source = this.sourceTemplate.replace("<libraryVersion>", version);
367-
try {
368-
try (BufferedReader reader = new BufferedReader(
369-
new InputStreamReader(URI.create(source).toURL().openStream()))) {
370-
String line;
371-
while ((line = reader.readLine()) != null) {
372-
Matcher matcher = CONSTRAINT_PATTERN.matcher(line.trim());
373-
if (matcher.matches()) {
374-
Map<String, String> groupDependencies = this.dependencyVersions
375-
.computeIfAbsent(matcher.group(1), (key) -> new HashMap<>());
376-
groupDependencies.put(matcher.group(2), matcher.group(3));
377-
}
378-
}
379-
}
380-
}
381-
catch (IOException ex) {
382-
throw new GradleException(
383-
"Failed to load versions from dependency constraints declared in '" + source + "'", ex);
384-
}
385-
}
386-
387-
}
388-
389-
public static class VersionAlignment {
390-
391-
private final String libraryName;
392-
393-
public VersionAlignment(String libraryName) {
394-
this.libraryName = libraryName;
395-
}
396-
397-
public String getLibraryName() {
398-
return this.libraryName;
399-
}
400-
401-
}
402-
403255
}

0 commit comments

Comments
 (0)