17
17
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
18
*/
19
19
20
- buildscript {
21
- repositories {
22
- mavenLocal()
23
- mavenCentral()
24
- jcenter()
25
- maven { url " https://dl.bintray.com/graphql-java-kickstart/releases" }
26
- maven { url " https://plugins.gradle.org/m2/" }
27
- maven { url ' https://repo.spring.io/plugins-release' }
28
- }
29
- dependencies {
30
- classpath " com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4"
31
- classpath ' net.researchgate:gradle-release:2.7.0'
32
- }
33
- }
34
-
35
20
plugins {
36
- id ' net.researchgate.release' version ' 2.7.0'
37
- id ' io.franzbecker.gradle-lombok' version ' 1.14' apply false
21
+ id " com.jfrog.bintray" version " $LIB_BINTRAY_PLUGIN_VER "
22
+ id ' net.researchgate.release' version " $LIB_RELEASE_PLUGIN_VER "
23
+ id " org.springframework.boot" version " $LIB_SPRING_BOOT_VER " apply false
38
24
}
39
25
40
26
subprojects {
41
27
apply plugin : ' idea'
42
28
apply plugin : ' java'
43
- apply plugin : ' maven '
29
+ apply plugin : ' java-library '
44
30
apply plugin : ' maven-publish'
45
31
apply plugin : " com.jfrog.bintray"
46
- apply plugin : ' io.franzbecker.gradle-lombok '
32
+ apply plugin : " io.spring.dependency-management "
47
33
48
- group = PROJECT_GROUP
34
+ group " $ PROJECT_GROUP "
49
35
50
36
repositories {
51
37
mavenLocal()
@@ -56,6 +42,24 @@ subprojects {
56
42
maven { url " https://repo.spring.io/libs-milestone" }
57
43
}
58
44
45
+ dependencyManagement {
46
+ imports {
47
+ mavenBom " org.springframework.boot:spring-boot-starter-parent:$LIB_SPRING_BOOT_VER "
48
+ }
49
+ }
50
+
51
+ dependencies {
52
+ compileOnly " org.projectlombok:lombok"
53
+ annotationProcessor " org.projectlombok:lombok"
54
+
55
+ testCompileOnly " org.projectlombok:lombok"
56
+ testAnnotationProcessor " org.projectlombok:lombok"
57
+ }
58
+
59
+ test {
60
+ useJUnitPlatform()
61
+ }
62
+
59
63
idea {
60
64
module {
61
65
downloadJavadoc = true
@@ -70,79 +74,59 @@ subprojects {
70
74
71
75
compileJava. dependsOn(processResources)
72
76
73
- lombok {
74
- version = " 1.18.4"
75
- sha256 = " "
76
- }
77
-
78
-
79
77
if (! it. name. startsWith(' example' )) {
80
78
81
- jar {
82
- from " LICENSE.md"
83
- }
84
-
85
- task sourcesJar(type : Jar ) {
86
- dependsOn classes
87
- classifier ' sources'
88
- from sourceSets. main. allSource
79
+ // disable Gradle Metadata generation as it may cause unwanted side effects
80
+ tasks. withType(GenerateModuleMetadata ) {
81
+ enabled = false
89
82
}
90
83
91
- task javadocJar(type : Jar , dependsOn : javadoc) {
92
- classifier = ' javadoc'
93
- from javadoc. destinationDir
84
+ jar {
85
+ from " LICENSE.md"
94
86
}
95
87
96
- artifacts {
97
- archives sourcesJar
98
- archives javadocJar
88
+ java {
89
+ withSourcesJar()
90
+ withJavadocJar()
99
91
}
100
92
101
93
publishing {
102
94
publications {
103
95
mainProjectPublication(MavenPublication ) {
104
- version version
105
96
from components. java
106
97
107
- artifact sourcesJar {
108
- classifier " sources"
109
- }
110
- artifact javadocJar {
111
- classifier " javadoc"
98
+ // to avoid "Publication only contains dependencies and/or constraints without a version" error
99
+ // see https://docs.gradle.org/6.2.1/userguide/publishing_maven.html#publishing_maven:resolved_dependencies
100
+ versionMapping {
101
+ usage(' java-api' ) {
102
+ fromResolutionOf(' runtimeClasspath' )
103
+ }
104
+ usage(' java-runtime' ) {
105
+ fromResolutionResult()
106
+ }
112
107
}
113
108
114
- pom. withXml {
115
- // Fix dependency scoping.
116
- asNode(). dependencies. ' *' . findAll() {
117
- it. scope. text() == ' runtime' && project. configurations. compile. allDependencies. find { dep ->
118
- dep. name == it. artifactId. text()
119
- }
120
- }. each() {
121
- it. scope* . value = ' compile'
109
+ pom {
110
+ resolveStrategy = DELEGATE_FIRST
111
+ name = PROJECT_NAME
112
+ description = PROJECT_DESC
113
+ url = PROJECT_GIT_REPO_URL
114
+ scm {
115
+ url = PROJECT_GIT_REPO_URL
116
+ connection = PROJECT_GIT_REPO_URL
117
+ developerConnection = PROJECT_GIT_REPO_URL
122
118
}
123
-
124
- asNode(). children(). last() + {
125
- resolveStrategy = Closure . DELEGATE_FIRST
126
- name PROJECT_NAME
127
- description PROJECT_DESC
128
- url PROJECT_GIT_REPO_URL
129
- scm {
130
- url PROJECT_GIT_REPO_URL
131
- connection PROJECT_GIT_REPO_URL
132
- developerConnection PROJECT_GIT_REPO_URL
119
+ licenses {
120
+ license {
121
+ name = PROJECT_LICENSE
122
+ url = PROJECT_LICENSE_URL
123
+ distribution = ' repo'
133
124
}
134
- licenses {
135
- license {
136
- name PROJECT_LICENSE
137
- url PROJECT_LICENSE_URL
138
- distribution ' repo'
139
- }
140
- }
141
- developers {
142
- developer {
143
- id PROJECT_DEV_ID
144
- name PROJECT_DEV_NAME
145
- }
125
+ }
126
+ developers {
127
+ developer {
128
+ id = PROJECT_DEV_ID
129
+ name = PROJECT_DEV_NAME
146
130
}
147
131
}
148
132
}
@@ -199,6 +183,6 @@ task build {
199
183
dependsOn subprojects. findResults { it. tasks. findByName(' bintray' ) }
200
184
}
201
185
202
- task wrapper ( type : Wrapper ) {
203
- gradleVersion = " ${ GRADLE_WRAPPER_VER } "
186
+ wrapper {
187
+ distributionType = Wrapper.DistributionType . ALL
204
188
}
0 commit comments