diff --git a/.editorconfig b/.editorconfig index b35ad505..7782db79 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,5 +6,6 @@ indent_size = 4 insert_final_newline = true ij_kotlin_allow_trailing_comma = true ij_kotlin_allow_trailing_comma_on_call_site = true +ktlint_code_style = intellij_idea ktlint_standard_property-naming = disabled -ktlint_standard_no-empty-first-line-in-class-body = disabled +ktlint_class_signature_rule_force_multiline_when_parameter_count_greater_or_equal_than = 2 diff --git a/config/src/main/kotlin/com/project/starter/config/extensions/RootConfigExtension.kt b/config/src/main/kotlin/com/project/starter/config/extensions/RootConfigExtension.kt index 75b3fffb..23c87e53 100644 --- a/config/src/main/kotlin/com/project/starter/config/extensions/RootConfigExtension.kt +++ b/config/src/main/kotlin/com/project/starter/config/extensions/RootConfigExtension.kt @@ -27,9 +27,7 @@ open class RootConfigExtension( } } -open class QualityPluginConfig( - var formatOnCompile: Boolean = false, -) { +open class QualityPluginConfig(var formatOnCompile: Boolean = false) { fun formatOnCompile(value: Boolean) { formatOnCompile = value } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7e7ff2f6..27ec0681 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] google-agp = "8.1.1" -gradle-starter = "0.64.0" +gradle-starter = "0.65.0" gradle-gradlepublish = "1.2.1" gradle-jacocotestkit = "1.0.12" gradle-detekt = "1.23.3" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index c1962a79..7f93135c 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 309b4e18..3fa8f862 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index aeb74cbb..1aa94a42 100755 --- a/gradlew +++ b/gradlew @@ -83,7 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -130,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -141,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 @@ -149,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 @@ -198,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" \ diff --git a/jvm/src/main/kotlin/com/project/starter/modules/extensions/KotlinLibraryConfigExtension.kt b/jvm/src/main/kotlin/com/project/starter/modules/extensions/KotlinLibraryConfigExtension.kt index b4232d9d..db934d3f 100644 --- a/jvm/src/main/kotlin/com/project/starter/modules/extensions/KotlinLibraryConfigExtension.kt +++ b/jvm/src/main/kotlin/com/project/starter/modules/extensions/KotlinLibraryConfigExtension.kt @@ -2,6 +2,4 @@ package com.project.starter.modules.extensions import com.project.starter.quality.extensions.JavaSourcesAware -open class KotlinLibraryConfigExtension( - override var javaFilesAllowed: Boolean? = null, -) : JavaSourcesAware +open class KotlinLibraryConfigExtension(override var javaFilesAllowed: Boolean? = null) : JavaSourcesAware diff --git a/quality/src/main/kotlin/com/project/starter/quality/tasks/IssueLinksTask.kt b/quality/src/main/kotlin/com/project/starter/quality/tasks/IssueLinksTask.kt index a2885220..d587ba70 100644 --- a/quality/src/main/kotlin/com/project/starter/quality/tasks/IssueLinksTask.kt +++ b/quality/src/main/kotlin/com/project/starter/quality/tasks/IssueLinksTask.kt @@ -27,9 +27,7 @@ import org.gradle.workers.WorkerExecutor import javax.inject.Inject @CacheableTask -abstract class IssueLinksTask @Inject constructor( - private val workerExecutor: WorkerExecutor, -) : SourceTask() { +abstract class IssueLinksTask @Inject constructor(private val workerExecutor: WorkerExecutor) : SourceTask() { @OutputFile val report: RegularFileProperty = project.objects.fileProperty() diff --git a/versioning/src/main/kotlin/com/project/starter/versioning/plugins/VersioningPlugin.kt b/versioning/src/main/kotlin/com/project/starter/versioning/plugins/VersioningPlugin.kt index b9cd01ac..fbc15ff5 100644 --- a/versioning/src/main/kotlin/com/project/starter/versioning/plugins/VersioningPlugin.kt +++ b/versioning/src/main/kotlin/com/project/starter/versioning/plugins/VersioningPlugin.kt @@ -49,9 +49,8 @@ class VersioningPlugin : Plugin { } } - abstract class GitVersionValueSource @Inject constructor( - private val execOperations: ExecOperations, - ) : ValueSource { + abstract class GitVersionValueSource @Inject constructor(private val execOperations: ExecOperations) : + ValueSource { override fun obtain(): GitVersion { fun defaultVersion() = GitVersion( @@ -104,9 +103,7 @@ class VersioningPlugin : Plugin { } } - abstract class CurrentVersionTask @Inject constructor( - objectFactory: ObjectFactory, - ) : DefaultTask() { + abstract class CurrentVersionTask @Inject constructor(objectFactory: ObjectFactory) : DefaultTask() { @Input val gitVersion = objectFactory.property(GitVersion::class.java)