diff --git a/lib/src/main/java/com/diffplug/spotless/generic/LicenseHeaderStep.java b/lib/src/main/java/com/diffplug/spotless/generic/LicenseHeaderStep.java index cc7a493cef..590701a816 100644 --- a/lib/src/main/java/com/diffplug/spotless/generic/LicenseHeaderStep.java +++ b/lib/src/main/java/com/diffplug/spotless/generic/LicenseHeaderStep.java @@ -27,6 +27,7 @@ import com.diffplug.spotless.FormatterStep; import com.diffplug.spotless.LineEnding; +import com.diffplug.spotless.SerializableFileFilter; /** Prefixes a license header before the package statement. */ public final class LicenseHeaderStep implements Serializable { @@ -35,6 +36,9 @@ public final class LicenseHeaderStep implements Serializable { private static final String NAME = "licenseHeader"; private static final String DEFAULT_YEAR_DELIMITER = "-"; + private static final SerializableFileFilter UNSUPPORTED_JVM_FILES_FILTER = SerializableFileFilter.skipFilesNamed( + "package-info.java", "package-info.groovy", "module-info.java"); + private final String licenseHeader; private final Pattern delimiterPattern; private Pattern yearMatcherPattern; @@ -87,6 +91,10 @@ public static String defaultYearDelimiter() { return DEFAULT_YEAR_DELIMITER; } + public static SerializableFileFilter unsupportedJvmFilesFilter() { + return UNSUPPORTED_JVM_FILES_FILTER; + } + /** The license that we'd like enforced. */ private LicenseHeaderStep(String licenseHeader, String delimiter, String yearSeparator) { if (delimiter.contains("\n")) { 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 78e550db3d..0a7d18fbff 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 @@ -30,7 +30,6 @@ import org.gradle.api.tasks.SourceSet; import com.diffplug.common.base.StringPrinter; -import com.diffplug.spotless.SerializableFileFilter; import com.diffplug.spotless.extra.EclipseBasedStepBuilder; import com.diffplug.spotless.extra.groovy.GrEclipseFormatterStep; import com.diffplug.spotless.generic.LicenseHeaderStep; @@ -140,7 +139,7 @@ protected void setupTask(SpotlessTask task) { // ensures that it skips both. See https://github.com/diffplug/spotless/issues/1 steps.replaceAll(step -> { if (LicenseHeaderStep.name().equals(step.getName())) { - return step.filterByFile(SerializableFileFilter.skipFilesNamed("package-info.java", "package-info.groovy")); + return step.filterByFile(LicenseHeaderStep.unsupportedJvmFilesFilter()); } else { return step; } 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 968e4db375..e4eae3beca 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 @@ -28,7 +28,6 @@ import com.diffplug.common.base.StringPrinter; import com.diffplug.spotless.FormatterStep; -import com.diffplug.spotless.SerializableFileFilter; import com.diffplug.spotless.extra.EclipseBasedStepBuilder; import com.diffplug.spotless.extra.java.EclipseFormatterStep; import com.diffplug.spotless.extra.java.EclipseJdtFormatterStep; @@ -187,17 +186,10 @@ protected void setupTask(SpotlessTask task) { } target = union; } - // LicenseHeaderStep completely blows apart package-info.java & module-info.java; - // this common-sense check ensures that it skips package-info.java & module-info.java. - // - // See: - // - https://github.com/diffplug/spotless/issues/1 - // - https://github.com/diffplug/spotless/issues/270 + steps.replaceAll(step -> { if (LicenseHeaderStep.name().equals(step.getName())) { - return step.filterByFile(SerializableFileFilter.skipFilesNamed( - "package-info.java", - "module-info.java")); + return step.filterByFile(LicenseHeaderStep.unsupportedJvmFilesFilter()); } else { return step; } diff --git a/plugin-maven/src/main/java/com/diffplug/spotless/maven/generic/LicenseHeader.java b/plugin-maven/src/main/java/com/diffplug/spotless/maven/generic/LicenseHeader.java index 4b885a4ae9..1ea925d5fe 100644 --- a/plugin-maven/src/main/java/com/diffplug/spotless/maven/generic/LicenseHeader.java +++ b/plugin-maven/src/main/java/com/diffplug/spotless/maven/generic/LicenseHeader.java @@ -20,16 +20,12 @@ import org.apache.maven.plugins.annotations.Parameter; import com.diffplug.spotless.FormatterStep; -import com.diffplug.spotless.SerializableFileFilter; import com.diffplug.spotless.generic.LicenseHeaderStep; import com.diffplug.spotless.maven.FormatterStepConfig; import com.diffplug.spotless.maven.FormatterStepFactory; public class LicenseHeader implements FormatterStepFactory { - private static final SerializableFileFilter UNSUPPORTED_FILES_FILTER = SerializableFileFilter.skipFilesNamed( - "package-info.java", "module-info.java"); - @Parameter private String file; @@ -51,7 +47,7 @@ public final FormatterStep newFormatterStep(FormatterStepConfig config) { ? createStepFromFile(config, delimiterString) : createStepFromContent(delimiterString); - return step.filterByFile(UNSUPPORTED_FILES_FILTER); + return step.filterByFile(LicenseHeaderStep.unsupportedJvmFilesFilter()); } else { throw new IllegalArgumentException("Must specify exactly one of 'file' or 'content'."); }