diff --git a/.idea/misc.xml b/.idea/misc.xml index 147eb12..d5f4077 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,6 +5,8 @@ + + diff --git a/config/detekt/baseline.xml b/config/detekt/baseline.xml index 907d890..711430a 100644 --- a/config/detekt/baseline.xml +++ b/config/detekt/baseline.xml @@ -17,7 +17,6 @@ ConstructorParameterNaming:UpdateConfig.kt$UpdateConfig.Builder$private var custom_bitlinks: Array<String> = emptyArray() ConstructorParameterNaming:UpdateConfig.kt$UpdateConfig.Builder$private var long_url: String = Constants.EMPTY CyclomaticComplexMethod:Bitlinks.kt$Bitlinks$@Synchronized fun update( bitlink: String, references: Map<String, String> = emptyMap(), archived: Boolean = false, tags: Array<String> = emptyArray(), created_at: String = Constants.EMPTY, title: String = Constants.EMPTY, deeplinks: Array<Map<String, String>> = emptyArray(), created_by: String = Constants.EMPTY, long_url: String = Constants.EMPTY, client_id: String = Constants.EMPTY, custom_bitlinks: Array<String> = emptyArray(), link: String = Constants.EMPTY, id: String = Constants.EMPTY, toJson: Boolean = false ): String - FunctionNaming:CreateConfig.kt$CreateConfig.Builder$fun group_guid(group_guid: String) FunctionParameterNaming:Bitlinks.kt$Bitlinks$bitlink_id: String FunctionParameterNaming:Bitlinks.kt$Bitlinks$client_id: String = Constants.EMPTY FunctionParameterNaming:Bitlinks.kt$Bitlinks$created_at: String = Constants.EMPTY @@ -29,11 +28,6 @@ FunctionParameterNaming:Bitlinks.kt$Bitlinks$unit_reference: String = Constants.EMPTY FunctionParameterNaming:CreateConfig.kt$CreateConfig.Builder$group_guid: String FunctionParameterNaming:CreateConfig.kt$CreateConfig.Builder$long_url: String - FunctionParameterNaming:UpdateConfig.kt$UpdateConfig.Builder$client_id: String - FunctionParameterNaming:UpdateConfig.kt$UpdateConfig.Builder$created_at: String - FunctionParameterNaming:UpdateConfig.kt$UpdateConfig.Builder$created_by: String - FunctionParameterNaming:UpdateConfig.kt$UpdateConfig.Builder$custom_bitlinks: Array<String> - FunctionParameterNaming:UpdateConfig.kt$UpdateConfig.Builder$long_url: String LongParameterList:Bitlinks.kt$Bitlinks$( bitlink: String, references: Map<String, String> = emptyMap(), archived: Boolean = false, tags: Array<String> = emptyArray(), created_at: String = Constants.EMPTY, title: String = Constants.EMPTY, deeplinks: Array<Map<String, String>> = emptyArray(), created_by: String = Constants.EMPTY, long_url: String = Constants.EMPTY, client_id: String = Constants.EMPTY, custom_bitlinks: Array<String> = emptyArray(), link: String = Constants.EMPTY, id: String = Constants.EMPTY, toJson: Boolean = false ) LongParameterList:Bitlinks.kt$Bitlinks$( bitlink: String, unit: Units = Units.DAY, units: Int = -1, size: Int = 50, unit_reference: String = Constants.EMPTY, toJson: Boolean = false ) LongParameterList:Bitlinks.kt$Bitlinks$( domain: String = Constants.EMPTY, title: String = Constants.EMPTY, group_guid: String = Constants.EMPTY, tags: Array<String> = emptyArray(), deeplinks: Array<Map<String, String>> = emptyArray(), long_url: String, toJson: Boolean = false ) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 32712c6..d2d7adf 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -2,6 +2,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.1 bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.0-SNAPSHOT +bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.0-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/pom.xml b/pom.xml index 8d2d139..4a1ec2f 100644 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,24 @@ 1.9.21 compile + + org.jetbrains.kotlin + kotlin-stdlib-common + 1.9.21 + compile + + + org.jetbrains.kotlin + kotlin-stdlib-jdk7 + 1.9.21 + compile + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + 1.9.21 + compile + com.squareup.okhttp3 okhttp diff --git a/src/bld/java/net/thauvin/erik/bitly/BitlyShortenBuild.java b/src/bld/java/net/thauvin/erik/bitly/BitlyShortenBuild.java index 4288cce..39ed31b 100644 --- a/src/bld/java/net/thauvin/erik/bitly/BitlyShortenBuild.java +++ b/src/bld/java/net/thauvin/erik/bitly/BitlyShortenBuild.java @@ -34,7 +34,7 @@ package net.thauvin.erik.bitly; import rife.bld.BuildCommand; import rife.bld.Project; import rife.bld.extension.CompileKotlinOperation; -import rife.bld.extension.CompileKotlinOptions; +import rife.bld.extension.DetektOperation; import rife.bld.extension.JacocoReportOperation; import rife.bld.extension.dokka.DokkaOperation; import rife.bld.extension.dokka.LoggingLevel; @@ -67,8 +67,12 @@ public class BitlyShortenBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL); var okHttp = version(4, 12, 0); + final var kotlin = version(1, 9, 21); scope(compile) - .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", version(1, 9, 21))) + .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin)) + .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-common", kotlin)) + .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-jdk7", kotlin)) + .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-jdk8", kotlin)) .include(dependency("com.squareup.okhttp3", "okhttp", okHttp)) .include(dependency("com.squareup.okhttp3", "logging-interceptor", okHttp)) .include(dependency("org.json", "json", "20231013")); @@ -124,6 +128,23 @@ public class BitlyShortenBuild extends Project { .execute(); } + @BuildCommand(summary = "Checks source with Detekt") + public void detekt() throws ExitStatusException, IOException, InterruptedException { + new DetektOperation() + .fromProject(this) + .baseline("config/detekt/baseline.xml") + .execute(); + } + + @BuildCommand(value = "detekt-baseline", summary = "Creates the Detekt baseline") + public void detektBaseline() throws ExitStatusException, IOException, InterruptedException { + new DetektOperation() + .fromProject(this) + .baseline("config/detekt/baseline.xml") + .createBaseline(true) + .execute(); + } + @BuildCommand(summary = "Generates documentation in HTML format") public void docs() throws ExitStatusException, IOException, InterruptedException { var kotlin = new File(srcMainDirectory(), "kotlin").getAbsolutePath(); diff --git a/src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt b/src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt index b354ab2..8f03f1c 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt @@ -56,7 +56,6 @@ open class Bitly() { * * @param accessToken The API access token. */ - @Suppress("unused") constructor(accessToken: String) : this() { this.accessToken = accessToken } @@ -67,7 +66,6 @@ open class Bitly() { * @param properties The properties containing the [API Access Token][accessToken]. * @param key The property key containing the [API Access Token][accessToken]. */ - @Suppress("unused") @JvmOverloads constructor(properties: Properties, key: String = Constants.ENV_ACCESS_TOKEN) : this() { accessToken = properties.getProperty(key, accessToken) @@ -96,7 +94,6 @@ open class Bitly() { * @param propertiesFile The properties file containing the [API Access Token][accessToken]. * @param key The property key containing the [API Access Token][accessToken]. */ - @Suppress("unused") @JvmOverloads constructor(propertiesFile: File, key: String = Constants.ENV_ACCESS_TOKEN) : this(propertiesFile.toPath(), key) diff --git a/src/main/kotlin/net/thauvin/erik/bitly/CallResponse.kt b/src/main/kotlin/net/thauvin/erik/bitly/CallResponse.kt index ecf33b9..04ca05b 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/CallResponse.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/CallResponse.kt @@ -39,7 +39,6 @@ package net.thauvin.erik.bitly * @param description Bitly error description, if any. * @param statusCode HTTP status code, */ -@Suppress("unused") data class CallResponse( val body: String = Constants.EMPTY_JSON, val message: String = "", diff --git a/src/main/kotlin/net/thauvin/erik/bitly/Units.kt b/src/main/kotlin/net/thauvin/erik/bitly/Units.kt index 67f7249..085b1fa 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/Units.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/Units.kt @@ -34,7 +34,6 @@ package net.thauvin.erik.bitly /** * Provides units of time definitions. */ -@Suppress("unused") enum class Units { MINUTE, HOUR, DAY, WEEK, MONTH } diff --git a/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt b/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt index 3371648..f544dfe 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt @@ -50,7 +50,7 @@ class CreateConfig private constructor( * * See the [Bit.ly API](https://dev.bitly.com/api-reference#createFullBitlink) for more information. **/ - @Suppress("unused", "ArrayInDataClass") + @Suppress("ArrayInDataClass") data class Builder( private var domain: String = Constants.EMPTY, private var title: String = Constants.EMPTY, diff --git a/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt b/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt index 556eb38..b86f31c 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt @@ -57,7 +57,7 @@ class UpdateConfig private constructor( * * See the [Bit.ly API](https://dev.bitly.com/api-reference#updateBitlink) for more information. **/ - @Suppress("unused", "ArrayInDataClass") + @Suppress("ArrayInDataClass") data class Builder( private var bitlink: String = Constants.EMPTY, private var references: Map = emptyMap(), diff --git a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt index 359c0b3..513d764 100644 --- a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt +++ b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt @@ -40,7 +40,6 @@ import net.thauvin.erik.bitly.Utils.toEndPoint import net.thauvin.erik.bitly.config.CreateConfig import net.thauvin.erik.bitly.config.UpdateConfig import org.json.JSONObject -import org.junit.Before import org.junit.jupiter.api.BeforeAll import java.io.File import java.util.logging.Level