Skip to content

Commit 6cbb137

Browse files
author
Joan Viladrosa
authored
Moved instantiation of recipes from constructor to recipesList (#13)
* Moved instantiation from constructor * optimized imports
1 parent 79fc42e commit 6cbb137

1 file changed

Lines changed: 18 additions & 28 deletions

File tree

src/main/java/org/openrewrite/java/dependencies/UpgradeDependencyVersion.java

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
package org.openrewrite.java.dependencies;
1717

1818
import lombok.EqualsAndHashCode;
19-
import lombok.Value;
19+
import lombok.Getter;
20+
import lombok.RequiredArgsConstructor;
2021
import org.openrewrite.Option;
2122
import org.openrewrite.Recipe;
2223
import org.openrewrite.internal.lang.Nullable;
@@ -25,37 +26,39 @@
2526
import java.util.List;
2627

2728

28-
@Value
29+
30+
@Getter
31+
@RequiredArgsConstructor
2932
@EqualsAndHashCode(callSuper = false)
3033
public class UpgradeDependencyVersion extends Recipe {
3134
@Option(displayName = "Group",
3235
description = "The first part of a dependency coordinate `com.google.guava:guava:VERSION`. This can be a glob expression.",
3336
example = "com.fasterxml.jackson*")
34-
String groupId;
37+
private final String groupId;
3538

3639
@Option(displayName = "Artifact",
3740
description = "The second part of a dependency coordinate `com.google.guava:guava:VERSION`. This can be a glob expression.",
3841
example = "jackson-module*")
39-
String artifactId;
42+
private final String artifactId;
4043

4144
@Option(displayName = "New version",
42-
description = "An exact version number or node-style semver selector used to select the version number.",
45+
description = "An exact version number or node-style semver selector used to select the version number. ",
4346
example = "29.X")
44-
String newVersion;
47+
private final String newVersion;
4548

4649
@Option(displayName = "Version pattern",
4750
description = "Allows version selection to be extended beyond the original Node Semver semantics. So for example," +
4851
"Setting 'version' to \"25-29\" can be paired with a metadata pattern of \"-jre\" to select Guava 29.0-jre",
4952
example = "-jre",
5053
required = false)
5154
@Nullable
52-
String versionPattern;
55+
private final String versionPattern;
5356

5457
@Option(displayName = "Override managed version",
5558
description = "For Maven project only, This flag can be set to explicitly override a managed dependency's version. The default for this flag is `false`.",
5659
required = false)
5760
@Nullable
58-
Boolean overrideManagedVersion;
61+
private final Boolean overrideManagedVersion;
5962

6063
@Option(displayName = "Retain versions",
6164
description = "For Maven project only, Accepts a list of GAVs. For each GAV, if it is a project direct dependency, and it is removed "
@@ -64,7 +67,7 @@ public class UpgradeDependencyVersion extends Recipe {
6467
example = "com.jcraft:jsch",
6568
required = false)
6669
@Nullable
67-
List<String> retainVersions;
70+
private final List<String> retainVersions;
6871

6972
@Override
7073
public String getDisplayName() {
@@ -85,30 +88,17 @@ public String getDescription() {
8588
}
8689

8790
@Nullable
88-
org.openrewrite.gradle.UpgradeDependencyVersion upgradeGradleDependencyVersion;
91+
private org.openrewrite.gradle.UpgradeDependencyVersion upgradeGradleDependencyVersion;
8992

9093
@Nullable
91-
org.openrewrite.maven.UpgradeDependencyVersion upgradeMavenDependencyVersion;
92-
93-
public UpgradeDependencyVersion(String groupId,
94-
String artifactId,
95-
String newVersion,
96-
@Nullable String versionPattern,
97-
@Nullable Boolean overrideManagedVersion,
98-
@Nullable List<String> retainVersions) {
99-
this.groupId = groupId;
100-
this.artifactId = artifactId;
101-
this.newVersion = newVersion;
102-
this.versionPattern = versionPattern;
103-
this.overrideManagedVersion = overrideManagedVersion;
104-
this.retainVersions = retainVersions;
105-
106-
upgradeGradleDependencyVersion = new org.openrewrite.gradle.UpgradeDependencyVersion(groupId, artifactId, newVersion, versionPattern);
107-
upgradeMavenDependencyVersion = new org.openrewrite.maven.UpgradeDependencyVersion(groupId, artifactId, newVersion, versionPattern, overrideManagedVersion, retainVersions);
108-
}
94+
private org.openrewrite.maven.UpgradeDependencyVersion upgradeMavenDependencyVersion;
10995

11096
@Override
11197
public List<Recipe> getRecipeList() {
98+
if (upgradeGradleDependencyVersion == null && upgradeMavenDependencyVersion == null) {
99+
upgradeGradleDependencyVersion = new org.openrewrite.gradle.UpgradeDependencyVersion(groupId, artifactId, newVersion, versionPattern);
100+
upgradeMavenDependencyVersion = new org.openrewrite.maven.UpgradeDependencyVersion(groupId, artifactId, newVersion, versionPattern, overrideManagedVersion, retainVersions);
101+
}
112102
return Arrays.asList(
113103
upgradeGradleDependencyVersion,
114104
upgradeMavenDependencyVersion

0 commit comments

Comments
 (0)