1717 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1818 */
1919
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-
3520plugins {
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
3824}
3925
4026subprojects {
4127 apply plugin : ' idea'
4228 apply plugin : ' java'
43- apply plugin : ' maven '
29+ apply plugin : ' java-library '
4430 apply plugin : ' maven-publish'
4531 apply plugin : " com.jfrog.bintray"
46- apply plugin : ' io.franzbecker.gradle-lombok '
32+ apply plugin : " io.spring.dependency-management "
4733
48- group = PROJECT_GROUP
34+ group " $ PROJECT_GROUP "
4935
5036 repositories {
5137 mavenLocal()
@@ -56,6 +42,24 @@ subprojects {
5642 maven { url " https://repo.spring.io/libs-milestone" }
5743 }
5844
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+
5963 idea {
6064 module {
6165 downloadJavadoc = true
@@ -70,79 +74,59 @@ subprojects {
7074
7175 compileJava. dependsOn(processResources)
7276
73- lombok {
74- version = " 1.18.4"
75- sha256 = " "
76- }
77-
78-
7977 if (! it. name. startsWith(' example' )) {
8078
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
8982 }
9083
91- task javadocJar(type : Jar , dependsOn : javadoc) {
92- classifier = ' javadoc'
93- from javadoc. destinationDir
84+ jar {
85+ from " LICENSE.md"
9486 }
9587
96- artifacts {
97- archives sourcesJar
98- archives javadocJar
88+ java {
89+ withSourcesJar()
90+ withJavadocJar()
9991 }
10092
10193 publishing {
10294 publications {
10395 mainProjectPublication(MavenPublication ) {
104- version version
10596 from components. java
10697
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+ }
112107 }
113108
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
122118 }
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'
133124 }
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
146130 }
147131 }
148132 }
@@ -199,6 +183,6 @@ task build {
199183 dependsOn subprojects. findResults { it. tasks. findByName(' bintray' ) }
200184}
201185
202- task wrapper ( type : Wrapper ) {
203- gradleVersion = " ${ GRADLE_WRAPPER_VER } "
186+ wrapper {
187+ distributionType = Wrapper.DistributionType . ALL
204188}
0 commit comments