diff --git a/build.gradle.kts b/build.gradle.kts index 9f5bdfe..56f41cf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,6 @@ import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask import io.gitlab.arturbosch.detekt.Detekt +import org.jetbrains.kotlin.gradle.dsl.JvmTarget @Suppress("DSL_SCOPE_VIOLATION") // IntelliJ incorrectly marks libs as not callable plugins { @@ -36,7 +37,7 @@ ktlint { detekt { ignoreFailures = true - config = rootProject.files("config/detekt/detekt.yml") + config.setFrom(rootProject.files("config/detekt/detekt.yml")) } tasks.withType().configureEach { @@ -50,8 +51,6 @@ versionCatalogUpdate { sortByKey.set(true) keep { keepUnusedVersions.set(false) - keepUnusedLibraries.set(false) - keepUnusedPlugins.set(false) } } @@ -63,8 +62,8 @@ tasks.withType { } tasks.withType { - kotlinOptions { - jvmTarget = "1.8" + compilerOptions { + jvmTarget.set(JvmTarget.JVM_1_8) } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index aff3df6..f5c1b7d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,11 +1,11 @@ [versions] -aws = "2.26.31" -detekt = "1.23.6" -kotlin = "2.0.10" -ktlint-gradle = "12.1.1" -plugin-publish = "1.2.1" -version-catalog-update = "0.8.4" -version-check = "0.51.0" +aws = "2.34.0" +detekt = "1.23.8" +kotlin = "2.2.21" +ktlint-gradle = "13.1.0" +plugin-publish = "2.0.0" +version-catalog-update = "1.0.1" +version-check = "0.53.0" versioning = "3.1.0" [libraries] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2fa91c5..be17096 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip +distributionUrl=https://services.gradle.org/distributions/gradle-9.1.0-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifact.kt b/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifact.kt index 17ce485..85f8c1b 100644 --- a/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifact.kt +++ b/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifact.kt @@ -21,75 +21,79 @@ abstract class CodeArtifact { abstract val secretAccessKey: Property private val stsClient by lazy { - StsClient.builder().apply { - region.orNull?.let { - region(it) - } - if (accessKeyId.orNull != null && secretAccessKey.orNull != null) { - credentialsProvider { - StaticCredentialsProvider.create( - AwsBasicCredentials.create( - accessKeyId.get(), - secretAccessKey.get(), - ), - ).resolveCredentials() + StsClient + .builder() + .apply { + region.orNull?.let { + region(it) } - } else { - profile.orNull?.let { + if (accessKeyId.orNull != null && secretAccessKey.orNull != null) { credentialsProvider { - ProfileCredentialsProvider.create(profile.get()).resolveCredentials() + StaticCredentialsProvider + .create( + AwsBasicCredentials.create( + accessKeyId.get(), + secretAccessKey.get(), + ), + ).resolveCredentials() + } + } else { + profile.orNull?.let { + credentialsProvider { + ProfileCredentialsProvider.create(profile.get()).resolveCredentials() + } } } - } - }.build() + }.build() } private val client by lazy { - CodeartifactClient.builder().apply { - region.orNull?.let { - region(it) - } - if (accessKeyId.orNull != null && secretAccessKey.orNull != null) { - credentialsProvider { - StaticCredentialsProvider.create( - AwsBasicCredentials.create( - accessKeyId.get(), - secretAccessKey.get(), - ), - ).resolveCredentials() + CodeartifactClient + .builder() + .apply { + region.orNull?.let { + region(it) } - } else { - profile.orNull?.let { + if (accessKeyId.orNull != null && secretAccessKey.orNull != null) { credentialsProvider { - ProfileCredentialsProvider.create(profile.get()).resolveCredentials() + StaticCredentialsProvider + .create( + AwsBasicCredentials.create( + accessKeyId.get(), + secretAccessKey.get(), + ), + ).resolveCredentials() + } + } else { + profile.orNull?.let { + credentialsProvider { + ProfileCredentialsProvider.create(profile.get()).resolveCredentials() + } } } - } - }.build() + }.build() } private val accountId by lazy { stsClient.getCallerIdentity {}.account() } - internal fun authorizationTokenResponse(domain: String): GetAuthorizationTokenResponse { - return client.getAuthorizationToken { + internal fun authorizationTokenResponse(domain: String): GetAuthorizationTokenResponse = + client.getAuthorizationToken { it.domain(domain) it.domainOwner(accountId) it.durationSeconds(tokenExpiresIn.getOrElse(1_800)) } - } internal fun repositoryEndpointResponse( domain: String, repository: String, format: String = "maven", - ): GetRepositoryEndpointResponse { - return client.getRepositoryEndpoint { + ): GetRepositoryEndpointResponse = + client.getRepositoryEndpoint { it.domain(domain) it.domainOwner(accountId) it.repository(repository) it.format(format) } - } } diff --git a/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryExtension.kt b/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryExtension.kt index ec1a2f3..14e09c1 100644 --- a/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryExtension.kt +++ b/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryExtension.kt @@ -2,25 +2,28 @@ package com.liftric.code.artifact.repository import org.gradle.api.plugins.ExtensionContainer -abstract class CodeArtifactRepositoryExtension(private val extensionContainer: ExtensionContainer) : CodeArtifact() { +abstract class CodeArtifactRepositoryExtension( + private val extensionContainer: ExtensionContainer, +) : CodeArtifact() { fun additional( name: String, block: CodeArtifact.() -> Unit, ) { if (name.isEmpty()) error("Empty domain is not supported!") store[name] = - extensionContainer.create( - "${name}${CodeArtifactRepositoryPlugin.EXTENSION_NAME}", - CodeArtifactRepositoryExtension::class.java, - extensionContainer, - ).apply { - block.invoke(this) - region.convention(this@CodeArtifactRepositoryExtension.region) - profile.convention(this@CodeArtifactRepositoryExtension.profile) - accessKeyId.convention(this@CodeArtifactRepositoryExtension.accessKeyId) - secretAccessKey.convention(this@CodeArtifactRepositoryExtension.secretAccessKey) - tokenExpiresIn.convention(this@CodeArtifactRepositoryExtension.tokenExpiresIn) - } + extensionContainer + .create( + "${name}${CodeArtifactRepositoryPlugin.EXTENSION_NAME}", + CodeArtifactRepositoryExtension::class.java, + extensionContainer, + ).apply { + block.invoke(this) + region.convention(this@CodeArtifactRepositoryExtension.region) + profile.convention(this@CodeArtifactRepositoryExtension.profile) + accessKeyId.convention(this@CodeArtifactRepositoryExtension.accessKeyId) + secretAccessKey.convention(this@CodeArtifactRepositoryExtension.secretAccessKey) + tokenExpiresIn.convention(this@CodeArtifactRepositoryExtension.tokenExpiresIn) + } } companion object { diff --git a/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryPlugin.kt b/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryPlugin.kt index 92a2006..4cf21a2 100644 --- a/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryPlugin.kt +++ b/src/main/kotlin/com/liftric/code/artifact/repository/CodeArtifactRepositoryPlugin.kt @@ -9,7 +9,7 @@ import org.gradle.api.artifacts.dsl.RepositoryHandler import org.gradle.api.artifacts.repositories.MavenArtifactRepository import org.gradle.api.initialization.Settings import org.gradle.api.invocation.Gradle -import org.gradle.configurationcache.extensions.capitalized +import org.gradle.internal.extensions.stdlib.capitalized import org.gradle.kotlin.dsl.getByName import java.net.URI @@ -17,14 +17,16 @@ abstract class CodeArtifactRepositoryPlugin : Plugin { override fun apply(scope: Any) { when (scope) { is Settings -> { - scope.extensions.create(EXTENSION_NAME, CodeArtifactRepositoryExtension::class.java, scope.extensions) + scope.extensions + .create(EXTENSION_NAME, CodeArtifactRepositoryExtension::class.java, scope.extensions) .also { CodeArtifactRepositoryExtension.store[""] = it } } is Project -> { - scope.extensions.create(EXTENSION_NAME, CodeArtifactRepositoryExtension::class.java, scope.extensions) + scope.extensions + .create(EXTENSION_NAME, CodeArtifactRepositoryExtension::class.java, scope.extensions) .also { CodeArtifactRepositoryExtension.store[""] = it }