1
- val vertxVersion = " 4.0.0 "
2
- val awsSdkVersion = " 2.15.45 "
3
- val junit5Version = " 5.7.0 "
4
- val logbackVersion = " 1.2.3 "
1
+ val vertxVersion = " 4.2.4 "
2
+ val awsSdkVersion = " 2.17.129 "
3
+ val junit5Version = " 5.8.2 "
4
+ val logbackVersion = " 1.2.10 "
5
5
val integrationOption = " tests.integration"
6
6
7
7
group = " io.reactiverse"
8
- version = " 1.0.0 "
8
+ version = " 1.1.0-SNAPSHOT "
9
9
10
10
plugins {
11
11
`java- library`
12
12
`maven- publish`
13
+ signing
13
14
jacoco
14
- id(" com.jfrog.bintray" ) version " 1.8.5"
15
- id(" com.jaredsburrows.license" ) version " 0.8.42"
16
- id(" org.sonarqube" ) version " 3.0"
17
- id(" com.github.ben-manes.versions" ) version " 0.34.0"
15
+ id(" org.sonarqube" ) version " 3.3"
16
+ id(" com.github.ben-manes.versions" ) version " 0.42.0"
18
17
}
19
18
20
19
// In order to publish SNAPSHOTs to Sonatype Snapshots repository => the CI should define such `ossrhUsername` and `ossrhPassword` properties
@@ -27,26 +26,7 @@ if (!project.hasProperty("ossrhPassword")) {
27
26
project.extra[" ossrhPassword" ] = " bar"
28
27
}
29
28
30
- // Releases are published to Bintray under the Reactiverse organization
31
- // Then manually synced to Central
32
- bintray {
33
- user = System .getenv(" BINTRAY_USER" )
34
- key = System .getenv(" BINTRAY_KEY" )
35
- with (pkg) {
36
- userOrg = " reactiverse"
37
- repo = " releases"
38
- name = project.name
39
- setLicenses(" Apache-2.0" )
40
- vcsUrl = " https://github.com/reactiverse/aws-sdk"
41
- setLabels(" vertx" , " vert.x" , " aws-sdk" , " amazon web services" )
42
- publicDownloadNumbers = true
43
- with (version) {
44
- name = project.version.toString()
45
- description = " ${project.description} . Version: ${project.version} "
46
- }
47
- setPublications(" mavenJava" )
48
- }
49
- }
29
+ extra[" isReleaseVersion" ] = ! version.toString().endsWith(" SNAPSHOT" )
50
30
51
31
repositories {
52
32
mavenCentral()
@@ -68,7 +48,7 @@ dependencies {
68
48
69
49
testImplementation(" io.vertx:vertx-junit5:$vertxVersion " )
70
50
testImplementation(" io.vertx:vertx-rx-java2:$vertxVersion " )
71
- testImplementation(" cloud.localstack:localstack-utils:0.2.5 " )
51
+ testImplementation(" cloud.localstack:localstack-utils:0.2.20 " )
72
52
testImplementation(" ch.qos.logback:logback-classic:$logbackVersion " )
73
53
testImplementation(" ch.qos.logback:logback-core:$logbackVersion " )
74
54
testImplementation(" software.amazon.awssdk:aws-sdk-java:$awsSdkVersion " )
81
61
}
82
62
83
63
jacoco {
84
- toolVersion = " 0.8.5 "
64
+ toolVersion = " 0.8.7 "
85
65
}
86
66
87
67
tasks {
@@ -94,9 +74,9 @@ tasks {
94
74
jacocoTestReport {
95
75
dependsOn(" :test" )
96
76
reports {
97
- xml.isEnabled = true
98
- csv.isEnabled = false
99
- html.destination = file(" $buildDir /jacocoHtml" )
77
+ xml.required.set( true )
78
+ csv.required.set( false )
79
+ html.outputLocation.set( file(" $buildDir /jacocoHtml" ) )
100
80
}
101
81
}
102
82
@@ -141,8 +121,16 @@ tasks {
141
121
)
142
122
}
143
123
124
+ withType<Sign > {
125
+ onlyIf { project.extra[" isReleaseVersion" ] as Boolean }
126
+ }
127
+
144
128
withType<Wrapper > {
145
- gradleVersion = " 6.5"
129
+ gradleVersion = " 7.4"
130
+ }
131
+
132
+ withType<JavaCompile > {
133
+ options.compilerArgs.add(" -Xlint:deprecation" )
146
134
}
147
135
}
148
136
@@ -177,23 +165,30 @@ publishing {
177
165
}
178
166
}
179
167
repositories {
180
- // To locally check out the poms
181
- maven {
182
- name = " BuildDir"
183
- url = uri(" $buildDir /repos/snapshots" )
184
- }
185
- // Snapshots are published to Sonatype's repository directly
186
- maven {
187
- name = " SonatypeOSS"
188
- url = uri(" https://oss.sonatype.org/content/repositories/snapshots/" )
189
- credentials {
190
- val ossrhUsername: String by project
191
- val ossrhPassword: String by project
192
- username = ossrhUsername
193
- password = ossrhPassword
194
- }
168
+ // To locally check out the poms
169
+ maven {
170
+ val releasesRepoUrl = uri(" $buildDir /repos/releases" )
171
+ val snapshotsRepoUrl = uri(" $buildDir /repos/snapshots" )
172
+ name = " BuildDir"
173
+ url = if (project.extra[" isReleaseVersion" ] as Boolean ) releasesRepoUrl else snapshotsRepoUrl
174
+ }
175
+ maven {
176
+ val releasesRepoUrl = uri(" https://oss.sonatype.org/service/local/staging/deploy/maven2/" )
177
+ val snapshotsRepoUrl = uri(" https://oss.sonatype.org/content/repositories/snapshots/" )
178
+ name = " SonatypeOSS"
179
+ url = if (project.extra[" isReleaseVersion" ] as Boolean ) releasesRepoUrl else snapshotsRepoUrl
180
+ credentials {
181
+ val ossrhUsername: String by project
182
+ val ossrhPassword: String by project
183
+ username = ossrhUsername
184
+ password = ossrhPassword
195
185
}
186
+ }
196
187
}
197
188
}
198
189
}
199
190
}
191
+
192
+ signing {
193
+ sign(publishing.publications[" mavenJava" ])
194
+ }
0 commit comments