Skip to content

Commit ca5f50d

Browse files
authored
Merge pull request #598 from diffplug/feat/modern
Add harness to allow smooth transition for 5.x
2 parents 4cd46aa + 05b8092 commit ca5f50d

34 files changed

+764
-487
lines changed

.circleci/config.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,17 @@ jobs:
9292
command: ./gradlew :plugin-maven:check --build-cache
9393
- store_test_results:
9494
path: plugin-maven/build/test-results/test
95+
test_gradle_modern_8:
96+
<< : *env_gradle
97+
steps:
98+
- checkout
99+
- *restore_cache_wrapper
100+
- *restore_cache_deps
101+
- run:
102+
name: gradlew :plugin-gradle:modernTest
103+
command: ./gradlew :plugin-gradle:modernTest --build-cache
104+
- store_test_results:
105+
path: plugin-gradle/build/test-results/modernTest
95106
test_npm_8:
96107
<< : *env_gradle
97108
docker:
@@ -128,8 +139,8 @@ jobs:
128139
# do the test
129140
- restore_cache:
130141
keys:
131-
- gradle-deps-win-{{ checksum "build.gradle" }}-{{ checksum "gradle.properties" }}
132-
- gradle-deps-win-
142+
- gradle-deps-win2-{{ checksum "build.gradle" }}-{{ checksum "gradle.properties" }}
143+
- gradle-deps-win2-
133144
- run:
134145
name: gradlew check
135146
command: gradlew check --build-cache
@@ -142,12 +153,12 @@ jobs:
142153
- store_test_results:
143154
path: plugin-maven/build/test-results/test
144155
- save_cache:
156+
key: gradle-deps-win2-{{ checksum "build.gradle" }}-{{ checksum "gradle.properties" }}
145157
paths:
146158
- ~/.gradle/caches
147159
- ~/.gradle/wrapper
148160
- ~/.m2
149161
- ~/project/plugin-maven/build/localMavenRepository
150-
key: gradle-deps-win-{{ checksum "build.gradle" }}-{{ checksum "gradle.properties" }}
151162
changelog_print:
152163
<< : *env_gradle
153164
steps:
@@ -215,7 +226,10 @@ workflows:
215226
- test_npm_8:
216227
requires:
217228
- assemble_testClasses
218-
deploy:
229+
- test_gradle_modern_8:
230+
requires:
231+
- assemble_testClasses
232+
deploy:
219233
jobs:
220234
- changelog_print:
221235
filters:

plugin-gradle/CHANGES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format (starting after version `3.27.0`).
44

55
## [Unreleased]
6+
### Added
7+
* (spotless devs only) if you specify `-PspotlessModern=true` Spotless will run the in-progress Gradle `5.4+` code. The `modernTest` build task runs our test suite in this way. It will be weeks/months before this is recommended for end-users. ([#598](https://github.com/diffplug/spotless/pull/598))
68

79
## [4.2.1] - 2020-06-04
810
### Fixed

plugin-gradle/build.gradle

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ task npmTest(type: Test) {
4141
}
4242
}
4343

44+
task modernTest(type: Test) {
45+
systemProperty 'spotlessModern', 'true'
46+
useJUnit {
47+
excludeCategories 'com.diffplug.spotless.category.NpmTest', 'com.diffplug.gradle.spotless.ExcludeFromPluginGradleModern'
48+
}
49+
}
50+
4451
// make it easy for eclipse to run against latest build
4552
tasks.eclipse.dependsOn(pluginUnderTestMetadata)
4653

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
public class CppExtension extends FormatExtension implements HasBuiltinDelimiterForLicense {
2727
static final String NAME = "cpp";
2828

29-
public CppExtension(SpotlessExtension spotless) {
29+
public CppExtension(SpotlessExtensionBase spotless) {
3030
super(spotless);
3131
}
3232

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
public class CssExtension extends FormatExtension implements HasBuiltinDelimiterForLicense {
3131
static final String NAME = "css";
3232

33-
public CssExtension(SpotlessExtension spotless) {
33+
public CssExtension(SpotlessExtensionBase spotless) {
3434
super(spotless);
3535
}
3636

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@
5555

5656
/** Adds a `spotless{Name}Check` and `spotless{Name}Apply` task. */
5757
public class FormatExtension {
58-
final SpotlessExtension spotless;
58+
final SpotlessExtensionBase spotless;
5959

60-
public FormatExtension(SpotlessExtension spotless) {
60+
public FormatExtension(SpotlessExtensionBase spotless) {
6161
this.spotless = Objects.requireNonNull(spotless);
6262
}
6363

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class FreshMarkExtension extends FormatExtension {
3333

3434
public final List<Action<Map<String, Object>>> propertyActions = new ArrayList<>();
3535

36-
public FreshMarkExtension(SpotlessExtension spotless) {
36+
public FreshMarkExtension(SpotlessExtensionBase spotless) {
3737
super(spotless);
3838
addStep(FreshMarkStep.create(() -> {
3939
Map<String, Object> map = new HashMap<>();

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,15 @@
3232
import com.diffplug.common.collect.ImmutableList;
3333
import com.diffplug.spotless.Provisioner;
3434

35-
/** Gradle integration for Provisioner. */
35+
/** Should be package-private. */
36+
@Deprecated
3637
public class GradleProvisioner {
3738
private GradleProvisioner() {}
3839

39-
// @Deprecated
40-
// public static Provisioner fromProject(Project project) {
41-
// return project.getPlugins().apply(SpotlessPlugin.class).getExtension().registerDependenciesTask.rootProvisioner;
42-
// }
40+
@Deprecated
41+
public static Provisioner fromProject(Project project) {
42+
return project.getPlugins().apply(SpotlessPlugin.class).getExtension().registerDependenciesTask.rootProvisioner;
43+
}
4344

4445
/** The provisioner used for the root project. */
4546
static class RootProvisioner implements Provisioner {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
public class GroovyExtension extends FormatExtension implements HasBuiltinDelimiterForLicense {
3939
static final String NAME = "groovy";
4040

41-
public GroovyExtension(SpotlessExtension spotless) {
41+
public GroovyExtension(SpotlessExtensionBase spotless) {
4242
super(spotless);
4343
}
4444

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class GroovyGradleExtension extends FormatExtension {
2424
private static final String GRADLE_FILE_EXTENSION = "*.gradle";
2525
static final String NAME = "groovyGradle";
2626

27-
public GroovyGradleExtension(SpotlessExtension spotless) {
27+
public GroovyGradleExtension(SpotlessExtensionBase spotless) {
2828
super(spotless);
2929
}
3030

0 commit comments

Comments
 (0)