Skip to content

Commit a6495ed

Browse files
committed
Use Guava 32.1.3
1 parent 682dcd6 commit a6495ed

4 files changed

Lines changed: 26 additions & 4 deletions

File tree

lib/src/main/java/com/diffplug/spotless/java/GoogleJavaFormatStep.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ private GoogleJavaFormatStep() {}
3535
private static final boolean DEFAULT_REORDER_IMPORTS = false;
3636
private static final boolean DEFAULT_FORMAT_JAVADOC = true;
3737
static final String NAME = "google-java-format";
38-
static final String MAVEN_COORDINATE = "com.google.googlejavaformat:google-java-format";
38+
public static final String MAVEN_COORDINATE = "com.google.googlejavaformat:google-java-format";
3939

4040
/** Creates a step which formats everything - code, import order, and unused imports. */
4141
public static FormatterStep create(Provisioner provisioner) {

lib/src/main/java/com/diffplug/spotless/java/PalantirJavaFormatStep.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ private PalantirJavaFormatStep() {}
2929

3030
private static final String DEFAULT_STYLE = "PALANTIR";
3131
private static final String NAME = "palantir-java-format";
32-
private static final String MAVEN_COORDINATE = "com.palantir.javaformat:palantir-java-format:";
32+
public static final String MAVEN_COORDINATE = "com.palantir.javaformat:palantir-java-format:";
3333
private static final Jvm.Support<String> JVM_SUPPORT = Jvm.<String> support(NAME).add(8, "1.1.0").add(11, "2.28.0").add(21, "2.38.0");
3434

3535
/** Creates a step which formats everything - code, import order, and unused imports. */

plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GradleProvisioner.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
import com.diffplug.common.base.Unhandled;
3737
import com.diffplug.common.collect.ImmutableList;
3838
import com.diffplug.spotless.Provisioner;
39+
import com.diffplug.spotless.java.GoogleJavaFormatStep;
40+
import com.diffplug.spotless.java.PalantirJavaFormatStep;
3941

4042
/** Should be package-private. */
4143
class GradleProvisioner {
@@ -117,7 +119,16 @@ private static Provisioner forConfigurationContainer(Project project, Configurat
117119
+ new Request(withTransitives, mavenCoords).hashCode());
118120
mavenCoords.stream()
119121
.map(dependencies::create)
120-
.forEach(config.getDependencies()::add);
122+
.forEach(dependency -> {
123+
config.getDependencies().add(dependency);
124+
String coordinate = dependency.getGroup() + ":" + dependency.getName();
125+
if (coordinate.startsWith(GoogleJavaFormatStep.MAVEN_COORDINATE) ||
126+
coordinate.startsWith(PalantirJavaFormatStep.MAVEN_COORDINATE)) {
127+
// Use Guava 32.1.3, see https://github.com/google/guava/issues/6657.
128+
// TODO: May remove this after https://github.com/google/google-java-format/pull/996 and https://github.com/palantir/palantir-java-format/issues/957 are released.
129+
config.getDependencies().add(dependencies.create("com.google.guava:guava:32.1.3-jre"));
130+
}
131+
});
121132
config.setDescription(mavenCoords.toString());
122133
config.setTransitive(withTransitives);
123134
config.setCanBeConsumed(false);

testlib/src/main/java/com/diffplug/spotless/TestProvisioner.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.Map;
2626
import java.util.function.Consumer;
2727
import java.util.function.Supplier;
28+
import java.util.stream.Stream;
2829

2930
import org.gradle.api.Project;
3031
import org.gradle.api.artifacts.Configuration;
@@ -41,6 +42,8 @@
4142
import com.diffplug.common.base.Suppliers;
4243
import com.diffplug.common.collect.ImmutableSet;
4344
import com.diffplug.common.io.Files;
45+
import com.diffplug.spotless.java.GoogleJavaFormatStep;
46+
import com.diffplug.spotless.java.PalantirJavaFormatStep;
4447

4548
public class TestProvisioner {
4649
public static Project gradleProject(File dir) {
@@ -65,7 +68,15 @@ private static Provisioner createWithRepositories(Consumer<RepositoryHandler> re
6568
Project project = TestProvisioner.gradleProject(tempDir);
6669
repoConfig.accept(project.getRepositories());
6770
return (withTransitives, mavenCoords) -> {
68-
Dependency[] deps = mavenCoords.stream()
71+
boolean forceGuava = mavenCoords.stream().anyMatch(coordinate -> coordinate.startsWith(GoogleJavaFormatStep.MAVEN_COORDINATE) ||
72+
coordinate.startsWith(PalantirJavaFormatStep.MAVEN_COORDINATE));
73+
Stream<String> coordinateStream = mavenCoords.stream();
74+
if (forceGuava) {
75+
// Use Guava 32.1.3, see https://github.com/google/guava/issues/6657.
76+
// TODO: May remove this after https://github.com/google/google-java-format/pull/996 and https://github.com/palantir/palantir-java-format/issues/957 are released.
77+
coordinateStream = Stream.concat(coordinateStream, Stream.of("com.google.guava:guava:32.1.3-jre"));
78+
}
79+
Dependency[] deps = coordinateStream
6980
.map(project.getDependencies()::create)
7081
.toArray(Dependency[]::new);
7182
Configuration config = project.getConfigurations().detachedConfiguration(deps);

0 commit comments

Comments
 (0)