From f4d9e1c87a24df7edad2ba447f3e55744f5a158f Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Tue, 2 Jun 2020 23:31:29 -0700 Subject: [PATCH 01/19] Fix javadoc problems. --- lib/src/main/java/com/diffplug/spotless/PaddedCell.java | 6 +++--- lib/src/main/java/com/diffplug/spotless/PaddedCellBulk.java | 4 ++-- testlib/build.gradle | 4 ++++ 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/src/main/java/com/diffplug/spotless/PaddedCell.java b/lib/src/main/java/com/diffplug/spotless/PaddedCell.java index 1ae6bd5277..e209400caf 100644 --- a/lib/src/main/java/com/diffplug/spotless/PaddedCell.java +++ b/lib/src/main/java/com/diffplug/spotless/PaddedCell.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -235,9 +235,9 @@ public static DirtyState calculateDirtyState(Formatter formatter, File file, byt /** * The clean/dirty state of a single file. Intended use: * - {@link #isClean()} means that the file is is clean, and there's nothing else to say - * - {@link #isConverged()} means that we were able to determine a clean state + * - {@link #didNotConverge()} means that we were unable to determine a clean state * - once you've tested the above conditions and you know that it's a dirty file with a converged state, - * then you can call {@link #writeCanonicalTo()} to get the canonical form of the given file. + * then you can call {@link #writeCanonicalTo(OutputStream)} to get the canonical form of the given file. */ public static class DirtyState { private final byte[] canonicalBytes; diff --git a/lib/src/main/java/com/diffplug/spotless/PaddedCellBulk.java b/lib/src/main/java/com/diffplug/spotless/PaddedCellBulk.java index e249ba1ae1..5b6e289503 100644 --- a/lib/src/main/java/com/diffplug/spotless/PaddedCellBulk.java +++ b/lib/src/main/java/com/diffplug/spotless/PaddedCellBulk.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,7 +33,7 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -/** COMPLETELY DEPRECATED, use {@link PaddedCell#canonicalIfDirty(Formatter, File)} instead. */ +/** COMPLETELY DEPRECATED, use {@link PaddedCell#calculateDirtyState(Formatter, File)} instead. */ @Deprecated public final class PaddedCellBulk { private static final Logger logger = Logger.getLogger(PaddedCellBulk.class.getName()); diff --git a/testlib/build.gradle b/testlib/build.gradle index d09801f540..e46d099e01 100644 --- a/testlib/build.gradle +++ b/testlib/build.gradle @@ -23,3 +23,7 @@ spotbugs { reportLevel = 'high' } // low|medium|high (low = sensitive to even mi test { useJUnit { excludeCategories 'com.diffplug.spotless.category.NpmTest' } } task npmTest(type: Test) { useJUnit { includeCategories 'com.diffplug.spotless.category.NpmTest' } } + +javadoc { + options.addStringOption('Xdoclint:none', '-quiet') +} From f0b35994a14ab048078d89644e20cbc41a3642f3 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:11:21 -0700 Subject: [PATCH 02/19] Rename FormatExtension's field SpotlessExtension from `ext` to `spotless`, which is more clear since there are multiple instances of `FormatExtension`, but only one instance of `SpotlessExtension`, and it wasn't clear which of them `ext` was referring to. --- .../gradle/spotless/CppExtension.java | 6 ++-- .../gradle/spotless/CssExtension.java | 6 ++-- .../gradle/spotless/FormatExtension.java | 34 +++++++++---------- .../gradle/spotless/FreshMarkExtension.java | 6 ++-- .../gradle/spotless/GroovyExtension.java | 6 ++-- .../spotless/GroovyGradleExtension.java | 6 ++-- .../gradle/spotless/JavaExtension.java | 6 ++-- .../gradle/spotless/KotlinExtension.java | 6 ++-- .../spotless/KotlinGradleExtension.java | 6 ++-- .../gradle/spotless/ScalaExtension.java | 6 ++-- .../gradle/spotless/SqlExtension.java | 6 ++-- .../gradle/spotless/TypescriptExtension.java | 6 ++-- .../gradle/spotless/XmlExtension.java | 6 ++-- 13 files changed, 53 insertions(+), 53 deletions(-) diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CppExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CppExtension.java index 2434c99a16..76c37f3f4a 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CppExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CppExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,8 +26,8 @@ public class CppExtension extends FormatExtension implements HasBuiltinDelimiterForLicense { static final String NAME = "cpp"; - public CppExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public CppExtension(SpotlessExtension spotless) { + super(spotless); } public EclipseConfig eclipse() { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CssExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CssExtension.java index 0152b738d7..8aa2f9335e 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CssExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CssExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,8 +30,8 @@ public class CssExtension extends FormatExtension implements HasBuiltinDelimiterForLicense { static final String NAME = "css"; - public CssExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public CssExtension(SpotlessExtension spotless) { + super(spotless); } public EclipseConfig eclipse() { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java index cfb259dedd..ce74efc4b7 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,14 +54,14 @@ /** Adds a `spotless{Name}Check` and `spotless{Name}Apply` task. */ public class FormatExtension { - final SpotlessExtension root; + final SpotlessExtension spotless; - public FormatExtension(SpotlessExtension root) { - this.root = Objects.requireNonNull(root); + public FormatExtension(SpotlessExtension spotless) { + this.spotless = Objects.requireNonNull(spotless); } private String formatName() { - for (Map.Entry entry : root.formats.entrySet()) { + for (Map.Entry entry : spotless.formats.entrySet()) { if (entry.getValue() == this) { return entry.getKey(); } @@ -78,14 +78,14 @@ public void paddedCell() { /** Enables paddedCell mode. @see Padded cell */ @Deprecated public void paddedCell(boolean paddedCell) { - root.project.getLogger().warn("PaddedCell is now always on, and cannot be turned off."); + spotless.project.getLogger().warn("PaddedCell is now always on, and cannot be turned off."); } LineEnding lineEndings; /** Returns the line endings to use (defaults to {@link SpotlessExtension#getLineEndings()}. */ public LineEnding getLineEndings() { - return lineEndings == null ? root.getLineEndings() : lineEndings; + return lineEndings == null ? spotless.getLineEndings() : lineEndings; } /** Sets the line endings to use (defaults to {@link SpotlessExtension#getLineEndings()}. */ @@ -97,7 +97,7 @@ public void setLineEndings(LineEnding lineEndings) { /** Returns the encoding to use (defaults to {@link SpotlessExtension#getEncoding()}. */ public Charset getEncoding() { - return encoding == null ? root.getEncoding() : encoding; + return encoding == null ? spotless.getEncoding() : encoding; } /** Sets the encoding to use (defaults to {@link SpotlessExtension#getEncoding()}. */ @@ -458,7 +458,7 @@ public LicenseHeaderConfig updateYearWithLatest(boolean overwriteYearLatest) { FormatterStep createStep() { return FormatterStep.createLazy(LicenseHeaderStep.name(), () -> { // by default, we should update the year if the user is using ratchetFrom - boolean updateYear = updateYearWithLatest == null ? FormatExtension.this.root.getRatchetFrom() != null : updateYearWithLatest; + boolean updateYear = updateYearWithLatest == null ? FormatExtension.this.spotless.getRatchetFrom() != null : updateYearWithLatest; return new LicenseHeaderStep(licenseHeader(), delimiter, yearSeparator, updateYear); }, step -> step::format); } @@ -628,17 +628,17 @@ protected void setupTask(SpotlessTask task) { } task.setSteps(steps); task.setLineEndingsPolicy(getLineEndings().createPolicy(getProject().getProjectDir(), () -> task.target)); - if (root.project != root.project.getRootProject()) { - root.registerDependenciesTask.hookSubprojectTask(task); + if (spotless.project != spotless.project.getRootProject()) { + spotless.registerDependenciesTask.hookSubprojectTask(task); } - if (root.getRatchetFrom() != null) { - task.treeSha = GitRatchet.treeShaOf(root.project, root.getRatchetFrom()); + if (spotless.getRatchetFrom() != null) { + task.treeSha = GitRatchet.treeShaOf(spotless.project, spotless.getRatchetFrom()); } } /** Returns the project that this extension is attached to. */ protected Project getProject() { - return root.project; + return spotless.project; } /** @@ -654,15 +654,15 @@ protected Project getProject() { */ public SpotlessApply createIndependentApplyTask(String taskName) { // create and setup the task - SpotlessTask spotlessTask = root.project.getTasks().create(taskName + "Helper", SpotlessTask.class); + SpotlessTask spotlessTask = spotless.project.getTasks().create(taskName + "Helper", SpotlessTask.class); setupTask(spotlessTask); // enforce the clean ordering - Task clean = root.project.getTasks().getByName(BasePlugin.CLEAN_TASK_NAME); + Task clean = spotless.project.getTasks().getByName(BasePlugin.CLEAN_TASK_NAME); spotlessTask.mustRunAfter(clean); // ignore the filePatterns spotlessTask.setFilePatterns(""); // create the apply task - SpotlessApply applyTask = root.project.getTasks().create(taskName, SpotlessApply.class); + SpotlessApply applyTask = spotless.project.getTasks().create(taskName, SpotlessApply.class); applyTask.setSpotlessOutDirectory(spotlessTask.getOutputDirectory()); applyTask.linkSource(spotlessTask); applyTask.dependsOn(spotlessTask); diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FreshMarkExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FreshMarkExtension.java index d5748841f3..a72361037a 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FreshMarkExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FreshMarkExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,8 +33,8 @@ public class FreshMarkExtension extends FormatExtension { public final List>> propertyActions = new ArrayList<>(); - public FreshMarkExtension(SpotlessExtension root) { - super(root); + public FreshMarkExtension(SpotlessExtension spotless) { + super(spotless); addStep(FreshMarkStep.create(() -> { Map map = new HashMap<>(); for (Action> action : propertyActions) { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyExtension.java index a0a12363dd..f39d06f747 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,8 +38,8 @@ public class GroovyExtension extends FormatExtension implements HasBuiltinDelimiterForLicense { static final String NAME = "groovy"; - public GroovyExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public GroovyExtension(SpotlessExtension spotless) { + super(spotless); } boolean excludeJava = false; diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyGradleExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyGradleExtension.java index 3b239a85fd..fe98478c92 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyGradleExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyGradleExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,8 +24,8 @@ public class GroovyGradleExtension extends FormatExtension { private static final String GRADLE_FILE_EXTENSION = "*.gradle"; static final String NAME = "groovyGradle"; - public GroovyGradleExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public GroovyGradleExtension(SpotlessExtension spotless) { + super(spotless); } public void importOrder(String... importOrder) { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavaExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavaExtension.java index cb9effbfd5..96cdd9b714 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavaExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavaExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,8 +40,8 @@ public class JavaExtension extends FormatExtension implements HasBuiltinDelimiterForLicense { static final String NAME = "java"; - public JavaExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public JavaExtension(SpotlessExtension spotless) { + super(spotless); } // If this constant changes, don't forget to change the similarly-named one in diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinExtension.java index 0feacb8575..93bfc1fd4c 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,8 +33,8 @@ public class KotlinExtension extends FormatExtension implements HasBuiltinDelimiterForLicense { static final String NAME = "kotlin"; - public KotlinExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public KotlinExtension(SpotlessExtension spotless) { + super(spotless); } @Override diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinGradleExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinGradleExtension.java index 24ab55d9a9..633b929d4b 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinGradleExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinGradleExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,8 +29,8 @@ public class KotlinGradleExtension extends FormatExtension { static final String NAME = "kotlinGradle"; - public KotlinGradleExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public KotlinGradleExtension(SpotlessExtension spotless) { + super(spotless); } /** Adds the specified version of [ktlint](https://github.com/pinterest/ktlint). */ diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/ScalaExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/ScalaExtension.java index 46876f6ffd..9dbadc8104 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/ScalaExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/ScalaExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,8 +31,8 @@ public class ScalaExtension extends FormatExtension { static final String NAME = "scala"; - public ScalaExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public ScalaExtension(SpotlessExtension spotless) { + super(spotless); } public ScalaFmtConfig scalafmt() { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SqlExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SqlExtension.java index a19222715a..7072c0cbc0 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SqlExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SqlExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,8 +25,8 @@ public class SqlExtension extends FormatExtension { static final String NAME = "sql"; - public SqlExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public SqlExtension(SpotlessExtension spotless) { + super(spotless); } public DBeaverSQLFormatterConfig dbeaver() { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java index 1f675b9cb7..72401affc1 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,8 +36,8 @@ public class TypescriptExtension extends FormatExtension { static final String NAME = "typescript"; - public TypescriptExtension(SpotlessExtension root) { - super(root); + public TypescriptExtension(SpotlessExtension spotless) { + super(spotless); } /** Uses the default version of typescript-format. */ diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/XmlExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/XmlExtension.java index 49672771c3..a2da39ae40 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/XmlExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/XmlExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,8 +30,8 @@ public class XmlExtension extends FormatExtension implements HasBuiltinDelimiterForLicense { static final String NAME = "xml"; - public XmlExtension(SpotlessExtension rootExtension) { - super(rootExtension); + public XmlExtension(SpotlessExtension spotless) { + super(spotless); } public EclipseConfig eclipse() { From 9555cf02bf14248300ed603aaf10712e27811a17 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:29:14 -0700 Subject: [PATCH 03/19] Rename GradleIntegrationTest to GradleIntegrationHarness (every *Test should actually be a test). --- .../spotless/BumpThisNumberIfACustomStepChangesTest.java | 4 ++-- .../com/diffplug/gradle/spotless/ConfigAvoidanceTest.java | 4 ++-- .../com/diffplug/gradle/spotless/CustomLazyGroovyTest.java | 4 ++-- .../test/java/com/diffplug/gradle/spotless/EncodingTest.java | 4 ++-- .../com/diffplug/gradle/spotless/ErrorShouldRethrowJre11.java | 4 ++-- .../com/diffplug/gradle/spotless/ErrorShouldRethrowJre8.java | 4 ++-- .../com/diffplug/gradle/spotless/FreshMarkExtensionTest.java | 4 ++-- .../gradle/spotless/GoogleJavaFormatIntegrationTest.java | 4 ++-- .../gradle/spotless/GradleIncrementalResolutionTest.java | 4 ++-- ...adleIntegrationTest.java => GradleIntegrationHarness.java} | 4 ++-- .../com/diffplug/gradle/spotless/GroovyExtensionTest.java | 4 ++-- .../diffplug/gradle/spotless/GroovyGradleExtensionTest.java | 4 ++-- .../gradle/spotless/HasBuiltinDelimiterForLicenseTest.java | 4 ++-- .../test/java/com/diffplug/gradle/spotless/IdeHookTest.java | 4 ++-- .../com/diffplug/gradle/spotless/IndependentTaskTest.java | 4 ++-- .../com/diffplug/gradle/spotless/JavaDefaultTargetTest.java | 4 ++-- .../com/diffplug/gradle/spotless/KotlinExtensionTest.java | 4 ++-- .../diffplug/gradle/spotless/KotlinGradleExtensionTest.java | 4 ++-- .../java/com/diffplug/gradle/spotless/LicenseHeaderTest.java | 4 ++-- .../diffplug/gradle/spotless/MultiProjectAfterEvaluate.java | 4 ++-- .../com/diffplug/gradle/spotless/PrettierIntegrationTest.java | 4 ++-- .../java/com/diffplug/gradle/spotless/RatchetFromTest.java | 4 ++-- .../gradle/spotless/RegisterDependenciesTaskTest.java | 4 ++-- .../java/com/diffplug/gradle/spotless/ScalaExtensionTest.java | 4 ++-- .../java/com/diffplug/gradle/spotless/SpecificFilesTest.java | 4 ++-- .../java/com/diffplug/gradle/spotless/SqlExtensionTest.java | 4 ++-- .../com/diffplug/gradle/spotless/TypescriptExtensionTest.java | 4 ++-- .../test/java/com/diffplug/gradle/spotless/UpToDateTest.java | 4 ++-- 28 files changed, 56 insertions(+), 56 deletions(-) rename plugin-gradle/src/test/java/com/diffplug/gradle/spotless/{GradleIntegrationTest.java => GradleIntegrationHarness.java} (98%) diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java index 578dc7aa4f..cfa791c4b0 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class BumpThisNumberIfACustomStepChangesTest extends GradleIntegrationTest { +public class BumpThisNumberIfACustomStepChangesTest extends GradleIntegrationHarness { private void writeBuildFile(String toInsert) throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ConfigAvoidanceTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ConfigAvoidanceTest.java index f5754b3be2..6a4ff4fb7f 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ConfigAvoidanceTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ConfigAvoidanceTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ import org.gradle.testkit.runner.GradleRunner; import org.junit.Test; -public class ConfigAvoidanceTest extends GradleIntegrationTest { +public class ConfigAvoidanceTest extends GradleIntegrationHarness { protected final GradleRunner gradleRunnerConfigAvoidance() throws IOException { return gradleRunner().withGradleVersion(SpotlessPluginLegacy.CONFIG_AVOIDANCE_INTRODUCED.getVersion()); } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java index 3198aaf9c1..2e7d061f5e 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class CustomLazyGroovyTest extends GradleIntegrationTest { +public class CustomLazyGroovyTest extends GradleIntegrationHarness { @Test public void integration() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java index 9c7a856d86..8c788db33d 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class EncodingTest extends GradleIntegrationTest { +public class EncodingTest extends GradleIntegrationHarness { @Test public void defaultIsUtf8() throws Exception { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11.java index 968bbc63ee..9cbb34db9c 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,7 +32,7 @@ import com.diffplug.spotless.LineEnding; /** Tests the desired behavior from https://github.com/diffplug/spotless/issues/46. */ -public class ErrorShouldRethrowJre11 extends GradleIntegrationTest { +public class ErrorShouldRethrowJre11 extends GradleIntegrationHarness { private void writeBuild(String... toInsert) throws IOException { List lines = new ArrayList<>(); lines.add("plugins {"); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8.java index 1851ce3e8f..d6977a9829 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,7 +32,7 @@ import com.diffplug.spotless.LineEnding; /** Tests the desired behavior from https://github.com/diffplug/spotless/issues/46. */ -public class ErrorShouldRethrowJre8 extends GradleIntegrationTest { +public class ErrorShouldRethrowJre8 extends GradleIntegrationHarness { private void writeBuild(String... toInsert) throws IOException { List lines = new ArrayList<>(); lines.add("plugins {"); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FreshMarkExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FreshMarkExtensionTest.java index a8c858c4b2..ea397349be 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FreshMarkExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FreshMarkExtensionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class FreshMarkExtensionTest extends GradleIntegrationTest { +public class FreshMarkExtensionTest extends GradleIntegrationHarness { @Test public void integration() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GoogleJavaFormatIntegrationTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GoogleJavaFormatIntegrationTest.java index cbd9e837de..914f388deb 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GoogleJavaFormatIntegrationTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GoogleJavaFormatIntegrationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class GoogleJavaFormatIntegrationTest extends GradleIntegrationTest { +public class GoogleJavaFormatIntegrationTest extends GradleIntegrationHarness { @Test public void integration() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIncrementalResolutionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIncrementalResolutionTest.java index b7c36a94db..22051679d0 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIncrementalResolutionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIncrementalResolutionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +28,7 @@ import com.diffplug.common.base.Errors; import com.diffplug.common.base.StringPrinter; -public class GradleIncrementalResolutionTest extends GradleIntegrationTest { +public class GradleIncrementalResolutionTest extends GradleIntegrationHarness { @Test public void failureDoesntTriggerAll() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationHarness.java similarity index 98% rename from plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationTest.java rename to plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationHarness.java index 93aa6f6d8b..0c04f21b71 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationHarness.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ import com.diffplug.spotless.LineEnding; import com.diffplug.spotless.ResourceHarness; -public class GradleIntegrationTest extends ResourceHarness { +public class GradleIntegrationHarness extends ResourceHarness { /** * Each test gets its own temp folder, and we create a gradle * build there and run it. diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyExtensionTest.java index aaa3d7cd58..990d8f2cc3 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyExtensionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ import org.junit.Assert; import org.junit.Test; -public class GroovyExtensionTest extends GradleIntegrationTest { +public class GroovyExtensionTest extends GradleIntegrationHarness { private static final String HEADER = "//My tests header"; diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyGradleExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyGradleExtensionTest.java index fc4de71b15..22ece4e63d 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyGradleExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyGradleExtensionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ import com.diffplug.common.base.StringPrinter; -public class GroovyGradleExtensionTest extends GradleIntegrationTest { +public class GroovyGradleExtensionTest extends GradleIntegrationHarness { private static final String HEADER = "//My tests header"; @Test diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/HasBuiltinDelimiterForLicenseTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/HasBuiltinDelimiterForLicenseTest.java index ae64e2a858..ac13298729 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/HasBuiltinDelimiterForLicenseTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/HasBuiltinDelimiterForLicenseTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class HasBuiltinDelimiterForLicenseTest extends GradleIntegrationTest { +public class HasBuiltinDelimiterForLicenseTest extends GradleIntegrationHarness { @Test public void testWithCommonInterfaceForConfiguringLicences() throws IOException { diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/IdeHookTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/IdeHookTest.java index c13d3d98bb..0e8fdd7cd6 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/IdeHookTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/IdeHookTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +28,7 @@ import com.diffplug.common.base.StringPrinter; import com.diffplug.common.io.Files; -public class IdeHookTest extends GradleIntegrationTest { +public class IdeHookTest extends GradleIntegrationHarness { private String output, error; private File dirty, clean, diverge, outofbounds; diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/IndependentTaskTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/IndependentTaskTest.java index 8d94300004..f1819e858b 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/IndependentTaskTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/IndependentTaskTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class IndependentTaskTest extends GradleIntegrationTest { +public class IndependentTaskTest extends GradleIntegrationHarness { @Test public void independent() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java index eb896a7214..ec761a8ef7 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class JavaDefaultTargetTest extends GradleIntegrationTest { +public class JavaDefaultTargetTest extends GradleIntegrationHarness { @Test public void integration() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java index 39137fc06e..e4418121a0 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ import com.diffplug.spotless.JreVersion; -public class KotlinExtensionTest extends GradleIntegrationTest { +public class KotlinExtensionTest extends GradleIntegrationHarness { private static final String HEADER = "// License Header"; private static final String HEADER_WITH_YEAR = "// License Header $YEAR"; diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java index e87fce1741..1258b732ff 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ import com.diffplug.spotless.JreVersion; -public class KotlinGradleExtensionTest extends GradleIntegrationTest { +public class KotlinGradleExtensionTest extends GradleIntegrationHarness { @Test public void integration() throws IOException { testInDirectory(null); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/LicenseHeaderTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/LicenseHeaderTest.java index efb810f761..d9594a3bcf 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/LicenseHeaderTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/LicenseHeaderTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ import org.eclipse.jgit.api.Git; import org.junit.Test; -public class LicenseHeaderTest extends GradleIntegrationTest { +public class LicenseHeaderTest extends GradleIntegrationHarness { private static final String NOW = String.valueOf(YearMonth.now().getYear()); private static final String TEST_JAVA = "src/main/java/pkg/Test.java"; diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/MultiProjectAfterEvaluate.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/MultiProjectAfterEvaluate.java index 7690060f82..1f6cf7a703 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/MultiProjectAfterEvaluate.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/MultiProjectAfterEvaluate.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ import org.junit.Test; /** Reproduces https://github.com/diffplug/spotless/issues/506 */ -public class MultiProjectAfterEvaluate extends GradleIntegrationTest { +public class MultiProjectAfterEvaluate extends GradleIntegrationHarness { @Test public void failureDoesntTriggerAll() throws IOException { setFile("settings.gradle").toLines("include 'sub'"); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PrettierIntegrationTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PrettierIntegrationTest.java index 7a0d374e49..a371761a53 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PrettierIntegrationTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PrettierIntegrationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ import com.diffplug.spotless.category.NpmTest; @Category(NpmTest.class) -public class PrettierIntegrationTest extends GradleIntegrationTest { +public class PrettierIntegrationTest extends GradleIntegrationHarness { @Test public void useInlineConfig() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/RatchetFromTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/RatchetFromTest.java index 576ef1fc40..16a3f3661c 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/RatchetFromTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/RatchetFromTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ import org.eclipse.jgit.api.Git; import org.junit.Test; -public class RatchetFromTest extends GradleIntegrationTest { +public class RatchetFromTest extends GradleIntegrationHarness { private static final String TEST_PATH = "src/markdown/test.md"; @Test diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/RegisterDependenciesTaskTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/RegisterDependenciesTaskTest.java index e5b6c3c34f..87fd4b2bcb 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/RegisterDependenciesTaskTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/RegisterDependenciesTaskTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ import com.diffplug.spotless.JreVersion; -public class RegisterDependenciesTaskTest extends GradleIntegrationTest { +public class RegisterDependenciesTaskTest extends GradleIntegrationHarness { @Test public void registerDependencies() throws IOException { setFile("settings.gradle") diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java index 4f375d1413..2a38db59bc 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class ScalaExtensionTest extends GradleIntegrationTest { +public class ScalaExtensionTest extends GradleIntegrationHarness { @Test public void integration() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SpecificFilesTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SpecificFilesTest.java index 452cd9b22e..bff7d7b49a 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SpecificFilesTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SpecificFilesTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,7 +25,7 @@ import com.diffplug.common.base.StandardSystemProperty; -public class SpecificFilesTest extends GradleIntegrationTest { +public class SpecificFilesTest extends GradleIntegrationHarness { private static boolean isWindows() { return StandardSystemProperty.OS_NAME.value().toLowerCase(Locale.US).contains("win"); } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java index 77aed402ae..8f10df04ce 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class SqlExtensionTest extends GradleIntegrationTest { +public class SqlExtensionTest extends GradleIntegrationHarness { @Test public void should_format_sql_with_default_configuration() throws IOException { diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/TypescriptExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/TypescriptExtensionTest.java index 677f135b70..bd91e35805 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/TypescriptExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/TypescriptExtensionTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ import com.diffplug.spotless.category.NpmTest; @Category(NpmTest.class) -public class TypescriptExtensionTest extends GradleIntegrationTest { +public class TypescriptExtensionTest extends GradleIntegrationHarness { @Test public void allowToSpecifyFormatterVersion() throws IOException { setFile("build.gradle").toLines( diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/UpToDateTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/UpToDateTest.java index 53657985ee..07656929ad 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/UpToDateTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/UpToDateTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ import org.gradle.testkit.runner.TaskOutcome; import org.junit.Test; -public class UpToDateTest extends GradleIntegrationTest { +public class UpToDateTest extends GradleIntegrationHarness { /** Requires that README be lowercase. */ private void writeBuildFile() throws IOException { setFile("build.gradle").toLines( From 0ef497f3661264fd1df60efe387ee4926350dcb2 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:30:22 -0700 Subject: [PATCH 04/19] Rename MavenIntegrationTest to MavenIntegrationHarness (every *Test should actually be a test). --- .../com/diffplug/spotless/maven/IncludesExcludesTest.java | 4 ++-- ...venIntegrationTest.java => MavenIntegrationHarness.java} | 6 +++--- .../com/diffplug/spotless/maven/MavenProvisionerTest.java | 4 ++-- .../com/diffplug/spotless/maven/MultiModuleProjectTest.java | 6 +++--- .../com/diffplug/spotless/maven/MultipleFormatsTest.java | 4 ++-- .../java/com/diffplug/spotless/maven/SpecificFilesTest.java | 4 ++-- .../com/diffplug/spotless/maven/SpotlessCheckMojoTest.java | 4 ++-- .../com/diffplug/spotless/maven/generic/EclipseWtpTest.java | 6 +++--- .../diffplug/spotless/maven/generic/EndWithNewlineTest.java | 6 +++--- .../com/diffplug/spotless/maven/generic/IndentTest.java | 6 +++--- .../diffplug/spotless/maven/generic/LicenseHeaderTest.java | 6 +++--- .../diffplug/spotless/maven/generic/LineEndingsTest.java | 6 +++--- .../diffplug/spotless/maven/generic/ReplaceRegexTest.java | 6 +++--- .../com/diffplug/spotless/maven/generic/ReplaceTest.java | 6 +++--- .../spotless/maven/generic/TrimTrailingWhitespaceTest.java | 6 +++--- .../diffplug/spotless/maven/java/EclipseFormatStepTest.java | 6 +++--- .../diffplug/spotless/maven/java/GoogleJavaFormatTest.java | 6 +++--- .../com/diffplug/spotless/maven/java/ImportOrderTest.java | 6 +++--- .../spotless/maven/java/RemoveUnusedImportsStepTest.java | 6 +++--- .../java/com/diffplug/spotless/maven/kotlin/KtfmtTest.java | 6 +++--- .../java/com/diffplug/spotless/maven/kotlin/KtlintTest.java | 6 +++--- .../spotless/maven/prettier/PrettierFormatStepTest.java | 6 +++--- .../com/diffplug/spotless/maven/scala/ScalafmtTest.java | 6 +++--- .../spotless/maven/typescript/TypescriptFormatStepTest.java | 6 +++--- 24 files changed, 67 insertions(+), 67 deletions(-) rename plugin-maven/src/test/java/com/diffplug/spotless/maven/{MavenIntegrationTest.java => MavenIntegrationHarness.java} (98%) diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java index d7fedd6a12..2d3c5d4ea3 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class IncludesExcludesTest extends MavenIntegrationTest { +public class IncludesExcludesTest extends MavenIntegrationHarness { private static final String JAVA_FORMATTED = "java/eclipse/JavaCodeFormatted.test"; private static final String JAVA_UNFORMATTED = "java/eclipse/JavaCodeUnformatted.test"; diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationHarness.java similarity index 98% rename from plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationTest.java rename to plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationHarness.java index 4a741a37c4..f9c2564631 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationHarness.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,7 +43,7 @@ import com.diffplug.common.io.Resources; import com.diffplug.spotless.ResourceHarness; -public class MavenIntegrationTest extends ResourceHarness { +public class MavenIntegrationHarness extends ResourceHarness { /** * To run tests in the IDE, run `gradlew :plugin-maven:changelogPrint`, then * put the last version it prints into `SPOTLESS_MAVEN_VERSION_IDE`. From now @@ -159,7 +159,7 @@ private String createPomXmlContent(String[] executions, String[] configuration) } private String createPomXmlContent(String pomTemplate, Map params) throws IOException { - URL url = MavenIntegrationTest.class.getResource(pomTemplate); + URL url = MavenIntegrationHarness.class.getResource(pomTemplate); try (BufferedReader reader = Resources.asCharSource(url, StandardCharsets.UTF_8).openBufferedStream()) { Mustache mustache = mustacheFactory.compile(reader, "pom"); StringWriter writer = new StringWriter(); diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenProvisionerTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenProvisionerTest.java index c5d6201f0d..a2b3582ece 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenProvisionerTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenProvisionerTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ import org.junit.Test; -public class MavenProvisionerTest extends MavenIntegrationTest { +public class MavenProvisionerTest extends MavenIntegrationHarness { @Test public void testMultipleDependenciesExcludingTransitives() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultiModuleProjectTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultiModuleProjectTest.java index e410fe5a4e..b2206a7ab6 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultiModuleProjectTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultiModuleProjectTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,11 +15,11 @@ */ package com.diffplug.spotless.maven; -import static com.diffplug.spotless.maven.MavenIntegrationTest.SubProjectFile.file; +import static com.diffplug.spotless.maven.MavenIntegrationHarness.SubProjectFile.file; import org.junit.Test; -public class MultiModuleProjectTest extends MavenIntegrationTest { +public class MultiModuleProjectTest extends MavenIntegrationHarness { @Test public void testConfigurationDependency() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultipleFormatsTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultipleFormatsTest.java index fe758825e6..cfa5269c4e 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultipleFormatsTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultipleFormatsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ import org.junit.Test; -public class MultipleFormatsTest extends MavenIntegrationTest { +public class MultipleFormatsTest extends MavenIntegrationHarness { @Test public void testMultipleFormatsWithDifferentIncludes() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpecificFilesTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpecificFilesTest.java index 8f1b739ad4..3649cc7fd5 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpecificFilesTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpecificFilesTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import org.junit.Test; -public class SpecificFilesTest extends MavenIntegrationTest { +public class SpecificFilesTest extends MavenIntegrationHarness { private String testFile(int number, boolean absolute) throws IOException { String rel = "src/main/java/test" + number + ".java"; if (absolute) { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpotlessCheckMojoTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpotlessCheckMojoTest.java index df25ea4237..e965ec0196 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpotlessCheckMojoTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpotlessCheckMojoTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ import org.junit.Test; -public class SpotlessCheckMojoTest extends MavenIntegrationTest { +public class SpotlessCheckMojoTest extends MavenIntegrationHarness { private static final String UNFORMATTED_FILE = "license/MissingLicense.test"; private static final String FORMATTED_FILE = "license/HasLicense.test"; diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/EclipseWtpTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/EclipseWtpTest.java index 92a103bb8f..5a1a5eb0f3 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/EclipseWtpTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/EclipseWtpTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class EclipseWtpTest extends MavenIntegrationTest { +public class EclipseWtpTest extends MavenIntegrationHarness { @Test public void testType() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/EndWithNewlineTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/EndWithNewlineTest.java index 2215b8899f..df5f10b51f 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/EndWithNewlineTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/EndWithNewlineTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class EndWithNewlineTest extends MavenIntegrationTest { +public class EndWithNewlineTest extends MavenIntegrationHarness { @Test public void fromContent() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/IndentTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/IndentTest.java index 915c66c59f..f36cdf468a 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/IndentTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/IndentTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class IndentTest extends MavenIntegrationTest { +public class IndentTest extends MavenIntegrationHarness { @Test public void fromContentToTabs() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LicenseHeaderTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LicenseHeaderTest.java index 7897752502..5bc34442d2 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LicenseHeaderTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LicenseHeaderTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class LicenseHeaderTest extends MavenIntegrationTest { +public class LicenseHeaderTest extends MavenIntegrationHarness { private static final String KEY_LICENSE = "license/TestLicense"; private static final String KOTLIN_LICENSE_HEADER = "// Hello, I'm Kotlin license header"; diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LineEndingsTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LineEndingsTest.java index 8d23527975..947a74835a 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LineEndingsTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LineEndingsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class LineEndingsTest extends MavenIntegrationTest { +public class LineEndingsTest extends MavenIntegrationHarness { @Test public void fromContentToWindows() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/ReplaceRegexTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/ReplaceRegexTest.java index 204b0e57a4..f392d35a0a 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/ReplaceRegexTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/ReplaceRegexTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class ReplaceRegexTest extends MavenIntegrationTest { +public class ReplaceRegexTest extends MavenIntegrationHarness { @Test public void fromContent() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/ReplaceTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/ReplaceTest.java index 04ae5ae6d0..89aaf88246 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/ReplaceTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/ReplaceTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class ReplaceTest extends MavenIntegrationTest { +public class ReplaceTest extends MavenIntegrationHarness { @Test public void fromContent() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/TrimTrailingWhitespaceTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/TrimTrailingWhitespaceTest.java index b8f930cf12..ab28282713 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/TrimTrailingWhitespaceTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/TrimTrailingWhitespaceTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class TrimTrailingWhitespaceTest extends MavenIntegrationTest { +public class TrimTrailingWhitespaceTest extends MavenIntegrationHarness { @Test public void fromContentToTabs() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java index af9f06e15d..cf48130b30 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class EclipseFormatStepTest extends MavenIntegrationTest { +public class EclipseFormatStepTest extends MavenIntegrationHarness { @Test public void testEclipse() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/GoogleJavaFormatTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/GoogleJavaFormatTest.java index 137cf4c7fc..4cbda00383 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/GoogleJavaFormatTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/GoogleJavaFormatTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class GoogleJavaFormatTest extends MavenIntegrationTest { +public class GoogleJavaFormatTest extends MavenIntegrationHarness { @Test public void specificVersionDefaultStyle() throws Exception { writePomWithJavaSteps( diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/ImportOrderTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/ImportOrderTest.java index aa9db93793..206b5ba38a 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/ImportOrderTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/ImportOrderTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class ImportOrderTest extends MavenIntegrationTest { +public class ImportOrderTest extends MavenIntegrationHarness { @Test public void file() throws Exception { setFile("import.properties").toResource("java/importsorter/import.properties"); diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/RemoveUnusedImportsStepTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/RemoveUnusedImportsStepTest.java index 4cad34ef90..b220cf42cd 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/RemoveUnusedImportsStepTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/RemoveUnusedImportsStepTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class RemoveUnusedImportsStepTest extends MavenIntegrationTest { +public class RemoveUnusedImportsStepTest extends MavenIntegrationHarness { @Test public void testRemoveUnusedInports() throws Exception { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtfmtTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtfmtTest.java index d87c15a503..77eec92b81 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtfmtTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtfmtTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,9 +18,9 @@ import org.junit.Test; import com.diffplug.spotless.JreVersion; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class KtfmtTest extends MavenIntegrationTest { +public class KtfmtTest extends MavenIntegrationHarness { @Test public void testKtfmt() throws Exception { if (JreVersion.thisVm() == JreVersion._8) { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtlintTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtlintTest.java index 20be89f920..e47f2ab06a 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtlintTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtlintTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class KtlintTest extends MavenIntegrationTest { +public class KtlintTest extends MavenIntegrationHarness { @Test public void testKtlint() throws Exception { writePomWithKotlinSteps(""); diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/prettier/PrettierFormatStepTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/prettier/PrettierFormatStepTest.java index 151101a957..772080ea31 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/prettier/PrettierFormatStepTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/prettier/PrettierFormatStepTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,11 +23,11 @@ import org.junit.experimental.categories.Category; import com.diffplug.spotless.category.NpmTest; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; import com.diffplug.spotless.maven.MavenRunner; @Category(NpmTest.class) -public class PrettierFormatStepTest extends MavenIntegrationTest { +public class PrettierFormatStepTest extends MavenIntegrationHarness { private void run(String kind, String suffix) throws IOException, InterruptedException { String configPath = ".prettierrc.yml"; diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/scala/ScalafmtTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/scala/ScalafmtTest.java index 5c51fc89e3..c1837d92e4 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/scala/ScalafmtTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/scala/ScalafmtTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,9 @@ import org.junit.Test; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; -public class ScalafmtTest extends MavenIntegrationTest { +public class ScalafmtTest extends MavenIntegrationHarness { @Test public void testScalafmtWithDefaultConfig() throws Exception { writePomWithScalaSteps(""); diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/typescript/TypescriptFormatStepTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/typescript/TypescriptFormatStepTest.java index 5db6758f48..a8823b81fb 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/typescript/TypescriptFormatStepTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/typescript/TypescriptFormatStepTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,11 +23,11 @@ import org.junit.experimental.categories.Category; import com.diffplug.spotless.category.NpmTest; -import com.diffplug.spotless.maven.MavenIntegrationTest; +import com.diffplug.spotless.maven.MavenIntegrationHarness; import com.diffplug.spotless.maven.MavenRunner; @Category(NpmTest.class) -public class TypescriptFormatStepTest extends MavenIntegrationTest { +public class TypescriptFormatStepTest extends MavenIntegrationHarness { private void run(String kind) throws IOException, InterruptedException { String path = "src/main/typescript/test.ts"; setFile(path).toResource("npm/tsfmt/" + kind + "/" + kind + ".dirty"); From 160cf3c446f6d7ada05b46283f98638a929373bc Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:34:34 -0700 Subject: [PATCH 05/19] Add Test suffix to ErrorShouldRethrow since they are tests. --- ...ShouldRethrowJre11.java => ErrorShouldRethrowJre11Test.java} | 2 +- ...orShouldRethrowJre8.java => ErrorShouldRethrowJre8Test.java} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename plugin-gradle/src/test/java/com/diffplug/gradle/spotless/{ErrorShouldRethrowJre11.java => ErrorShouldRethrowJre11Test.java} (98%) rename plugin-gradle/src/test/java/com/diffplug/gradle/spotless/{ErrorShouldRethrowJre8.java => ErrorShouldRethrowJre8Test.java} (98%) diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11Test.java similarity index 98% rename from plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11.java rename to plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11Test.java index 9cbb34db9c..d227e779ab 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre11Test.java @@ -32,7 +32,7 @@ import com.diffplug.spotless.LineEnding; /** Tests the desired behavior from https://github.com/diffplug/spotless/issues/46. */ -public class ErrorShouldRethrowJre11 extends GradleIntegrationHarness { +public class ErrorShouldRethrowJre11Test extends GradleIntegrationHarness { private void writeBuild(String... toInsert) throws IOException { List lines = new ArrayList<>(); lines.add("plugins {"); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8Test.java similarity index 98% rename from plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8.java rename to plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8Test.java index d6977a9829..ed41e007db 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrowJre8Test.java @@ -32,7 +32,7 @@ import com.diffplug.spotless.LineEnding; /** Tests the desired behavior from https://github.com/diffplug/spotless/issues/46. */ -public class ErrorShouldRethrowJre8 extends GradleIntegrationHarness { +public class ErrorShouldRethrowJre8Test extends GradleIntegrationHarness { private void writeBuild(String... toInsert) throws IOException { List lines = new ArrayList<>(); lines.add("plugins {"); From d9dd10f1ea14346bed7ab2afbf739951d7f5644f Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:35:23 -0700 Subject: [PATCH 06/19] Remove deprecated (and unused) ExpectedException. --- .../com/diffplug/spotless/FormatterPropertiesTest.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java b/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java index 8b5a0da6f2..fca26249ca 100644 --- a/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java +++ b/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,15 +24,10 @@ import java.util.Properties; import org.assertj.core.api.AbstractAssert; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.ExpectedException; public class FormatterPropertiesTest extends ResourceHarness { - @Rule - public ExpectedException expectedEx = ExpectedException.none(); - private static final String RESOURCES_ROOT_DIR = "formatter/properties/"; private static final String[] VALID_SETTINGS_RESOURCES = { @@ -168,11 +163,9 @@ public FormatterSettingsAssert containsCommonValueOf(final File file) { return this; } - } private static FormatterSettingsAssert assertFor(FormatterProperties actual) { return new FormatterSettingsAssert(actual); } - } From ee5b6fa357f2bb6cb59fcdefdb34047b270cb996 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:36:25 -0700 Subject: [PATCH 07/19] Fix @SuppressWarnings tag in the wrong place for GoogleJavaFormat. --- .../java/com/diffplug/spotless/java/GoogleJavaFormatStep.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/main/java/com/diffplug/spotless/java/GoogleJavaFormatStep.java b/lib/src/main/java/com/diffplug/spotless/java/GoogleJavaFormatStep.java index 2aefe12ce6..b30dbfd48b 100644 --- a/lib/src/main/java/com/diffplug/spotless/java/GoogleJavaFormatStep.java +++ b/lib/src/main/java/com/diffplug/spotless/java/GoogleJavaFormatStep.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -138,7 +138,6 @@ FormatterFunc createFormat() throws Exception { }; } - @SuppressWarnings({"unchecked", "rawtypes"}) FormatterFunc createRemoveUnusedImportsOnly() throws Exception { ClassLoader classLoader = jarState.getClassLoader(); @@ -161,6 +160,7 @@ private static Function constructRemoveUnusedFunction(ClassLoade Function removeUnused; if (removeJavadocOnlyClass != null) { + @SuppressWarnings({"unchecked", "rawtypes"}) Object removeJavadocConstant = Enum.valueOf((Class) removeJavadocOnlyClass, REMOVE_UNUSED_IMPORT_JavadocOnlyImports_Keep); Method removeUnusedMethod = removeUnusedClass.getMethod(REMOVE_UNUSED_METHOD, String.class, removeJavadocOnlyClass); removeUnused = (x) -> (String) removeUnusedMethod.invoke(null, x, removeJavadocConstant); From e7941fef0cbe618e3dc1bd9c96c903ed783ffb84 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:37:11 -0700 Subject: [PATCH 08/19] Replace deprecated hamcrest stuff with assertj. --- .../spotless/npm/SimpleJsonWriterTest.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/testlib/src/test/java/com/diffplug/spotless/npm/SimpleJsonWriterTest.java b/testlib/src/test/java/com/diffplug/spotless/npm/SimpleJsonWriterTest.java index 787bba49ff..592052d5e1 100644 --- a/testlib/src/test/java/com/diffplug/spotless/npm/SimpleJsonWriterTest.java +++ b/testlib/src/test/java/com/diffplug/spotless/npm/SimpleJsonWriterTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,8 +15,8 @@ */ package com.diffplug.spotless.npm; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.junit.Assert.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; import java.io.File; import java.io.IOException; @@ -32,25 +32,25 @@ public class SimpleJsonWriterTest extends ResourceHarness { @Test public void itWritesAValidEmptyObject() { - assertThat(jsonWriter.toJsonString().replaceAll("\\s", ""), equalTo("{}")); + assertThat(jsonWriter.toJsonString().replaceAll("\\s", "")).isEqualTo("{}"); } @Test public void itWritesABooleanProperty() { jsonWriter.put("mybool", true); - assertThat(jsonWriter.toJsonString(), equalTo("{\n \"mybool\": true\n}")); + assertThat(jsonWriter.toJsonString()).isEqualTo("{\n \"mybool\": true\n}"); } @Test public void itWritesAStringProperty() { jsonWriter.put("mystring", "stringvalue"); - assertThat(jsonWriter.toJsonString(), equalTo("{\n \"mystring\": \"stringvalue\"\n}")); + assertThat(jsonWriter.toJsonString()).isEqualTo("{\n \"mystring\": \"stringvalue\"\n}"); } @Test public void itWritesAnInteger() { jsonWriter.put("myint", 7); - assertThat(jsonWriter.toJsonString(), equalTo("{\n \"myint\": 7\n}")); + assertThat(jsonWriter.toJsonString()).isEqualTo("{\n \"myint\": 7\n}"); } @Test(expected = IllegalArgumentException.class) @@ -62,7 +62,7 @@ public void itFailsOnUnsupportedObject() { @Test public void itHandlesSeveralOptionsSimultaneously() { jsonWriter.putAll(ImmutableMap.of("mystring", "stringvalue", "intvalue", 1)); - assertThat(jsonWriter.toJsonString(), equalTo("{\n \"mystring\": \"stringvalue\",\n \"intvalue\": 1\n}")); + assertThat(jsonWriter.toJsonString()).isEqualTo("{\n \"mystring\": \"stringvalue\",\n \"intvalue\": 1\n}"); } @Test From 3ea4f86b9b90793a820889bea1e177dea8f7437c Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:41:24 -0700 Subject: [PATCH 09/19] Deprecate GradleProvisioner.fromProject() with a faster implementation in FormatExtension.provisioner() --- .../com/diffplug/gradle/spotless/CppExtension.java | 2 +- .../com/diffplug/gradle/spotless/CssExtension.java | 2 +- .../com/diffplug/gradle/spotless/FormatExtension.java | 9 +++++++-- .../diffplug/gradle/spotless/FreshMarkExtension.java | 2 +- .../diffplug/gradle/spotless/GradleProvisioner.java | 10 +++++----- .../com/diffplug/gradle/spotless/GroovyExtension.java | 2 +- .../com/diffplug/gradle/spotless/JavaExtension.java | 7 +++---- .../com/diffplug/gradle/spotless/KotlinExtension.java | 4 ++-- .../gradle/spotless/KotlinGradleExtension.java | 4 ++-- .../com/diffplug/gradle/spotless/ScalaExtension.java | 2 +- .../diffplug/gradle/spotless/TypescriptExtension.java | 2 +- .../com/diffplug/gradle/spotless/XmlExtension.java | 2 +- 12 files changed, 26 insertions(+), 22 deletions(-) diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CppExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CppExtension.java index 76c37f3f4a..407bca0679 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CppExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CppExtension.java @@ -42,7 +42,7 @@ public class EclipseConfig { private final EclipseBasedStepBuilder builder; EclipseConfig(String version) { - builder = EclipseCdtFormatterStep.createBuilder(GradleProvisioner.fromProject(getProject())); + builder = EclipseCdtFormatterStep.createBuilder(provisioner()); builder.setVersion(version); addStep(builder.build()); } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CssExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CssExtension.java index 8aa2f9335e..df08a5a0a0 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CssExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/CssExtension.java @@ -50,7 +50,7 @@ public class EclipseConfig { private final EclipseBasedStepBuilder builder; EclipseConfig(String version) { - builder = EclipseWtpFormatterStep.createCssBuilder(GradleProvisioner.fromProject(getProject())); + builder = EclipseWtpFormatterStep.createCssBuilder(provisioner()); builder.setVersion(version); addStep(builder.build()); } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java index ce74efc4b7..f1b2a14058 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java @@ -39,6 +39,7 @@ import com.diffplug.spotless.FormatterStep; import com.diffplug.spotless.LazyForwardingEquality; import com.diffplug.spotless.LineEnding; +import com.diffplug.spotless.Provisioner; import com.diffplug.spotless.ThrowingEx; import com.diffplug.spotless.extra.EclipseBasedStepBuilder; import com.diffplug.spotless.extra.wtp.EclipseWtpFormatterStep; @@ -60,6 +61,10 @@ public FormatExtension(SpotlessExtension spotless) { this.spotless = Objects.requireNonNull(spotless); } + protected final Provisioner provisioner() { + return spotless.registerDependenciesTask.rootProvisioner; + } + private String formatName() { for (Map.Entry entry : spotless.formats.entrySet()) { if (entry.getValue() == this) { @@ -566,7 +571,7 @@ FormatterStep createStep() { final Project project = getProject(); return PrettierFormatterStep.create( devDependencies, - GradleProvisioner.fromProject(project), + provisioner(), project.getBuildDir(), npmFileOrNull(), new com.diffplug.spotless.npm.PrettierConfig( @@ -596,7 +601,7 @@ public class EclipseWtpConfig { private final EclipseBasedStepBuilder builder; EclipseWtpConfig(EclipseWtpFormatterStep type, String version) { - builder = type.createBuilder(GradleProvisioner.fromProject(getProject())); + builder = type.createBuilder(provisioner()); builder.setVersion(version); addStep(builder.build()); } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FreshMarkExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FreshMarkExtension.java index a72361037a..8f24ffd06f 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FreshMarkExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FreshMarkExtension.java @@ -41,7 +41,7 @@ public FreshMarkExtension(SpotlessExtension spotless) { action.execute(map); } return map; - }, GradleProvisioner.fromProject(getProject()))); + }, provisioner())); } public void properties(Action> action) { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GradleProvisioner.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GradleProvisioner.java index 218dfb2a2f..d69dd9d073 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GradleProvisioner.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GradleProvisioner.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,10 +36,10 @@ public class GradleProvisioner { private GradleProvisioner() {} - public static Provisioner fromProject(Project project) { - // TODO: this method is not necessary - we could remove it entirely for a small speedup - return project.getPlugins().apply(SpotlessPlugin.class).getExtension().registerDependenciesTask.rootProvisioner; - } + // @Deprecated + // public static Provisioner fromProject(Project project) { + // return project.getPlugins().apply(SpotlessPlugin.class).getExtension().registerDependenciesTask.rootProvisioner; + // } /** The provisioner used for the root project. */ static class RootProvisioner implements Provisioner { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyExtension.java index f39d06f747..5040e88e89 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GroovyExtension.java @@ -99,7 +99,7 @@ public static class GrEclipseConfig { GrEclipseConfig(String version, FormatExtension extension) { this.extension = extension; - builder = GrEclipseFormatterStep.createBuilder(GradleProvisioner.fromProject(extension.getProject())); + builder = GrEclipseFormatterStep.createBuilder(extension.provisioner()); builder.setVersion(version); extension.addStep(builder.build()); } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavaExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavaExtension.java index 96cdd9b714..3c98b225ae 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavaExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavaExtension.java @@ -100,7 +100,7 @@ public void eclipseFormatFile(String eclipseVersion, Object eclipseFormatFile) { /** Removes any unused imports. */ public void removeUnusedImports() { - addStep(RemoveUnusedImportsStep.create(GradleProvisioner.fromProject(getProject()))); + addStep(RemoveUnusedImportsStep.create(provisioner())); } /** Uses the [google-java-format](https://github.com/google/google-java-format) jar to format source code. */ @@ -139,10 +139,9 @@ public void aosp() { } private FormatterStep createStep() { - Project project = getProject(); return GoogleJavaFormatStep.create(version, style, - GradleProvisioner.fromProject(project)); + provisioner()); } } @@ -158,7 +157,7 @@ public class EclipseConfig { private final EclipseBasedStepBuilder builder; EclipseConfig(String version) { - builder = EclipseJdtFormatterStep.createBuilder(GradleProvisioner.fromProject(getProject())); + builder = EclipseJdtFormatterStep.createBuilder(provisioner()); builder.setVersion(version); addStep(builder.build()); } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinExtension.java index 93bfc1fd4c..55000b6239 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinExtension.java @@ -76,7 +76,7 @@ public void userData(Map userData) { } private FormatterStep createStep() { - return KtLintStep.create(version, GradleProvisioner.fromProject(getProject()), userData); + return KtLintStep.create(version, provisioner(), userData); } } @@ -103,7 +103,7 @@ public class KtfmtConfig { } private FormatterStep createStep() { - return KtfmtStep.create(version, GradleProvisioner.fromProject(getProject())); + return KtfmtStep.create(version, provisioner()); } } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinGradleExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinGradleExtension.java index 633b929d4b..49a6a493cf 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinGradleExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/KotlinGradleExtension.java @@ -62,7 +62,7 @@ public void userData(Map userData) { } private FormatterStep createStep() { - return KtLintStep.createForScript(version, GradleProvisioner.fromProject(getProject()), userData); + return KtLintStep.createForScript(version, provisioner(), userData); } } @@ -89,7 +89,7 @@ public class KtfmtConfig { } private FormatterStep createStep() { - return KtfmtStep.create(version, GradleProvisioner.fromProject(getProject())); + return KtfmtStep.create(version, provisioner()); } } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/ScalaExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/ScalaExtension.java index 9dbadc8104..40d6782820 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/ScalaExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/ScalaExtension.java @@ -60,7 +60,7 @@ public void configFile(Object configFile) { private FormatterStep createStep() { File resolvedConfigFile = configFile == null ? null : getProject().file(configFile); - return ScalaFmtStep.create(version, GradleProvisioner.fromProject(getProject()), resolvedConfigFile); + return ScalaFmtStep.create(version, provisioner(), resolvedConfigFile); } } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java index 72401affc1..557aa2c082 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java @@ -105,7 +105,7 @@ public FormatterStep createStep() { return TsFmtFormatterStep.create( devDependencies, - GradleProvisioner.fromProject(project), + provisioner(), project.getBuildDir(), npmFileOrNull(), typedConfigFile(), diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/XmlExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/XmlExtension.java index a2da39ae40..83a4b4e766 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/XmlExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/XmlExtension.java @@ -46,7 +46,7 @@ public class EclipseConfig { private final EclipseBasedStepBuilder builder; EclipseConfig(String version) { - builder = EclipseWtpFormatterStep.createXmlBuilder(GradleProvisioner.fromProject(getProject())); + builder = EclipseWtpFormatterStep.createXmlBuilder(provisioner()); builder.setVersion(version); addStep(builder.build()); } From f6f614752d87764fad55f4064eab0d1fec99ffc4 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:42:44 -0700 Subject: [PATCH 10/19] Rename SpotlessPluginLegacy to indicate that it is only related to config avoidance. --- .../java/com/diffplug/gradle/spotless/SpotlessPlugin.java | 8 ++++---- ...idance.java => SpotlessPluginPostConfigAvoidance.java} | 4 ++-- ...nLegacy.java => SpotlessPluginPreConfigAvoidance.java} | 4 ++-- .../com/diffplug/gradle/spotless/ConfigAvoidanceTest.java | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) rename plugin-gradle/src/main/java/com/diffplug/gradle/spotless/{SpotlessPluginConfigAvoidance.java => SpotlessPluginPostConfigAvoidance.java} (93%) rename plugin-gradle/src/main/java/com/diffplug/gradle/spotless/{SpotlessPluginLegacy.java => SpotlessPluginPreConfigAvoidance.java} (93%) diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java index 4d0be9cb53..8eb2d39394 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,10 +50,10 @@ public void apply(Project project) { // getTasks() returns a "live" collection, so this works even if the // task doesn't exist at the time this call is made if (spotlessExtension.enforceCheck) { - if (GradleVersion.current().compareTo(SpotlessPluginLegacy.CONFIG_AVOIDANCE_INTRODUCED) >= 0) { - SpotlessPluginConfigAvoidance.enforceCheck(spotlessExtension, project); + if (GradleVersion.current().compareTo(SpotlessPluginPreConfigAvoidance.CONFIG_AVOIDANCE_INTRODUCED) >= 0) { + SpotlessPluginPostConfigAvoidance.enforceCheck(spotlessExtension, project); } else { - SpotlessPluginLegacy.enforceCheck(spotlessExtension, project); + SpotlessPluginPreConfigAvoidance.enforceCheck(spotlessExtension, project); } } }); diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginConfigAvoidance.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginPostConfigAvoidance.java similarity index 93% rename from plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginConfigAvoidance.java rename to plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginPostConfigAvoidance.java index da8b6c1f29..a995dad781 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginConfigAvoidance.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginPostConfigAvoidance.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ import org.gradle.api.plugins.JavaBasePlugin; import org.gradle.api.tasks.TaskProvider; -class SpotlessPluginConfigAvoidance { +class SpotlessPluginPostConfigAvoidance { static void enforceCheck(SpotlessExtension extension, Project project) { TaskProvider check = project.getTasks().named(JavaBasePlugin.CHECK_TASK_NAME); check.configure(task -> task.dependsOn(extension.rootCheckTask)); diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginLegacy.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginPreConfigAvoidance.java similarity index 93% rename from plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginLegacy.java rename to plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginPreConfigAvoidance.java index 5c6f4db8a8..098ff28036 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginLegacy.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPluginPreConfigAvoidance.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ import org.gradle.api.plugins.JavaBasePlugin; import org.gradle.util.GradleVersion; -class SpotlessPluginLegacy { +class SpotlessPluginPreConfigAvoidance { static final GradleVersion CONFIG_AVOIDANCE_INTRODUCED = GradleVersion.version("4.9"); static void enforceCheck(SpotlessExtension extension, Project project) { diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ConfigAvoidanceTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ConfigAvoidanceTest.java index 6a4ff4fb7f..37594b20f0 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ConfigAvoidanceTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ConfigAvoidanceTest.java @@ -23,7 +23,7 @@ public class ConfigAvoidanceTest extends GradleIntegrationHarness { protected final GradleRunner gradleRunnerConfigAvoidance() throws IOException { - return gradleRunner().withGradleVersion(SpotlessPluginLegacy.CONFIG_AVOIDANCE_INTRODUCED.getVersion()); + return gradleRunner().withGradleVersion(SpotlessPluginPreConfigAvoidance.CONFIG_AVOIDANCE_INTRODUCED.getVersion()); } @Test From 6d1c18875b116b0daedeaca79c3615ef4ea82a3f Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Mon, 1 Jun 2020 17:44:20 -0700 Subject: [PATCH 11/19] Update our plugins tags to accurately represent the formatters we support. --- plugin-gradle/build.gradle | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/plugin-gradle/build.gradle b/plugin-gradle/build.gradle index 8a31f2c41c..2fe8ed4a14 100644 --- a/plugin-gradle/build.gradle +++ b/plugin-gradle/build.gradle @@ -55,16 +55,25 @@ if (version.endsWith('-SNAPSHOT')) { vcsUrl = "https://github.com/diffplug/spotless" description = project.description + def tagSeo = [ + 'format', + 'style', + 'license', + 'header', + 'google-java-format', + 'eclipse', + 'ktlint', + 'ktfmt', + 'tsfmt', + 'prettier', + 'scalafmt', + 'scalafix' + ] plugins { spotlessPlugin { id = 'com.diffplug.gradle.spotless' displayName = 'Spotless formatting plugin' - tags = [ - 'format', - 'style', - 'license', - 'header' - ] + tags = tagSeo } } From 359ee60c0ae0c60cf6a79d5bb72ace1d6aec84a7 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 00:45:09 -0700 Subject: [PATCH 12/19] Improve padded cell's deprecation message. --- plugin-gradle/CHANGES.md | 2 ++ .../main/java/com/diffplug/gradle/spotless/SpotlessTask.java | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/plugin-gradle/CHANGES.md b/plugin-gradle/CHANGES.md index 520b1bd3fb..80eb7b220d 100644 --- a/plugin-gradle/CHANGES.md +++ b/plugin-gradle/CHANGES.md @@ -3,6 +3,8 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format (starting after version `3.27.0`). ## [Unreleased] +### Fixed +* Improved the warning message for `paddedCell` deprecation, along with many API-invisible fixes and cleanup. ([#592](https://github.com/diffplug/spotless/pull/592/files)) ## [4.2.0] - 2020-06-03 ### Added diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java index ec60b8d426..a2e24ef58f 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -104,7 +104,7 @@ public boolean isPaddedCell() { @Deprecated public void setPaddedCell(boolean paddedCell) { - getLogger().warn("PaddedCell is now always on, and cannot be turned off."); + getLogger().warn("Spotless warning: Padded Cell is now always on, and cannot be turned off. Find `paddedCell(` and remove all invocations."); } protected String filePatterns = ""; From fffc555be69e198cfbe89ad27e9ed2132d42b810 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 08:29:18 -0700 Subject: [PATCH 13/19] Fail the build if javadoc gets broken. --- gradle/java-publish.gradle | 1 + .../java/com/diffplug/gradle/spotless/FormatExtension.java | 4 ++-- testlib/build.gradle | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gradle/java-publish.gradle b/gradle/java-publish.gradle index 9ec74f7036..d77e48ebbf 100644 --- a/gradle/java-publish.gradle +++ b/gradle/java-publish.gradle @@ -15,6 +15,7 @@ task sourcesJar(type: Jar) { // Thus, no javadoc warnings. javadoc { options.addStringOption('Xdoclint:none', '-quiet') + options.addStringOption('Xwerror', '-quiet') enabled = org.gradle.api.JavaVersion.current() == org.gradle.api.JavaVersion.VERSION_1_8 } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java index f1b2a14058..e0d233b94d 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java @@ -452,8 +452,8 @@ public LicenseHeaderConfig yearSeparator(String yearSeparator) { * Will turn `2004` into `2004-2020`, and `2004-2019` into `2004-2020` * Default value is false, unless {@link SpotlessExtension#ratchetFrom(String)} is used, in which case default value is true. */ - public LicenseHeaderConfig updateYearWithLatest(boolean overwriteYearLatest) { - this.updateYearWithLatest = overwriteYearLatest; + public LicenseHeaderConfig updateYearWithLatest(boolean updateYearWithLatest) { + this.updateYearWithLatest = updateYearWithLatest; replaceStep(createStep()); return this; } diff --git a/testlib/build.gradle b/testlib/build.gradle index e46d099e01..d53285623c 100644 --- a/testlib/build.gradle +++ b/testlib/build.gradle @@ -26,4 +26,5 @@ task npmTest(type: Test) { useJUnit { includeCategories 'com.diffplug.spotless.c javadoc { options.addStringOption('Xdoclint:none', '-quiet') + options.addStringOption('Xwerror', '-quiet') } From 2d7d8cb0c6c74d2ac047842ef5ea957233652478 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 08:45:30 -0700 Subject: [PATCH 14/19] Improve plugin-gradle build, using lessons from https://github.com/diffplug/blowdryer-diffplug/blob/master/src/main/resources/base/gradle-plugin.gradle --- plugin-gradle/build.gradle | 19 +++++++++++-------- .../com.diffplug.gradle.spotless.properties | 1 - 2 files changed, 11 insertions(+), 9 deletions(-) delete mode 100644 plugin-gradle/src/main/resources/META-INF/gradle-plugins/com.diffplug.gradle.spotless.properties diff --git a/plugin-gradle/build.gradle b/plugin-gradle/build.gradle index 2fe8ed4a14..d858645fe8 100644 --- a/plugin-gradle/build.gradle +++ b/plugin-gradle/build.gradle @@ -27,8 +27,6 @@ dependencies { testImplementation "com.diffplug.durian:durian-testlib:${VER_DURIAN}" } -tasks.eclipse.dependsOn(pluginUnderTestMetadata) - test { testLogging.showStandardStreams = true } test { @@ -46,6 +44,16 @@ task npmTest(type: Test) { ////////////////////////// // GRADLE PLUGIN PORTAL // ////////////////////////// +gradlePlugin { + plugins { + spotlessPlugin { + id = 'com.diffplug.gradle.spotless' + implementationClass = 'com.diffplug.gradle.spotless.SpotlessPlugin' + displayName = 'Spotless formatting plugin' + description = project.description + } + } +} if (version.endsWith('-SNAPSHOT')) { publishPlugins.enabled = false } else { @@ -53,9 +61,7 @@ if (version.endsWith('-SNAPSHOT')) { // These settings are set for the whole plugin bundle website = "https://github.com/diffplug/spotless" vcsUrl = "https://github.com/diffplug/spotless" - description = project.description - - def tagSeo = [ + tags = [ 'format', 'style', 'license', @@ -72,11 +78,8 @@ if (version.endsWith('-SNAPSHOT')) { plugins { spotlessPlugin { id = 'com.diffplug.gradle.spotless' - displayName = 'Spotless formatting plugin' - tags = tagSeo } } - mavenCoordinates { groupId = project.group artifactId = project.artifactIdGradle diff --git a/plugin-gradle/src/main/resources/META-INF/gradle-plugins/com.diffplug.gradle.spotless.properties b/plugin-gradle/src/main/resources/META-INF/gradle-plugins/com.diffplug.gradle.spotless.properties deleted file mode 100644 index b731303ce0..0000000000 --- a/plugin-gradle/src/main/resources/META-INF/gradle-plugins/com.diffplug.gradle.spotless.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=com.diffplug.gradle.spotless.SpotlessPlugin From 7fe5726385ee99713863ed85f97f6f4449380931 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 11:07:44 -0700 Subject: [PATCH 15/19] Rework gitRatchet so that we can deprecate SpotlessPlugin.getExtension(). --- .../gradle/spotless/FormatExtension.java | 3 +- .../diffplug/gradle/spotless/GitRatchet.java | 41 ++++++++----------- .../com/diffplug/gradle/spotless/IdeHook.java | 8 ++-- .../gradle/spotless/SpotlessPlugin.java | 13 +++--- .../gradle/spotless/SpotlessTask.java | 10 ++++- .../diffplug/gradle/spotless/SelfTest.java | 4 +- 6 files changed, 39 insertions(+), 40 deletions(-) diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java index e0d233b94d..cb72ef7e36 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/FormatExtension.java @@ -637,7 +637,8 @@ protected void setupTask(SpotlessTask task) { spotless.registerDependenciesTask.hookSubprojectTask(task); } if (spotless.getRatchetFrom() != null) { - task.treeSha = GitRatchet.treeShaOf(spotless.project, spotless.getRatchetFrom()); + task.ratchet = spotless.registerDependenciesTask.gitRatchet; + task.treeSha = task.ratchet.treeShaOf(spotless.project, spotless.getRatchetFrom()); } } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GitRatchet.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GitRatchet.java index 1f61b0459d..e4753540f4 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GitRatchet.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/GitRatchet.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,20 +46,14 @@ import com.diffplug.common.collect.Table; class GitRatchet implements AutoCloseable { - /** There is a single GitRatchet instance shared across the entire Gradle build, this method helps you get it. */ - private static GitRatchet instance(Project project) { - return project.getPlugins().getPlugin(SpotlessPlugin.class).spotlessExtension.registerDependenciesTask.gitRatchet; - } - /** * This is the highest-level method, which all the others serve. Given the sha * of a git tree (not a commit!), and the file in question, this method returns * true if that file is clean relative to that tree. A naive implementation of this * could be verrrry slow, so the rest of this is about speeding this up. */ - public static boolean isClean(Project project, ObjectId treeSha, File file) throws IOException { - GitRatchet instance = instance(project); - Repository repo = instance.repositoryFor(project); + public boolean isClean(Project project, ObjectId treeSha, File file) throws IOException { + Repository repo = repositoryFor(project); String path = repo.getWorkTree().toPath().relativize(file.toPath()).toString(); // TODO: should be cached-per-repo if it is thread-safe, or per-repo-per-thread if it is not @@ -180,24 +174,21 @@ static Repository createRepo(File dir) throws IOException { * is the only method which can trigger any changes, and it is only called during project evaluation. That means our state * is final/read-only during task execution, so we don't need any locks during the heavy lifting. */ - public static ObjectId treeShaOf(Project project, String reference) { - GitRatchet instance = instance(project); - synchronized (instance) { - try { - Repository repo = instance.repositoryFor(project); - ObjectId treeSha = instance.shaCache.get(repo, reference); - if (treeSha == null) { - ObjectId commitSha = repo.resolve(reference); - try (RevWalk revWalk = new RevWalk(repo)) { - RevCommit revCommit = revWalk.parseCommit(commitSha); - treeSha = revCommit.getTree(); - } - instance.shaCache.put(repo, reference, treeSha); + public synchronized ObjectId treeShaOf(Project project, String reference) { + try { + Repository repo = repositoryFor(project); + ObjectId treeSha = shaCache.get(repo, reference); + if (treeSha == null) { + ObjectId commitSha = repo.resolve(reference); + try (RevWalk revWalk = new RevWalk(repo)) { + RevCommit revCommit = revWalk.parseCommit(commitSha); + treeSha = revCommit.getTree(); } - return treeSha; - } catch (Exception e) { - throw Errors.asRuntime(e); + shaCache.put(repo, reference, treeSha); } + return treeSha; + } catch (Exception e) { + throw Errors.asRuntime(e); } } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/IdeHook.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/IdeHook.java index d154fc5f02..85e3836bb3 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/IdeHook.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/IdeHook.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,8 +19,6 @@ import java.io.IOException; import java.nio.file.Files; -import org.eclipse.jgit.lib.ObjectId; - import com.diffplug.common.base.Errors; import com.diffplug.common.io.ByteStreams; import com.diffplug.spotless.Formatter; @@ -44,8 +42,8 @@ static void performHook(SpotlessTask spotlessTask) { } if (spotlessTask.getTarget().contains(file)) { try (Formatter formatter = spotlessTask.buildFormatter()) { - if (!spotlessTask.getRatchetSha().equals(ObjectId.zeroId())) { - if (GitRatchet.isClean(spotlessTask.getProject(), spotlessTask.treeSha, file)) { + if (spotlessTask.ratchet != null) { + if (spotlessTask.ratchet.isClean(spotlessTask.getProject(), spotlessTask.treeSha, file)) { dumpIsClean(); return; } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java index 8eb2d39394..8f3bf90908 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java @@ -24,7 +24,7 @@ import com.diffplug.spotless.SpotlessCache; public class SpotlessPlugin implements Plugin { - SpotlessExtension spotlessExtension; + SpotlessExtension spotless; @Override public void apply(Project project) { @@ -32,7 +32,7 @@ public void apply(Project project) { project.getPlugins().apply(BasePlugin.class); // setup the extension - spotlessExtension = project.getExtensions().create(SpotlessExtension.EXTENSION, SpotlessExtension.class, project); + spotless = project.getExtensions().create(SpotlessExtension.EXTENSION, SpotlessExtension.class, project); // clear spotless' cache when the user does a clean Task clean = project.getTasks().getByName(BasePlugin.CLEAN_TASK_NAME); @@ -49,19 +49,20 @@ public void apply(Project project) { // Add our check task as a dependency on the global check task // getTasks() returns a "live" collection, so this works even if the // task doesn't exist at the time this call is made - if (spotlessExtension.enforceCheck) { + if (spotless.enforceCheck) { if (GradleVersion.current().compareTo(SpotlessPluginPreConfigAvoidance.CONFIG_AVOIDANCE_INTRODUCED) >= 0) { - SpotlessPluginPostConfigAvoidance.enforceCheck(spotlessExtension, project); + SpotlessPluginPostConfigAvoidance.enforceCheck(spotless, project); } else { - SpotlessPluginPreConfigAvoidance.enforceCheck(spotlessExtension, project); + SpotlessPluginPreConfigAvoidance.enforceCheck(spotless, project); } } }); } /** The extension for this plugin. */ + @Deprecated public SpotlessExtension getExtension() { - return spotlessExtension; + return spotless; } static String capitalize(String input) { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java index a2e24ef58f..d0ef840285 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java @@ -30,6 +30,8 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; +import javax.annotation.Nullable; + import org.eclipse.jgit.lib.ObjectId; import org.gradle.api.DefaultTask; import org.gradle.api.GradleException; @@ -89,8 +91,14 @@ public void setLineEndingsPolicy(LineEnding.Policy lineEndingsPolicy) { this.lineEndingsPolicy = Objects.requireNonNull(lineEndingsPolicy); } + @Nullable GitRatchet ratchet; ObjectId treeSha = ObjectId.zeroId(); + @Internal + public GitRatchet getRatchet() { + return ratchet; + } + @Input public ObjectId getRatchetSha() { return treeSha; @@ -236,7 +244,7 @@ private void processInputFile(Formatter formatter, File input) throws IOExceptio File output = getOutputFile(input); getLogger().debug("Applying format to " + input + " and writing to " + output); PaddedCell.DirtyState dirtyState; - if (treeSha != ObjectId.zeroId() && GitRatchet.isClean(getProject(), treeSha, input)) { + if (ratchet != null && ratchet.isClean(getProject(), treeSha, input)) { dirtyState = PaddedCell.isClean(); } else { dirtyState = PaddedCell.calculateDirtyState(formatter, input); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SelfTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SelfTest.java index 78867d26ef..2872035c53 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SelfTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SelfTest.java @@ -67,9 +67,9 @@ private static Project createProject(Consumer test) throws Ex //Project project = Mocks.mockProject(TestProvisioner.gradleProject(new File("").getAbsoluteFile()), afterEvaluate); Project project = TestProvisioner.gradleProject(new File("").getAbsoluteFile()); // create the spotless plugin - SpotlessPlugin plugin = project.getPlugins().apply(SpotlessPlugin.class); + project.getPlugins().apply(SpotlessPlugin.class); // setup the plugin - test.accept(plugin.getExtension()); + test.accept(project.getExtensions().getByType(SpotlessExtension.class)); // run the afterEvaluate section ((ProjectInternal) project).getProjectEvaluationBroadcaster().afterEvaluate(project, project.getState()); // return the configured plugin From bbb0e471cd9b1d447828e87e121adc81b05a0648 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 12:27:04 -0700 Subject: [PATCH 16/19] Centralize all platform-checking code and platform-native path handling code into LineEnding. --- .../com/diffplug/spotless/LineEnding.java | 15 ++++++++++- .../gradle/spotless/SpotlessCheck.java | 9 +++---- .../gradle/spotless/SpotlessTask.java | 3 ++- .../spotless/DiffMessageFormatterTest.java | 8 ++++-- .../gradle/spotless/PaddedCellTaskTest.java | 15 ++++------- .../gradle/spotless/SpecificFilesTest.java | 8 ++---- .../gradle/spotless/TestFixtures.java | 27 ------------------- .../diffplug/spotless/maven/MavenRunner.java | 8 ++---- .../spotless/FormatterPropertiesTest.java | 12 +++------ 9 files changed, 37 insertions(+), 68 deletions(-) delete mode 100644 plugin-gradle/src/test/java/com/diffplug/gradle/spotless/TestFixtures.java diff --git a/lib/src/main/java/com/diffplug/spotless/LineEnding.java b/lib/src/main/java/com/diffplug/spotless/LineEnding.java index 50a8c7844d..8a40a4e90c 100644 --- a/lib/src/main/java/com/diffplug/spotless/LineEnding.java +++ b/lib/src/main/java/com/diffplug/spotless/LineEnding.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -98,6 +98,19 @@ public String getEndingFor(File file) { private static final Policy UNIX_POLICY = new ConstantLineEndingPolicy(UNIX.str()); private static final String _platformNative = System.getProperty("line.separator"); private static final Policy _platformNativePolicy = new ConstantLineEndingPolicy(_platformNative); + private static final boolean nativeIsWin = _platformNative.equals(WINDOWS.str()); + + public static boolean nativeIsWin() { + return nativeIsWin; + } + + public static String pathUnixToNative(String path) { + return nativeIsWin() ? path.replace('/', '\\') : path; + } + + public static String pathNativeToUnix(String path) { + return nativeIsWin() ? path : path.replace('/', '\\'); + } /** Returns the standard line ending for this policy. */ public String str() { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessCheck.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessCheck.java index 40d93bb47b..c602a465b3 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessCheck.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessCheck.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Locale; import org.gradle.api.DefaultTask; import org.gradle.api.GradleException; @@ -31,8 +30,8 @@ import org.gradle.api.tasks.PathSensitivity; import org.gradle.api.tasks.TaskAction; -import com.diffplug.common.base.StandardSystemProperty; import com.diffplug.spotless.Formatter; +import com.diffplug.spotless.LineEnding; import com.diffplug.spotless.extra.integration.DiffMessageFormatter; public class SpotlessCheck extends DefaultTask { @@ -105,8 +104,6 @@ private String getTaskPathPrefix() { } private static String calculateGradleCommand() { - return StandardSystemProperty.OS_NAME.value().toLowerCase(Locale.US).contains("win") - ? "gradlew.bat" - : "./gradlew"; + return LineEnding.nativeIsWin() ? "gradlew.bat" : "./gradlew"; } } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java index d0ef840285..a921e2630c 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessTask.java @@ -91,7 +91,8 @@ public void setLineEndingsPolicy(LineEnding.Policy lineEndingsPolicy) { this.lineEndingsPolicy = Objects.requireNonNull(lineEndingsPolicy); } - @Nullable GitRatchet ratchet; + @Nullable + GitRatchet ratchet; ObjectId treeSha = ObjectId.zeroId(); @Internal diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java index f319f0efe9..238c43ffe0 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -102,7 +102,7 @@ private void assertCheckFailure(Bundle spotless, String... expectedLines) throws String msg = spotless.checkFailureMsg(); String firstLine = "The following files had format violations:\n"; - String lastLine = "\n" + TestFixtures.EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION; + String lastLine = "\n" + EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION; Assertions.assertThat(msg).startsWith(firstLine).endsWith(lastLine); String middle = msg.substring(firstLine.length(), msg.length() - lastLine.length()); @@ -110,6 +110,10 @@ private void assertCheckFailure(Bundle spotless, String... expectedLines) throws Assertions.assertThat(middle).isEqualTo(expectedMessage.substring(0, expectedMessage.length() - 1)); } + static final String EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION = LineEnding.nativeIsWin() + ? "Run 'gradlew.bat :spotlessApply' to fix these violations." + : "Run './gradlew :spotlessApply' to fix these violations."; + @Test public void lineEndingProblem() throws Exception { Bundle task = create(setFile("testFile").toContent("A\r\nB\r\nC\r\n")); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java index 8e4c1a20a2..5e30890b6e 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,11 +35,6 @@ import com.diffplug.spotless.TestProvisioner; public class PaddedCellTaskTest extends ResourceHarness { - - private static String slashify(String input) { - return TestFixtures.IS_WIN ? input.replace('/', '\\') : input; - } - private class Bundle { String name; Project project = TestProvisioner.gradleProject(rootFolder()); @@ -211,21 +206,21 @@ private void assertFolderContents(String subfolderName, String... files) throws public void paddedCellCheckCycleFailureMsg() throws IOException { assertFailureMessage(cycle(), "The following files had format violations:", - slashify(" src/test.cycle"), + LineEnding.pathUnixToNative(" src/test.cycle"), " @@ -1 +1 @@", " -CCC", " +A", - TestFixtures.EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION); + DiffMessageFormatterTest.EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION); } @Test public void paddedCellCheckConvergeFailureMsg() throws IOException { assertFailureMessage(converge(), "The following files had format violations:", - slashify(" src/test.converge"), + LineEnding.pathUnixToNative(" src/test.converge"), " @@ -1 +0,0 @@", " -CCC", - TestFixtures.EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION); + DiffMessageFormatterTest.EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION); } private void assertFailureMessage(Bundle bundle, String... expectedOutput) { diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SpecificFilesTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SpecificFilesTest.java index bff7d7b49a..f31f03d172 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SpecificFilesTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SpecificFilesTest.java @@ -16,22 +16,18 @@ package com.diffplug.gradle.spotless; import java.io.IOException; -import java.util.Locale; import org.gradle.testkit.runner.GradleRunner; import org.gradle.testkit.runner.UnexpectedBuildFailure; import org.junit.Ignore; import org.junit.Test; -import com.diffplug.common.base.StandardSystemProperty; +import com.diffplug.spotless.LineEnding; public class SpecificFilesTest extends GradleIntegrationHarness { - private static boolean isWindows() { - return StandardSystemProperty.OS_NAME.value().toLowerCase(Locale.US).contains("win"); - } private static String regexWinSafe(String input) { - return isWindows() ? input.replace("/", "\\\\") : input; + return LineEnding.nativeIsWin() ? input.replace("/", "\\\\") : input; } private String testFilePath(int number) { diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/TestFixtures.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/TestFixtures.java deleted file mode 100644 index 5c157c8098..0000000000 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/TestFixtures.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2016 DiffPlug - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.diffplug.gradle.spotless; - -import java.util.Locale; - -import com.diffplug.common.base.StandardSystemProperty; - -interface TestFixtures { - boolean IS_WIN = StandardSystemProperty.OS_NAME.value().toLowerCase(Locale.US).contains("win"); - String EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION = IS_WIN - ? "Run 'gradlew.bat :spotlessApply' to fix these violations." - : "Run './gradlew :spotlessApply' to fix these violations."; -} diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java index 52f726a5b3..50ec6a8082 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java @@ -29,6 +29,7 @@ import com.diffplug.common.base.Throwables; import com.diffplug.common.io.ByteStreams; +import com.diffplug.spotless.LineEnding; /** * Harness for running a maven build, same idea as the @@ -128,18 +129,13 @@ public String toString() { /** Prepends any arguments necessary to run a console command. */ private static List getPlatformCmds(String cmd) { - if (isWin()) { + if (LineEnding.nativeIsWin()) { return Arrays.asList("cmd", "/c", "mvnw " + cmd); } else { return Arrays.asList("/bin/sh", "-c", "./mvnw " + cmd); } } - private static boolean isWin() { - String os_name = System.getProperty("os.name").toLowerCase(Locale.getDefault()); - return os_name.contains("win"); - } - private static class Slurper extends Thread { private final InputStream input; private volatile String result; diff --git a/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java b/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java index fca26249ca..03791214fb 100644 --- a/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java +++ b/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java @@ -24,6 +24,7 @@ import java.util.Properties; import org.assertj.core.api.AbstractAssert; +import org.assertj.core.api.Assertions; import org.junit.Test; public class FormatterPropertiesTest extends ResourceHarness { @@ -97,21 +98,14 @@ public void invalidPropertyFiles() throws IOException { @Test public void nonExistingFile() throws IOException { - boolean exceptionCaught = false; - String filePath = "does/not/exist.properties"; - boolean isWin = LineEnding.PLATFORM_NATIVE.str().equals(LineEnding.WINDOWS.str()); - if (isWin) { - filePath = filePath.replace('/', '\\'); - } + String filePath = LineEnding.pathUnixToNative("does/not/exist.properties"); try { FormatterProperties.from(new File(filePath)); + Assertions.fail("Should have thrown"); } catch (IllegalArgumentException ex) { - exceptionCaught = true; assertThat(ex.getMessage()) .as("IllegalArgumentException does not contain path of non-existing file.").contains(filePath); } - assertThat(exceptionCaught) - .as("No IllegalArgumentException thrown for non-existing file.").isTrue(); } private static class FormatterSettingsAssert extends AbstractAssert { From a41ce8785b8e05c374229a0c886dd4d82d026589 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 12:31:09 -0700 Subject: [PATCH 17/19] Move native path handling code to FileSignature, since it's the closest thing to a general-purpose file facility that we have. --- .../java/com/diffplug/spotless/FileSignature.java | 11 ++++++++++- .../main/java/com/diffplug/spotless/LineEnding.java | 8 -------- .../diffplug/gradle/spotless/PaddedCellTaskTest.java | 5 +++-- .../diffplug/spotless/FormatterPropertiesTest.java | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/lib/src/main/java/com/diffplug/spotless/FileSignature.java b/lib/src/main/java/com/diffplug/spotless/FileSignature.java index 2ac1c42054..50ae857370 100644 --- a/lib/src/main/java/com/diffplug/spotless/FileSignature.java +++ b/lib/src/main/java/com/diffplug/spotless/FileSignature.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -110,4 +110,13 @@ public File getOnlyFile() { } } + /** Transforms a native path to a unix one. */ + public static String pathNativeToUnix(String pathNative) { + return LineEnding.nativeIsWin() ? pathNative : pathNative.replace('\\', '/'); + } + + /** Transforms a unix path to a native one. */ + public static String pathUnixToNative(String pathUnix) { + return LineEnding.nativeIsWin() ? pathUnix.replace('/', '\\') : pathUnix; + } } diff --git a/lib/src/main/java/com/diffplug/spotless/LineEnding.java b/lib/src/main/java/com/diffplug/spotless/LineEnding.java index 8a40a4e90c..1b37b60444 100644 --- a/lib/src/main/java/com/diffplug/spotless/LineEnding.java +++ b/lib/src/main/java/com/diffplug/spotless/LineEnding.java @@ -104,14 +104,6 @@ public static boolean nativeIsWin() { return nativeIsWin; } - public static String pathUnixToNative(String path) { - return nativeIsWin() ? path.replace('/', '\\') : path; - } - - public static String pathNativeToUnix(String path) { - return nativeIsWin() ? path : path.replace('/', '\\'); - } - /** Returns the standard line ending for this policy. */ public String str() { switch (this) { diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java index 5e30890b6e..80d61d1468 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java @@ -28,6 +28,7 @@ import org.junit.Test; import com.diffplug.common.base.StringPrinter; +import com.diffplug.spotless.FileSignature; import com.diffplug.spotless.FormatterFunc; import com.diffplug.spotless.FormatterStep; import com.diffplug.spotless.LineEnding; @@ -206,7 +207,7 @@ private void assertFolderContents(String subfolderName, String... files) throws public void paddedCellCheckCycleFailureMsg() throws IOException { assertFailureMessage(cycle(), "The following files had format violations:", - LineEnding.pathUnixToNative(" src/test.cycle"), + FileSignature.pathUnixToNative(" src/test.cycle"), " @@ -1 +1 @@", " -CCC", " +A", @@ -217,7 +218,7 @@ public void paddedCellCheckCycleFailureMsg() throws IOException { public void paddedCellCheckConvergeFailureMsg() throws IOException { assertFailureMessage(converge(), "The following files had format violations:", - LineEnding.pathUnixToNative(" src/test.converge"), + FileSignature.pathUnixToNative(" src/test.converge"), " @@ -1 +0,0 @@", " -CCC", DiffMessageFormatterTest.EXPECTED_RUN_SPOTLESS_APPLY_SUGGESTION); diff --git a/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java b/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java index 03791214fb..293f736d3f 100644 --- a/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java +++ b/testlib/src/test/java/com/diffplug/spotless/FormatterPropertiesTest.java @@ -98,7 +98,7 @@ public void invalidPropertyFiles() throws IOException { @Test public void nonExistingFile() throws IOException { - String filePath = LineEnding.pathUnixToNative("does/not/exist.properties"); + String filePath = FileSignature.pathUnixToNative("does/not/exist.properties"); try { FormatterProperties.from(new File(filePath)); Assertions.fail("Should have thrown"); From bfd23253c93cb69a65f410ec81808f61204e4148 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 12:35:54 -0700 Subject: [PATCH 18/19] Update changelogs. --- CHANGES.md | 1 + plugin-gradle/CHANGES.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 7192fa2e6e..32cc50bf7a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( ## [Unreleased] * We are now dogfooding `ratchetFrom` and `licenseHeader` with a `$YEAR` token to ensure that Spotless copyright headers stay up-to-date without adding noise to file history. ([#595](https://github.com/diffplug/spotless/pull/595)) +* Added `LineEnding.nativeIsWin()`, `FileSignature.pathNativeToUnix()`, and `FileSignature.pathUnixToNative()`, along with many API-invisible fixes and cleanup. ([#592](https://github.com/diffplug/spotless/pull/592)) ## [1.33.0] - 2020-06-03 ### Added diff --git a/plugin-gradle/CHANGES.md b/plugin-gradle/CHANGES.md index 80eb7b220d..17cc1e072e 100644 --- a/plugin-gradle/CHANGES.md +++ b/plugin-gradle/CHANGES.md @@ -4,7 +4,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( ## [Unreleased] ### Fixed -* Improved the warning message for `paddedCell` deprecation, along with many API-invisible fixes and cleanup. ([#592](https://github.com/diffplug/spotless/pull/592/files)) +* Improved the warning message for `paddedCell` deprecation, along with many API-invisible fixes and cleanup. ([#592](https://github.com/diffplug/spotless/pull/592)) ## [4.2.0] - 2020-06-03 ### Added From 8b445562c93bec66a482fdf455b5d0a24b77e992 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Wed, 3 Jun 2020 12:37:52 -0700 Subject: [PATCH 19/19] Fix some maven formatting. --- .../src/test/java/com/diffplug/spotless/maven/MavenRunner.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java index 50ec6a8082..e7fbb88a14 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 DiffPlug + * Copyright 2016-2020 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,6 @@ import java.nio.charset.Charset; import java.util.Arrays; import java.util.List; -import java.util.Locale; import java.util.Objects; import com.diffplug.common.base.Throwables;