diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..1bec35e
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
index d91f848..23f4bb5 100644
--- a/.idea/codeStyles/codeStyleConfig.xml
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -1,5 +1,6 @@
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index e5035ca..dd60c24 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -31,5 +31,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index 3923482..756fbd7 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -5,7 +5,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
new file mode 100644
index 0000000..797acea
--- /dev/null
+++ b/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LICENSE.txt b/LICENSE.txt
index 8e33202..df6d101 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2017-2021, Erik C. Thauvin (erik@thauvin.net)
+Copyright (c) 2017-2022, Erik C. Thauvin (erik@thauvin.net)
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/build.gradle.kts b/build.gradle.kts
index dda68c3..72a109e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,17 +1,18 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
plugins {
- id("com.github.ben-manes.versions") version "0.39.0"
- id("io.gitlab.arturbosch.detekt") version "1.18.1"
- id("jacoco")
+ id("com.github.ben-manes.versions") version "0.40.0"
+ id("io.gitlab.arturbosch.detekt") version "1.19.0"
id("java")
id("maven-publish")
- id("org.jetbrains.dokka") version "1.5.30"
+ id("org.jetbrains.dokka") version "1.6.10"
+ id("org.jetbrains.kotlinx.kover") version "0.4.4"
id("org.sonarqube") version "3.3"
id("signing")
- kotlin("jvm") version "1.5.31"
+ kotlin("jvm") version "1.6.10"
}
group = "net.thauvin.erik"
@@ -26,7 +27,14 @@ var isRelease = "release" in gradle.startParameter.taskNames
val publicationName = "mavenJava"
object Versions {
- const val OKHTTP = "4.9.1"
+ const val OKHTTP = "4.9.3"
+}
+
+fun isNonStable(version: String): Boolean {
+ val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.toUpperCase().contains(it) }
+ val regex = "^[0-9,.v-]+(-r)?$".toRegex()
+ val isStable = stableKeyword || regex.matches(version)
+ return isStable.not()
}
repositories {
@@ -60,6 +68,7 @@ sonarqube {
property("sonar.organization", "ethauvin-github")
property("sonar.host.url", "https://sonarcloud.io")
property("sonar.sourceEncoding", "UTF-8")
+ property("sonar.coverage.jacoco.xmlReportPaths", "${project.buildDir}/reports/kover/report.xml")
}
}
@@ -89,15 +98,9 @@ tasks {
destination = file("$projectDir/pom.xml")
}
- jacoco {
- toolVersion = "0.8.7"
- }
-
- jacocoTestReport {
- dependsOn(test)
- reports {
- xml.required.set(true)
- html.required.set(true)
+ withType {
+ rejectVersionIf {
+ isNonStable(candidate.version)
}
}
@@ -150,7 +153,7 @@ tasks {
}
"sonarqube" {
- dependsOn(jacocoTestReport)
+ dependsOn(koverReport)
}
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ffed3a2..2e6e589 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-7.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/samples/java/build.gradle b/samples/java/build.gradle
index 8cb0159..54e6320 100644
--- a/samples/java/build.gradle
+++ b/samples/java/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id 'com.github.ben-manes.versions' version '0.39.0'
+ id 'com.github.ben-manes.versions' version '0.40.0'
id 'java'
id 'application'
}
diff --git a/samples/java/gradle/wrapper/gradle-wrapper.properties b/samples/java/gradle/wrapper/gradle-wrapper.properties
index ffed3a2..2e6e589 100644
--- a/samples/java/gradle/wrapper/gradle-wrapper.properties
+++ b/samples/java/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/samples/kotlin/build.gradle.kts b/samples/kotlin/build.gradle.kts
index 05dda10..3c6ac3c 100644
--- a/samples/kotlin/build.gradle.kts
+++ b/samples/kotlin/build.gradle.kts
@@ -2,8 +2,8 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("application")
- id("com.github.ben-manes.versions") version "0.39.0"
- kotlin("jvm") version "1.5.31"
+ id("com.github.ben-manes.versions") version "0.40.0"
+ kotlin("jvm") version "1.6.10"
}
// ./gradlew run
diff --git a/samples/kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin/gradle/wrapper/gradle-wrapper.properties
index ffed3a2..2e6e589 100644
--- a/samples/kotlin/gradle/wrapper/gradle-wrapper.properties
+++ b/samples/kotlin/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/src/main/kotlin/net/thauvin/erik/pinboard/PinboardPoster.kt b/src/main/kotlin/net/thauvin/erik/pinboard/PinboardPoster.kt
index 3e1e2a8..92a59a6 100644
--- a/src/main/kotlin/net/thauvin/erik/pinboard/PinboardPoster.kt
+++ b/src/main/kotlin/net/thauvin/erik/pinboard/PinboardPoster.kt
@@ -1,7 +1,7 @@
/*
* PinboardPoster.kt
*
- * Copyright (c) 2017-2021, Erik C. Thauvin (erik@thauvin.net)
+ * Copyright (c) 2017-2022, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/test/kotlin/net/thauvin/erik/pinboard/PinboardPosterTest.kt b/src/test/kotlin/net/thauvin/erik/pinboard/PinboardPosterTest.kt
index ccb5b2f..dd5477c 100644
--- a/src/test/kotlin/net/thauvin/erik/pinboard/PinboardPosterTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/pinboard/PinboardPosterTest.kt
@@ -1,7 +1,7 @@
/*
* PinboardPosterTest.kt
*
- * Copyright (c) 2017-2021, Erik C. Thauvin (erik@thauvin.net)
+ * Copyright (c) 2017-2022, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without