-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
101 lines (92 loc) · 3.46 KB
/
build.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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
plugins {
id 'base'
id 'io.github.gradle-nexus.publish-plugin' version '2.0.0'
id 'me.champeau.mrjar' version '0.1.1' apply(false)
id 'org.jreleaser' version '1.14.0'
id 'com.github.ben-manes.versions' version '0.51.0'
}
nexusPublishing {
repositories {
sonatype()
}
}
def isNonStable = { String version ->
def stableKeyword = ['RELEASE', 'FINAL', 'GA'].any { it -> version.toUpperCase().contains(it) }
def unstableKeyword = ['ALPHA', 'RC'].any { it -> version.toUpperCase().contains(it) }
def regex = /^[0-9,.v-]+(-r)?$/
def isStable = stableKeyword || version ==~ regex
return unstableKeyword || !isStable
}
allprojects {
group = 'com.github.gotson.nightmonkeys'
repositories {
mavenCentral()
}
apply plugin: 'com.github.ben-manes.versions'
tasks.named("dependencyUpdates").configure {
rejectVersionIf {
isNonStable(it.candidate.version) && !isNonStable(it.currentVersion)
}
gradleReleaseChannel = 'current'
checkConstraints = true
}
}
subprojects {
apply from: "${rootDir}/gradle/publish.gradle"
if (it.name != 'imageio-common') {
apply from: "${rootDir}/gradle/mrjar.gradle"
apply from: "${rootDir}/gradle/dependencies.gradle"
}
}
jreleaser {
project {
description = 'NightMonkeys :: ImageIO'
copyright = 'Gauthier Roebroeck'
}
release {
github {
discussionCategoryName = 'Announcements'
changelog {
formatted = 'ALWAYS'
preset = 'conventional-commits'
skipMergeCommits = true
links = true
format = '- {{#commitIsConventional}}{{#conventionalCommitIsBreakingChange}}🚨 {{/conventionalCommitIsBreakingChange}}{{#conventionalCommitScope}}**{{conventionalCommitScope}}**: {{/conventionalCommitScope}}{{conventionalCommitDescription}}{{#conventionalCommitBreakingChangeContent}}: *{{conventionalCommitBreakingChangeContent}}*{{/conventionalCommitBreakingChangeContent}} ({{commitShortHash}}){{/commitIsConventional}}{{^commitIsConventional}}{{commitTitle}} ({{commitShortHash}}){{/commitIsConventional}}{{#commitHasIssues}}, closes{{#commitIssues}} {{issue}}{{/commitIssues}}{{/commitHasIssues}}'
contributors {
enabled = false
}
hide {
uncategorized = true
contributors = ['[bot]', 'github-actions', 'GitHub']
}
excludeLabels = ['chore']
category {
title = '🏎 Perf'
key = 'perf'
labels = ['perf']
order = 25
}
labeler {
label = 'perf'
title = 'regex:^(?:perf(?:\\(.*\\))?!?):\\s.*'
order = 120
}
extraProperties.put('categorizeScopes', true)
}
issues {
enabled = true
comment = '🎉 This issue has been resolved in `{{tagName}}` ([Release Notes]({{releaseNotesUrl}}))'
applyMilestone = 'ALWAYS'
label {
name = 'released'
description = 'Issue has been released'
color = '#ededed'
}
}
}
}
}
wrapper {
gradleVersion = '8.10'
distributionType = Wrapper.DistributionType.ALL
}