-
Notifications
You must be signed in to change notification settings - Fork 464
/
Copy pathspotless-freshmark.gradle
61 lines (53 loc) · 1.65 KB
/
spotless-freshmark.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
apply plugin: 'com.diffplug.spotless'
import com.diffplug.gradle.spotless.FreshMarkExtension
Action<FreshMarkExtension> freshmarkSetup = {
it.target '*.md'
it.propertiesFile(rootProject.file('gradle.properties'))
it.properties {
it.put('yes', ':+1:')
it.put('no', ':white_large_square:')
}
it.leadingTabsToSpaces(2)
it.endWithNewline()
}
spotless {
freshmark {
freshmarkSetup.execute(it)
// disable ratchetFrom for freshmark, because we always want to update the readme links
ratchetFrom null
}
}
def versionLast = spotlessChangelog.versionLast
def versionNext = spotlessChangelog.versionNext
// if this freshmark has a changelog file, then it has version-sensitive content
if (tasks.names.contains('changelogCheck')) {
// normally we use versionLast for our freshmark
spotless {
freshmark {
properties {
it.put('versionLast', versionLast)
}
}
}
// create a freshmark apply task manually
FreshMarkExtension freshmark = new FreshMarkExtension(spotless)
freshmarkSetup.execute(freshmark)
freshmark.properties {
// that uses versionNext as versionLast
it.put('versionLast', versionNext)
}
def changelogBumpFreshmark = freshmark.createIndependentApplyTask('changelogBumpFreshmark')
// freshmark should run after the changelog bump
changelogBumpFreshmark.dependsOn tasks.named('changelogBump')
def changelogBumpFreshmarkGitAdd = tasks.register('changelogBumpFreshmarkGitAdd') {
// this git add should run after the freshmark
dependsOn(changelogBumpFreshmark)
// do the git add
doLast {
exec { commandLine 'git', 'add' , '*.md' }
}
}
tasks.named('changelogPush').configure {
dependsOn changelogBumpFreshmarkGitAdd
}
}