11/*
2- * Copyright (C) 2020 Markus Fleischhacker <[email protected] > 2+ * Copyright (C) 2022 Markus Fleischhacker <[email protected] > 33 *
44 * This file is part of Bounding Box Editor
55 *
1818 */
1919plugins {
2020 id ' application'
21- id ' org.openjfx.javafxplugin' version ' 0.0.10 '
22- id ' com.github.ben-manes.versions' version ' 0.39 .0'
23- id ' org.beryx.jlink' version ' 2.24.4 '
21+ id ' org.openjfx.javafxplugin' version ' 0.0.13 '
22+ id ' com.github.ben-manes.versions' version ' 0.42 .0'
23+ id ' org.beryx.jlink' version ' 2.25.0 '
2424 id ' jacoco'
2525 id ' net.ltgt.errorprone' version ' 2.0.2'
2626 id ' org.sonarqube' version ' 3.3'
2727 id ' org.ysb33r.cloudci' version ' 3.0.0'
28- id ' com.github.hierynomus.license' version ' 0.15.0 '
28+ id ' com.github.hierynomus.license' version ' 0.16.1 '
2929 id ' io.miret.etienne.sass' version ' 1.4.1'
3030}
3131
@@ -35,13 +35,12 @@ version '2.3.0'
3535sourceCompatibility = 1.11
3636
3737repositories {
38- jcenter()
3938 mavenCentral()
4039}
4140
4241dependencies {
4342 // Junit (Unit testing)
44- testImplementation ' org.junit.jupiter:junit-jupiter:5.8.2 '
43+ testImplementation ' org.junit.jupiter:junit-jupiter:5.9.0 '
4544
4645 // TestFx UI TesTing // https://mvnrepository.com/artifact/org.testfx/testfx-junit5
4746 testImplementation(' org.testfx:testfx-junit5:4.0.16-alpha' ) {
@@ -52,10 +51,10 @@ dependencies {
5251 testImplementation ' org.hamcrest:hamcrest:2.2'
5352
5453 // Mockito https://mvnrepository.com/artifact/org.mockito/mockito-inline
55- testImplementation ' org.mockito:mockito-inline:4.2.0 '
54+ testImplementation ' org.mockito:mockito-inline:4.6.1 '
5655
5756 // Mockito-Junit https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter
58- testImplementation ' org.mockito:mockito-junit-jupiter:4.2.0 '
57+ testImplementation ' org.mockito:mockito-junit-jupiter:4.6.1 '
5958
6059 // Commons Collections https://mvnrepository.com/artifact/org.apache.commons/commons-collections4
6160 implementation ' org.apache.commons:commons-collections4:4.4'
@@ -69,13 +68,13 @@ dependencies {
6968 }
7069
7170 // Caffeine https://mvnrepository.com/artifact/com.github.ben-manes.caffeine/caffeine
72- implementation ' com.github.ben-manes.caffeine:caffeine:3.0.5 '
71+ implementation ' com.github.ben-manes.caffeine:caffeine:3.1.1 '
7372
7473 // Gradle plugin to use the error-prone compiler https://github.com/tbroyer/gradle-errorprone-plugin
75- errorprone ' com.google.errorprone:error_prone_core:2.10 .0'
74+ errorprone ' com.google.errorprone:error_prone_core:2.15 .0'
7675
7776 // Google GSON https://github.com/google/gson
78- implementation ' com.google.code.gson:gson:2.8.9 '
77+ implementation ' com.google.code.gson:gson:2.9.1 '
7978
8079 // Jersey REST client https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-client
8180 implementation ' org.glassfish.jersey.core:jersey-client:2.32'
@@ -97,7 +96,7 @@ dependencies {
9796}
9897
9998javafx {
100- version = ' 18'
99+ version = ' 18.0.2 '
101100 modules = [' javafx.controls' , ' javafx.swing' ]
102101}
103102
@@ -132,12 +131,24 @@ ci {
132131
133132jacocoTestReport {
134133 reports {
135- xml. enabled = true
136- html. enabled = true
137- csv. enabled = false
134+ xml. required = true
135+ html. required = true
136+ csv. required = false
138137 }
139138}
140139
140+ def isNonStable = { String version ->
141+ def stableKeyword = [' RELEASE' , ' FINAL' , ' GA' ]. any { it -> version. toUpperCase(). contains(it) }
142+ def regex = / ^[0-9,.v-]+(-r)?$/
143+ return ! stableKeyword && ! (version ==~ regex)
144+ }
145+
146+ tasks. named(" dependencyUpdates" ). configure {
147+ rejectVersionIf {
148+ isNonStable(it. candidate. version)
149+ }
150+ }
151+
141152compileSass {
142153 outputDir = project. file (" ${ buildDir} /resources/main/stylesheets/css" )
143154 destPath = " ."
@@ -152,7 +163,10 @@ compileJava {
152163 options. compilerArgs. addAll([' -Xlint:all' , ' -Xlint:-requires-automatic' ])
153164}
154165
155- compileJava. finalizedBy(' compileSass' )
166+ jar {
167+ dependsOn compileSass
168+ from compileSass. outputDir
169+ }
156170
157171application {
158172 mainModule = " com.github.mfl28.boundingboxeditor"
@@ -178,7 +192,7 @@ jlink {
178192 jpackage {
179193 installerOptions + = [
180194 ' --app-version' , version,
181- ' --copyright' , ' Copyright 2020 , Markus Fleischhacker' ,
195+ ' --copyright' , ' Copyright 2022 , Markus Fleischhacker' ,
182196 ' --description' , ' Graphical image annotation application' ,
183197 ' --license-file' , ' LICENSE' ,
184198 ' --vendor' , ' Markus Fleischhacker' ,
0 commit comments