diff --git a/.gitignore b/.gitignore index 3174407c..51f06679 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,33 @@ -# Created by .ignore support plugin (hsz.mobi) -### JetBrains template +# Created by https://www.toptal.com/developers/gitignore/api/kotlin,java,gradle,macos,jetbrains+all +# Edit at https://www.toptal.com/developers/gitignore?templates=kotlin,java,gradle,macos,jetbrains+all + +### Java ### +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* + +### JetBrains+all ### # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 @@ -10,6 +38,9 @@ .idea/**/dictionaries .idea/**/shelf +# AWS User-specific +.idea/**/aws.xml + # Generated files .idea/**/contentModel.xml @@ -60,6 +91,9 @@ atlassian-ide-plugin.xml # Cursive Clojure plugin .idea/replstate.xml +# SonarLint plugin +.idea/sonarlint/ + # Crashlytics plugin (for Android Studio and IntelliJ) com_crashlytics_export_strings.xml crashlytics.properties @@ -72,47 +106,86 @@ fabric.properties # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser -### Gradle template -.gradle -/build/ -*/build/ - -# Ignore Gradle GUI config -gradle-app.setting +### JetBrains+all Patch ### +# Ignore everything but code style settings and run configurations +# that are supposed to be shared within teams. -# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) -!gradle-wrapper.jar - -# Cache of project -.gradletasknamecache +.idea/* -# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 -# gradle/wrapper/gradle-wrapper.properties +!.idea/codeStyles +!.idea/runConfigurations -### Kotlin template +### Kotlin ### # Compiled class file -*.class # Log file -*.log # BlueJ files -*.ctxt # Mobile Tools for Java (J2ME) -.mtj.tmp/ # Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -!gradle/wrapper/gradle-wrapper.jar # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### Gradle ### +.gradle +**/build/ +!src/**/build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Avoid ignore Gradle wrappper properties +!gradle-wrapper.properties + +# Cache of project +.gradletasknamecache + +# Eclipse Gradle plugin generated files +# Eclipse Core +.project +# JDT-specific (Eclipse Java Development Tools) +.classpath + +### Gradle Patch ### +# Java heap dump +*.hprof + +# End of https://www.toptal.com/developers/gitignore/api/kotlin,java,gradle,macos,jetbrains+all \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 7d6cf6ac..ee8a988a 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -17,22 +17,22 @@ object DependencyVersions { // standard libraries - const val kotlin = "1.9.20" - const val coroutines = "1.7.3" + const val kotlin = "1.9.22" + const val coroutines = "1.8.0" const val arrow = "1.2.1" // testing libraries const val kotest = "5.8.0" const val kotestExtensionArrow = "1.4.0" - const val mockk = "1.13.8" + const val mockk = "1.13.9" // logging libraries const val kotlinLogging = "3.0.5" - const val slf4jSimple = "2.0.9" + const val slf4jSimple = "2.0.12" // object creation libraries - const val kotlinxSerializationJson = "1.6.1" - const val kaml = "0.55.0" + const val kotlinxSerializationJson = "1.6.3" + const val kaml = "0.57.0" const val jakartaActivationApi = "2.1.2" const val jakartaXmlBindApi = "4.0.1" const val jaxb = "4.0.4" @@ -41,17 +41,17 @@ object DependencyVersions { const val mapstruct = "1.5.5.Final" // io libraries - const val clikt = "4.2.1" + const val clikt = "4.2.2" const val mordant = "1.2.1" - const val commonsIO = "2.15.0" + const val commonsIO = "2.15.1" const val commonsCSV = "1.10.0" const val commonsLang = "3.14.0" const val commonsCompress = "1.25.0" - const val zstdJni = "1.5.5-10" + const val zstdJni = "1.5.5-11" const val emojiJava = "5.1.1" // math libraries - const val guava = "32.1.3-jre" + const val guava = "33.0.0-jre" const val commonsMath = "3.6.1" const val joml = "1.10.5" const val poly2tri = "0.1.2" diff --git a/buildSrc/src/main/kotlin/Plugins.kt b/buildSrc/src/main/kotlin/Plugins.kt index 7d7f3083..a847aa56 100644 --- a/buildSrc/src/main/kotlin/Plugins.kt +++ b/buildSrc/src/main/kotlin/Plugins.kt @@ -19,10 +19,10 @@ object PluginVersions { const val shadowjar = "8.1.1" const val ktlint = "11.6.1" const val xjc = "1.6" - const val versionChecker = "0.50.0" + const val versionChecker = "0.51.0" const val dokka = "1.9.10" - const val serialization = "1.9.21" - const val ksp = "1.9.20-1.0.14" + const val serialization = "1.9.22" + const val ksp = "1.9.22-1.0.17" } object Plugins { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3fa8f862..2ea3535d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 0adc8e1a..1aa94a42 100755 --- a/gradlew +++ b/gradlew @@ -145,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -153,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -202,11 +202,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \