diff --git a/.idea/runConfigurations/randomizer__build_.xml b/.idea/runConfigurations/randomizer__build_.xml
index 3f4962b..df4e505 100644
--- a/.idea/runConfigurations/randomizer__build_.xml
+++ b/.idea/runConfigurations/randomizer__build_.xml
@@ -18,4 +18,4 @@
true
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__build___warning_mode_all_.xml b/.idea/runConfigurations/randomizer__build___warning_mode_all_.xml
index 215c053..ab5a417 100644
--- a/.idea/runConfigurations/randomizer__build___warning_mode_all_.xml
+++ b/.idea/runConfigurations/randomizer__build___warning_mode_all_.xml
@@ -17,8 +17,17 @@
true
true
+
+
+
+
+
+ 5.0
+
+
+
false
false
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__clean_.xml b/.idea/runConfigurations/randomizer__clean_.xml
index 9612943..1d08757 100644
--- a/.idea/runConfigurations/randomizer__clean_.xml
+++ b/.idea/runConfigurations/randomizer__clean_.xml
@@ -15,7 +15,19 @@
- true
+ true
+ true
+
+
+
+
+
+ 5.0
+
+
+
+ false
+ false
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__clean_publishMavenJavaPublicationToMavenLocal_publish_.xml b/.idea/runConfigurations/randomizer__clean_publishMavenJavaPublicationToMavenLocal_publish_.xml
index 7351e45..edb563c 100644
--- a/.idea/runConfigurations/randomizer__clean_publishMavenJavaPublicationToMavenLocal_publish_.xml
+++ b/.idea/runConfigurations/randomizer__clean_publishMavenJavaPublicationToMavenLocal_publish_.xml
@@ -15,12 +15,12 @@
-
+
true
true
false
- false
+ false
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__clean_publishMavenJavaPublicationToMavenLocal_publish_tagRelease_.xml b/.idea/runConfigurations/randomizer__clean_publishMavenJavaPublicationToMavenLocal_publish_tagRelease_.xml
index 0da7e51..84b72e7 100644
--- a/.idea/runConfigurations/randomizer__clean_publishMavenJavaPublicationToMavenLocal_publish_tagRelease_.xml
+++ b/.idea/runConfigurations/randomizer__clean_publishMavenJavaPublicationToMavenLocal_publish_tagRelease_.xml
@@ -16,11 +16,11 @@
-
+
true
true
false
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__dependencies_.xml b/.idea/runConfigurations/randomizer__dependencies_.xml
new file mode 100644
index 0000000..5b82175
--- /dev/null
+++ b/.idea/runConfigurations/randomizer__dependencies_.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+
+ 5.0
+
+
+
+ false
+ false
+
+
+
diff --git a/.idea/runConfigurations/randomizer__dependencyUpdates_.xml b/.idea/runConfigurations/randomizer__dependencyUpdates_.xml
index 0bf80a9..9af255c 100644
--- a/.idea/runConfigurations/randomizer__dependencyUpdates_.xml
+++ b/.idea/runConfigurations/randomizer__dependencyUpdates_.xml
@@ -18,4 +18,4 @@
true
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__jacocoTestCoverageVerification_.xml b/.idea/runConfigurations/randomizer__jacocoTestCoverageVerification_.xml
index 772f259..3d897f6 100644
--- a/.idea/runConfigurations/randomizer__jacocoTestCoverageVerification_.xml
+++ b/.idea/runConfigurations/randomizer__jacocoTestCoverageVerification_.xml
@@ -18,4 +18,4 @@
true
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__jacocoTestReport_.xml b/.idea/runConfigurations/randomizer__jacocoTestReport_.xml
index 763280a..7eaca2b 100644
--- a/.idea/runConfigurations/randomizer__jacocoTestReport_.xml
+++ b/.idea/runConfigurations/randomizer__jacocoTestReport_.xml
@@ -18,4 +18,4 @@
true
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__javadoc_.xml b/.idea/runConfigurations/randomizer__javadoc_.xml
index 1cc550d..d5064d0 100644
--- a/.idea/runConfigurations/randomizer__javadoc_.xml
+++ b/.idea/runConfigurations/randomizer__javadoc_.xml
@@ -18,4 +18,4 @@
true
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__licenseFormat_.xml b/.idea/runConfigurations/randomizer__licenseFormat_.xml
index 802ac44..15105ad 100644
--- a/.idea/runConfigurations/randomizer__licenseFormat_.xml
+++ b/.idea/runConfigurations/randomizer__licenseFormat_.xml
@@ -18,4 +18,4 @@
true
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__publishMavenJavaPublicationToMavenLocal_.xml b/.idea/runConfigurations/randomizer__publishMavenJavaPublicationToMavenLocal_.xml
index bea827f..1bb8a2f 100644
--- a/.idea/runConfigurations/randomizer__publishMavenJavaPublicationToMavenLocal_.xml
+++ b/.idea/runConfigurations/randomizer__publishMavenJavaPublicationToMavenLocal_.xml
@@ -20,4 +20,4 @@
false
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__publish_.xml b/.idea/runConfigurations/randomizer__publish_.xml
index 6c06773..7118009 100644
--- a/.idea/runConfigurations/randomizer__publish_.xml
+++ b/.idea/runConfigurations/randomizer__publish_.xml
@@ -18,4 +18,4 @@
true
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__spotlessJavaApply_.xml b/.idea/runConfigurations/randomizer__spotlessJavaApply_.xml
index c4fa45a..05582a9 100644
--- a/.idea/runConfigurations/randomizer__spotlessJavaApply_.xml
+++ b/.idea/runConfigurations/randomizer__spotlessJavaApply_.xml
@@ -20,4 +20,4 @@
false
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__spotlessMiscApply_.xml b/.idea/runConfigurations/randomizer__spotlessMiscApply_.xml
index 1a2690c..c47274b 100644
--- a/.idea/runConfigurations/randomizer__spotlessMiscApply_.xml
+++ b/.idea/runConfigurations/randomizer__spotlessMiscApply_.xml
@@ -17,7 +17,17 @@
true
true
+
+
+
+
+
+ 5.0
+
+
+
false
+ false
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__tagRelease_.xml b/.idea/runConfigurations/randomizer__tagRelease_.xml
index 847685a..45f0d2c 100644
--- a/.idea/runConfigurations/randomizer__tagRelease_.xml
+++ b/.idea/runConfigurations/randomizer__tagRelease_.xml
@@ -20,4 +20,4 @@
false
-
\ No newline at end of file
+
diff --git a/.idea/runConfigurations/randomizer__versionCatalogFormat_.xml b/.idea/runConfigurations/randomizer__versionCatalogFormat_.xml
new file mode 100644
index 0000000..5a6f9fd
--- /dev/null
+++ b/.idea/runConfigurations/randomizer__versionCatalogFormat_.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+
+ 5.0
+
+
+
+ false
+ false
+
+
+
diff --git a/.idea/runConfigurations/randomizer__versionCatalogUpdate_.xml b/.idea/runConfigurations/randomizer__versionCatalogUpdate_.xml
new file mode 100644
index 0000000..894ada4
--- /dev/null
+++ b/.idea/runConfigurations/randomizer__versionCatalogUpdate_.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+
+ 5.0
+
+
+
+ false
+ false
+
+
+
diff --git a/.idea/runConfigurations/randomizer_randomizer_address__publish_.xml b/.idea/runConfigurations/randomizer_randomizer_address__publish_.xml
index 018152d..9403325 100644
--- a/.idea/runConfigurations/randomizer_randomizer_address__publish_.xml
+++ b/.idea/runConfigurations/randomizer_randomizer_address__publish_.xml
@@ -18,4 +18,4 @@
true
-
\ No newline at end of file
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 931f238..6023ca0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,9 @@
Version 10.3-SNAPSHOT
-------------
+ADDED:
+- new libs.versions.toml file for new automatic catalog versions update
Version 10.2
-------------
diff --git a/build.gradle b/build.gradle
index 08ce9c2..78765e4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,30 +1,28 @@
-group = "$groupPackage" as Object
-version = "$projectVersion" as Object
-description = "$rootProject.name"
-
buildscript {
repositories {
maven {
- url "https://plugins.gradle.org/m2/"
+ url projectRepositoriesMavenUrl
}
}
- dependencies {
- classpath "com.github.ben-manes:gradle-versions-plugin:$gradlePluginVersionsVersion"
- classpath "gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin:$licenseGradlePluginVersion"
- classpath "org.ajoberstar.grgit:grgit-gradle:$grgitGradlePluginVersion"
- classpath "com.diffplug.spotless:spotless-plugin-gradle:$spotlessGradlePluginVersion"
- }
}
-apply plugin: "java"
-apply plugin: "java-library"
-apply plugin: "maven-publish"
-apply plugin: "signing"
-apply plugin: "com.github.ben-manes.versions"
-apply plugin: "com.github.hierynomus.license"
-apply plugin: "jacoco"
-apply plugin: "org.ajoberstar.grgit"
-apply plugin: "com.diffplug.spotless"
+plugins {
+ id 'java'
+ id 'java-library'
+ id 'maven-publish'
+ id 'signing'
+ id 'jacoco'
+ alias(libs.plugins.gradle.versions.plugin)
+ alias(libs.plugins.license.gradle.plugin)
+ alias(libs.plugins.grgit.gradle)
+ alias(libs.plugins.spotless.plugin.gradle)
+ alias(libs.plugins.version.catalog.update)
+}
+
+group = "$groupPackage" as Object
+version = "$projectVersion" as Object
+description = "$rootProject.name"
+
// import gradle files
apply from: "gradle/dependencies.gradle"
apply from: "gradle/formatting.gradle"
@@ -34,12 +32,20 @@ apply from: "gradle/packaging.gradle"
apply from: "gradle/publishing.gradle"
apply from: "gradle/repositories.gradle"
apply from: "gradle/testing.gradle"
+apply from: "gradle/version-catalog-update.gradle"
java {
sourceCompatibility = "$projectSourceCompatibility" as Object
+ toolchain {
+ languageVersion = JavaLanguageVersion.of("$projectSourceCompatibility")
+ }
+}
+
+tasks.named("test") {
+ it.mustRunAfter(tasks.named("jar"))
}
-tasks.withType(JavaCompile) {
+tasks.withType(JavaCompile).configureEach { javaCompiler ->
options.encoding = "UTF-8"
// uncomment the next line for build with compiler argument -Xlint:deprecation
// options.compilerArgs << "-Xlint:deprecation"
diff --git a/gradle.properties b/gradle.properties
index feb8f1f..0f7ab6d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -25,6 +25,9 @@ projectRepositoriesReleasesRepoUrl=https://oss.sonatype.org/service/local/stagin
projectRepositoriesSnapshotsRepoUrl=https://oss.sonatype.org/content/repositories/snapshots
projectRepositoriesUserNameKey=ossrhUsername
projectRepositoriesPasswordKey=ossrhPassword
+projectRepositoriesReleasesName=Sonatype Nexus Releases
+projectRepositoriesSnapshotsName=Sonatype Nexus Snapshots
+projectRepositoriesMavenUrl=https://plugins.gradle.org/m2/
###########################
# gradle-plugins versions #
###########################
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 26e28c3..cc59f4e 100644
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -1,14 +1,16 @@
dependencies {
- implementation("io.github.astrapi69:jobj-core:$jobjCoreVersion")
- implementation("io.github.astrapi69:jobj-reflect:$jobjReflectVersion")
- implementation("io.github.astrapi69:jobj-copy:$jobjCopyVersion")
- implementation("io.github.astrapi69:silly-collection:$sillyCollectionVersion")
- implementation("io.github.astrapi69:silly-math:$sillyMathVersion")
- implementation("io.github.astrapi69:vintage-time:$vintageTimeVersion")
- testImplementation("org.apache.commons:commons-lang3:$commonsLang3Version")
- testImplementation("nl.jqno.equalsverifier:equalsverifier:$equalsverifierVersion")
- testImplementation("io.github.astrapi69:silly-strings:$sillyStringsVersion")
- testImplementation("io.github.astrapi69:test-object:$testObjectVersion")
- testImplementation("com.github.meanbeanlib:meanbean:$meanbeanVersion")
- testImplementation("org.testng:testng:$testngVersion")
+ implementation libs.jobj.core
+ implementation libs.jobj.reflect
+ implementation libs.jobj.copy
+ implementation libs.silly.collection
+ implementation libs.silly.math
+ implementation libs.vintage.time
+ testImplementation libs.commons.lang3
+ testImplementation libs.equalsverifier
+ testImplementation libs.silly.strings
+ testImplementation libs.test.object
+ testImplementation libs.meanbean
+ testImplementation libs.testng
+ // Note: use of bundles...
+ testImplementation libs.bundles.unit.testing
}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000..9d6c9d2
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,46 @@
+[versions]
+commons-lang3-version = "3.13.0"
+equalsverifier-version = "3.15.3"
+gradle-plugin-grgit-version = "5.2.2"
+gradle-plugin-license-version = "0.16.1"
+gradle-plugin-spotless-version = "7.0.0.BETA1"
+gradle-plugin-version-catalog-update-version = "0.8.4"
+gradle-plugin-versions-version = "0.51.0"
+jobj-copy-version = "4.2"
+jobj-core-version = "8.1"
+jobj-reflect-version = "2.4"
+meanbean-version = "3.0.0-M9"
+silly-collection-version = "27"
+silly-math-version = "2.3"
+silly-strings-version = "9"
+test-object-version = "8.2"
+testng-version = "7.8.0"
+vintage-time-version = "6"
+
+[libraries]
+commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commons-lang3-version" }
+equalsverifier = { module = "nl.jqno.equalsverifier:equalsverifier", version.ref = "equalsverifier-version" }
+jobj-copy = { module = "io.github.astrapi69:jobj-copy", version.ref = "jobj-copy-version" }
+jobj-core = { module = "io.github.astrapi69:jobj-core", version.ref = "jobj-core-version" }
+jobj-reflect = { module = "io.github.astrapi69:jobj-reflect", version.ref = "jobj-reflect-version" }
+meanbean = { module = "com.github.meanbeanlib:meanbean", version.ref = "meanbean-version" }
+silly-collection = { module = "io.github.astrapi69:silly-collection", version.ref = "silly-collection-version" }
+silly-math = { module = "io.github.astrapi69:silly-math", version.ref = "silly-math-version" }
+silly-strings = { module = "io.github.astrapi69:silly-strings", version.ref = "silly-strings-version" }
+test-object = { module = "io.github.astrapi69:test-object", version.ref = "test-object-version" }
+testng = { module = "org.testng:testng", version.ref = "testng-version" }
+vintage-time = { module = "io.github.astrapi69:vintage-time", version.ref = "vintage-time-version" }
+
+[bundles]
+unit-testing = [
+ "meanbean",
+ "test-object",
+ "testng",
+]
+
+[plugins]
+gradle-versions-plugin = { id = "com.github.ben-manes.versions", version.ref = "gradle-plugin-versions-version" }
+grgit-gradle = { id = "org.ajoberstar.grgit", version.ref = "gradle-plugin-grgit-version" }
+license-gradle-plugin = { id = "com.github.hierynomus.license", version.ref = "gradle-plugin-license-version" }
+spotless-plugin-gradle = { id = "com.diffplug.spotless", version.ref = "gradle-plugin-spotless-version" }
+version-catalog-update = { id = "nl.littlerobots.version-catalog-update", version.ref = "gradle-plugin-version-catalog-update-version" }
diff --git a/gradle/version-catalog-update.gradle b/gradle/version-catalog-update.gradle
new file mode 100644
index 0000000..2e370bf
--- /dev/null
+++ b/gradle/version-catalog-update.gradle
@@ -0,0 +1,32 @@
+versionCatalogUpdate {
+ // sort the catalog by key (default is true)
+ sortByKey = true
+ // Referenced that are pinned are not automatically updated.
+ // They are also not automatically kept however (use keep for that).
+ pin {
+ // pins all libraries and plugins using the given versions
+ // versions = ["my-version-name", "other-version"]
+ // pins specific libraries that are in the version catalog
+ // libraries = [libs.my.library.reference, libs.my.other.library.reference]
+ // pins specific plugins that are in the version catalog
+ // plugins = [libs.plugins.my.plugin, libs.plugins.my.other.plugin]
+ // pins all libraries (not plugins) for the given groups
+ // groups = ["com.somegroup", "com.someothergroup"]
+ }
+ keep {
+ // keep has the same options as pin to keep specific entries
+ // note that for versions it will ONLY keep the specified version, not all
+ // entries that reference it.
+ // versions = ["my-version-name", "other-version"]
+ // libraries = [libs.my.library.reference, libs.my.other.library.reference]
+ // plugins = [libs.plugins.my.plugin, libs.plugins.my.other.plugin]
+ // groups = ["com.somegroup", "com.someothergroup"]
+
+ // keep versions without any library or plugin reference
+ keepUnusedVersions = true
+ // keep all libraries that aren't used in the project
+ keepUnusedLibraries = true
+ // keep all plugins that aren't used in the project
+ keepUnusedPlugins = true
+ }
+}
\ No newline at end of file