diff --git a/.circleci/config.yml b/.circleci/config.yml
index 7bf833e..23a719e 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -30,11 +30,11 @@ defaults_gradle: &defaults_gradle
path: build/reports/
jobs:
- build_gradle_jdk14:
+ build_gradle_jdk15:
<<: *defaults
docker:
- - image: openjdk:14-jdk
+ - image: cimg/openjdk:15.0
<<: *defaults_gradle
@@ -42,7 +42,7 @@ jobs:
<<: *defaults
docker:
- - image: circleci/openjdk:8-jdk
+ - image: cimg/openjdk:8.0
<<: *defaults_gradle
@@ -51,5 +51,5 @@ workflows:
gradle:
jobs:
- build_gradle_jdk8
- - build_gradle_jdk14
+ - build_gradle_jdk15
diff --git a/.gitignore b/.gitignore
index f58d3e5..d7c72b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-
!.vscode/extensions.json
!.vscode/launch.json
!.vscode/settings.json
@@ -43,6 +42,7 @@
/**/.idea/**/replstate.xml
/**/.idea/**/shelf
/**/.idea/**/shelf/
+/**/.idea/**/sonarlint*
/**/.idea/**/sqlDataSources.xml
/**/.idea/**/tasks.xml
/**/.idea/**/uiDesigner.xml
diff --git a/.idea/akismet-kotlin.iml b/.idea/akismet-kotlin.iml
deleted file mode 100644
index 78b2cc5..0000000
--- a/.idea/akismet-kotlin.iml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..61a9130
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index ac476f9..5d3d4fc 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -26,5 +26,15 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index a85734c..5b5589f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/build.gradle.kts b/build.gradle.kts
index e6df14e..fce86c8 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -5,17 +5,17 @@ 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.17.1"
+ id("io.gitlab.arturbosch.detekt") version "1.18.0-RC2"
id("jacoco")
id("java")
id("maven-publish")
id("net.thauvin.erik.gradle.semver") version "1.0.4"
- id("org.jetbrains.dokka") version "1.4.32"
+ id("org.jetbrains.dokka") version "1.5.0"
id("org.sonarqube") version "3.3"
id("signing")
- kotlin("jvm") version "1.5.10"
- kotlin("kapt") version "1.5.10"
- kotlin("plugin.serialization") version "1.5.10"
+ kotlin("jvm") version "1.5.21"
+ kotlin("kapt") version "1.5.21"
+ kotlin("plugin.serialization") version "1.5.21"
}
group = "net.thauvin.erik"
@@ -50,9 +50,9 @@ dependencies {
implementation("com.squareup.okhttp3:okhttp:${Versions.OKHTTP}")
implementation("com.squareup.okhttp3:logging-interceptor:${Versions.OKHTTP}")
- implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.1")
+ implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.2")
- testImplementation("org.mockito:mockito-core:3.11.1")
+ testImplementation("org.mockito:mockito-core:3.11.2")
testImplementation("org.testng:testng:7.4.0")
}
@@ -115,8 +115,8 @@ tasks {
jacocoTestReport {
dependsOn(test)
reports {
- xml.isEnabled = true
- html.isEnabled = true
+ xml.required.set(true)
+ html.required.set(true)
}
}
@@ -138,7 +138,7 @@ tasks {
jdkVersion.set(8)
includes.from("config/dokka/packages.md")
sourceLink {
- localDirectory.set(file("/src/main/kotlin/"))
+ localDirectory.set(file("src/main/kotlin/"))
remoteUrl.set(URL("https://github.com/ethauvin/${project.name}/tree/master/src/main/kotlin/"))
remoteLineSuffix.set("#L")
}
diff --git a/config/detekt/baseline.xml b/config/detekt/baseline.xml
index 4af77c9..dbe249e 100644
--- a/config/detekt/baseline.xml
+++ b/config/detekt/baseline.xml
@@ -1,16 +1,14 @@
-
+
-
-
- ComplexMethod:Akismet.kt$Akismet$ @JvmOverloads fun executeMethod(apiUrl: HttpUrl?, formBody: FormBody, trueOnError: Boolean = false): Boolean
+
+
ComplexMethod:Akismet.kt$Akismet$private fun buildFormBody(comment: AkismetComment): FormBody
ComplexMethod:AkismetComment.kt$AkismetComment$ @Suppress("DuplicatedCode") override fun equals(other: Any?): Boolean
MagicNumber:Akismet.kt$Akismet$12
- MagicNumber:Akismet.kt$Akismet.<no name provided>$8
- MaxLineLength:Akismet.kt$Akismet$/** * The _x-akismet-pro-tip_ header from the last operation, if any. * * If the _x-akismet-pro-tip_ header is set to discard, then Akismet has determined that the comment is blatant spam, * and you can safely discard it without saving it in any spam queue. * * Read more about this feature in this * [Akismet blog post](https://blog.akismet.com/2014/04/23/theres-a-ninja-in-your-akismet/). * * @see [Akismet.isDiscard] */ @Suppress("MemberVisibilityCanBePrivate") var proTip: String = "" private set
+ MagicNumber:Akismet.kt$Akismet.<no name provided>$8
NestedBlockDepth:Akismet.kt$Akismet$ @JvmOverloads fun executeMethod(apiUrl: HttpUrl?, formBody: FormBody, trueOnError: Boolean = false): Boolean
NestedBlockDepth:AkismetTest.kt$fun getKey(key: String): String
ReturnCount:Akismet.kt$Akismet$ @JvmOverloads fun executeMethod(apiUrl: HttpUrl?, formBody: FormBody, trueOnError: Boolean = false): Boolean
- TooManyFunctions:Akismet.kt$Akismet
-
+ SwallowedException:Akismet.kt$Akismet$catch (e: IOException) { errorMessage = "An IO error occurred while communicating with the Akismet service." }
+
diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml
deleted file mode 100644
index f24d8c1..0000000
--- a/config/detekt/detekt.yml
+++ /dev/null
@@ -1,551 +0,0 @@
-build:
- maxIssues: 10
- weights:
- # complexity: 2
- # LongParameterList: 1
- # style: 1
- # comments: 1
-
-processors:
- active: true
- exclude:
- # - 'DetektProgressListener'
- # - 'FunctionCountProcessor'
- # - 'PropertyCountProcessor'
- # - 'ClassCountProcessor'
- # - 'PackageCountProcessor'
- # - 'KtFileCountProcessor'
-
-console-reports:
- active: true
- exclude:
- # - 'ProjectStatisticsReport'
- # - 'ComplexityReport'
- # - 'NotificationReport'
- # - 'FindingsReport'
- # - 'BuildFailureReport'
-
-comments:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- CommentOverPrivateFunction:
- active: false
- CommentOverPrivateProperty:
- active: false
- EndOfSentenceFormat:
- active: false
- endOfSentenceFormat: ([.?!][ \t\n\r\f<])|([.?!:]$)
- UndocumentedPublicClass:
- active: false
- searchInNestedClass: true
- searchInInnerClass: true
- searchInInnerObject: true
- searchInInnerInterface: true
- UndocumentedPublicFunction:
- active: false
-
-complexity:
- active: true
- ComplexCondition:
- active: true
- threshold: 4
- ComplexInterface:
- active: false
- threshold: 10
- includeStaticDeclarations: false
- ComplexMethod:
- active: true
- threshold: 10
- ignoreSingleWhenExpression: false
- ignoreSimpleWhenEntries: false
- LabeledExpression:
- active: false
- ignoredLabels: ""
- LargeClass:
- active: true
- threshold: 600
- LongMethod:
- active: true
- threshold: 60
- LongParameterList:
- active: false
- constructorThreshold: 6
- functionThreshold: 6
- ignoreDefaultParameters: false
- MethodOverloading:
- active: false
- threshold: 6
- NestedBlockDepth:
- active: true
- threshold: 4
- StringLiteralDuplication:
- active: false
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- threshold: 3
- ignoreAnnotation: true
- excludeStringsWithLessThan5Characters: true
- ignoreStringsRegex: '$^'
- TooManyFunctions:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- thresholdInFiles: 11
- thresholdInClasses: 11
- thresholdInInterfaces: 11
- thresholdInObjects: 11
- thresholdInEnums: 11
- ignoreDeprecated: false
- ignorePrivate: false
- ignoreOverridden: false
-
-empty-blocks:
- active: true
- EmptyCatchBlock:
- active: true
- allowedExceptionNameRegex: "^(_|(ignore|expected).*)"
- EmptyClassBlock:
- active: true
- EmptyDefaultConstructor:
- active: true
- EmptyDoWhileBlock:
- active: true
- EmptyElseBlock:
- active: true
- EmptyFinallyBlock:
- active: true
- EmptyForBlock:
- active: true
- EmptyFunctionBlock:
- active: true
- ignoreOverridden: false
- EmptyIfBlock:
- active: true
- EmptyInitBlock:
- active: true
- EmptyKtFile:
- active: true
- EmptySecondaryConstructor:
- active: true
- EmptyWhenBlock:
- active: true
- EmptyWhileBlock:
- active: true
-
-exceptions:
- active: true
- ExceptionRaisedInUnexpectedLocation:
- active: false
- methodNames: 'toString,hashCode,equals,finalize'
- InstanceOfCheckForException:
- active: false
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- NotImplementedDeclaration:
- active: false
- PrintStackTrace:
- active: false
- RethrowCaughtException:
- active: false
- ReturnFromFinally:
- active: false
- SwallowedException:
- active: false
- ignoredExceptionTypes: 'InterruptedException,NumberFormatException,ParseException,MalformedURLException'
- allowedExceptionNameRegex: "^(_|(ignore|expected).*)"
- ThrowingExceptionFromFinally:
- active: false
- ThrowingExceptionInMain:
- active: false
- ThrowingExceptionsWithoutMessageOrCause:
- active: false
- exceptions: 'IllegalArgumentException,IllegalStateException,IOException'
- ThrowingNewInstanceOfSameException:
- active: false
- TooGenericExceptionCaught:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- exceptionNames:
- - ArrayIndexOutOfBoundsException
- - Error
- - Exception
- - IllegalMonitorStateException
- - NullPointerException
- - IndexOutOfBoundsException
- - RuntimeException
- - Throwable
- allowedExceptionNameRegex: "^(_|(ignore|expected).*)"
- TooGenericExceptionThrown:
- active: true
- exceptionNames:
- - Error
- - Exception
- - Throwable
- - RuntimeException
-
-formatting:
- active: true
- android: false
- autoCorrect: true
- AnnotationOnSeparateLine:
- active: false
- autoCorrect: true
- ChainWrapping:
- active: true
- autoCorrect: true
- CommentSpacing:
- active: true
- autoCorrect: true
- Filename:
- active: true
- FinalNewline:
- active: true
- autoCorrect: true
- ImportOrdering:
- active: false
- autoCorrect: true
- Indentation:
- active: false
- autoCorrect: true
- indentSize: 4
- continuationIndentSize: 4
- MaximumLineLength:
- active: true
- maxLineLength: 120
- ModifierOrdering:
- active: true
- autoCorrect: true
- MultiLineIfElse:
- active: true
- autoCorrect: true
- NoBlankLineBeforeRbrace:
- active: true
- autoCorrect: true
- NoConsecutiveBlankLines:
- active: true
- autoCorrect: true
- NoEmptyClassBody:
- active: true
- autoCorrect: true
- NoLineBreakAfterElse:
- active: true
- autoCorrect: true
- NoLineBreakBeforeAssignment:
- active: true
- autoCorrect: true
- NoMultipleSpaces:
- active: true
- autoCorrect: true
- NoSemicolons:
- active: true
- autoCorrect: true
- NoTrailingSpaces:
- active: true
- autoCorrect: true
- NoUnitReturn:
- active: true
- autoCorrect: true
- NoUnusedImports:
- active: true
- autoCorrect: true
- NoWildcardImports:
- active: true
- PackageName:
- active: true
- autoCorrect: true
- ParameterListWrapping:
- active: true
- autoCorrect: true
- indentSize: 4
- SpacingAroundColon:
- active: true
- autoCorrect: true
- SpacingAroundComma:
- active: true
- autoCorrect: true
- SpacingAroundCurly:
- active: true
- autoCorrect: true
- SpacingAroundDot:
- active: true
- autoCorrect: true
- SpacingAroundKeyword:
- active: true
- autoCorrect: true
- SpacingAroundOperators:
- active: true
- autoCorrect: true
- SpacingAroundParens:
- active: true
- autoCorrect: true
- SpacingAroundRangeOperator:
- active: true
- autoCorrect: true
- StringTemplate:
- active: true
- autoCorrect: true
-
-naming:
- active: true
- ClassNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- classPattern: '[A-Z$][a-zA-Z0-9$]*'
- ConstructorParameterNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- parameterPattern: '[a-z][A-Za-z0-9]*'
- privateParameterPattern: '[a-z][A-Za-z0-9]*'
- excludeClassPattern: '$^'
- EnumNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- enumEntryPattern: '^[A-Z][_a-zA-Z0-9]*'
- ForbiddenClassName:
- active: false
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- forbiddenName: ''
- FunctionMaxLength:
- active: false
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- maximumFunctionNameLength: 30
- FunctionMinLength:
- active: false
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- minimumFunctionNameLength: 3
- FunctionNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- functionPattern: '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$'
- excludeClassPattern: '$^'
- ignoreOverridden: true
- FunctionParameterNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- parameterPattern: '[a-z][A-Za-z0-9]*'
- excludeClassPattern: '$^'
- ignoreOverridden: true
- InvalidPackageDeclaration:
- active: false
- rootPackage: ''
- MatchingDeclarationName:
- active: true
- MemberNameEqualsClassName:
- active: false
- ignoreOverridden: true
- ObjectPropertyNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- constantPattern: '[A-Za-z][_A-Za-z0-9]*'
- propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
- privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*'
- PackageNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- packagePattern: '^[a-z]+(\.[a-z][A-Za-z0-9]*)*$'
- TopLevelPropertyNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- constantPattern: '[A-Z][_A-Z0-9]*'
- propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
- privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*'
- VariableMaxLength:
- active: false
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- maximumVariableNameLength: 64
- VariableMinLength:
- active: false
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- minimumVariableNameLength: 1
- VariableNaming:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- variablePattern: '[a-z][A-Za-z0-9]*'
- privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
- excludeClassPattern: '$^'
- ignoreOverridden: true
-
-performance:
- active: true
- ArrayPrimitive:
- active: false
- ForEachOnRange:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- SpreadOperator:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- UnnecessaryTemporaryInstantiation:
- active: true
-
-potential-bugs:
- active: true
- DuplicateCaseInWhenExpression:
- active: true
- EqualsAlwaysReturnsTrueOrFalse:
- active: false
- EqualsWithHashCodeExist:
- active: true
- ExplicitGarbageCollectionCall:
- active: true
- InvalidRange:
- active: false
- IteratorHasNextCallsNextMethod:
- active: false
- IteratorNotThrowingNoSuchElementException:
- active: false
- LateinitUsage:
- active: false
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- excludeAnnotatedProperties: ""
- ignoreOnClassesPattern: ""
- MissingWhenCase:
- active: false
- RedundantElseInWhen:
- active: false
- UnconditionalJumpStatementInLoop:
- active: false
- UnreachableCode:
- active: true
- UnsafeCallOnNullableType:
- active: false
- UnsafeCast:
- active: false
- UselessPostfixExpression:
- active: false
- WrongEqualsTypeParameter:
- active: false
-
-style:
- active: true
- CollapsibleIfStatements:
- active: false
- DataClassContainsFunctions:
- active: false
- conversionFunctionPrefix: 'to'
- DataClassShouldBeImmutable:
- active: false
- EqualsNullCall:
- active: false
- EqualsOnSignatureLine:
- active: false
- ExplicitItLambdaParameter:
- active: false
- ExpressionBodySyntax:
- active: false
- includeLineWrapping: false
- ForbiddenComment:
- active: true
- values: 'TODO:,FIXME:,STOPSHIP:'
- ForbiddenImport:
- active: false
- imports: ''
- ForbiddenVoid:
- active: false
- ignoreOverridden: false
- ignoreUsageInGenerics: false
- FunctionOnlyReturningConstant:
- active: false
- ignoreOverridableFunction: true
- excludedFunctions: 'describeContents'
- LibraryCodeMustSpecifyReturnType:
- active: false
- LoopWithTooManyJumpStatements:
- active: false
- maxJumpCount: 1
- MagicNumber:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- ignoreNumbers: '-1,0,1,2'
- ignoreHashCodeFunction: true
- ignorePropertyDeclaration: false
- ignoreConstantDeclaration: true
- ignoreCompanionObjectPropertyDeclaration: true
- ignoreAnnotation: false
- ignoreNamedArgument: true
- ignoreEnums: false
- ignoreRanges: false
- MandatoryBracesIfStatements:
- active: false
- MaxLineLength:
- active: true
- maxLineLength: 120
- excludePackageStatements: true
- excludeImportStatements: true
- excludeCommentStatements: false
- MayBeConst:
- active: false
- ModifierOrder:
- active: true
- NestedClassesVisibility:
- active: false
- NewLineAtEndOfFile:
- active: true
- NoTabs:
- active: false
- OptionalAbstractKeyword:
- active: true
- OptionalUnit:
- active: false
- OptionalWhenBraces:
- active: false
- PreferToOverPairSyntax:
- active: false
- ProtectedMemberInFinalClass:
- active: false
- RedundantVisibilityModifierRule:
- active: false
- ReturnCount:
- active: true
- max: 2
- excludedFunctions: "equals"
- excludeLabeled: false
- excludeReturnFromLambda: true
- SafeCast:
- active: true
- SerialVersionUIDInSerializableClass:
- active: false
- SpacingBetweenPackageAndImports:
- active: false
- ThrowsCount:
- active: true
- max: 2
- TrailingWhitespace:
- active: false
- UnderscoresInNumericLiterals:
- active: false
- acceptableDecimalLength: 5
- UnnecessaryAbstractClass:
- active: false
- excludeAnnotatedClasses: "dagger.Module"
- UnnecessaryApply:
- active: false
- UnnecessaryInheritance:
- active: false
- UnnecessaryLet:
- active: false
- UnnecessaryParentheses:
- active: false
- UntilInsteadOfRangeTo:
- active: false
- UnusedImports:
- active: false
- UnusedPrivateClass:
- active: false
- UnusedPrivateMember:
- active: false
- allowedNames: "(_|ignored|expected|serialVersionUID)"
- UseCheckOrError:
- active: false
- UseDataClass:
- active: false
- excludeAnnotatedClasses: ""
- UseRequire:
- active: false
- UselessCallOnNotNull:
- active: false
- UtilityClassWithPublicConstructor:
- active: false
- VarCouldBeVal:
- active: false
- WildcardImport:
- active: true
- excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt"
- excludeImports: 'java.util.*,kotlinx.android.synthetic.*'
diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts
index 47f9ebb..bca65a0 100644
--- a/examples/build.gradle.kts
+++ b/examples/build.gradle.kts
@@ -1,7 +1,7 @@
plugins {
id("application")
id("com.github.ben-manes.versions") version "0.39.0"
- kotlin("jvm") version "1.5.10"
+ kotlin("jvm") version "1.5.21"
}
// ./gradlew run runJava
@@ -26,7 +26,7 @@ application {
tasks {
register("runJava", JavaExec::class) {
group = "application"
- main = "com.example.AkismetSample"
+ mainClass.set("com.example.AkismetSample")
classpath = sourceSets.main.get().runtimeClasspath
}
}
diff --git a/examples/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/wrapper/gradle-wrapper.jar
index e708b1c..7454180 100644
Binary files a/examples/gradle/wrapper/gradle-wrapper.jar and b/examples/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/examples/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/wrapper/gradle-wrapper.properties
index 0f80bbf..05679dc 100644
--- a/examples/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/examples/gradlew b/examples/gradlew
index 4f906e0..744e882 100755
--- a/examples/gradlew
+++ b/examples/gradlew
@@ -72,7 +72,7 @@ case "`uname`" in
Darwin* )
darwin=true
;;
- MINGW* )
+ MSYS* | MINGW* )
msys=true
;;
NONSTOP* )
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index e708b1c..7454180 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 0f80bbf..05679dc 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.0.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index 4f906e0..744e882 100755
--- a/gradlew
+++ b/gradlew
@@ -72,7 +72,7 @@ case "`uname`" in
Darwin* )
darwin=true
;;
- MINGW* )
+ MSYS* | MINGW* )
msys=true
;;
NONSTOP* )
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 1427ab4..f93566a 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,11 +1,18 @@
plugins {
- id("com.gradle.enterprise").version("3.1.1")
+ id("com.gradle.enterprise").version("3.6.3")
}
-rootProject.name = "akismet-kotlin"
-
gradleEnterprise {
buildScan {
- // plugin configuration
+ link("GitHub", "https://github.com/ethauvin/akismet-kotlin/tree/master")
+ if (!System.getenv("CI").isNullOrEmpty()) {
+ isUploadInBackground = false
+ publishOnFailure()
+ tag("CI")
+ }
+ termsOfServiceUrl = "https://gradle.com/terms-of-service"
+ termsOfServiceAgree = "yes"
}
}
+
+rootProject.name = "akismet-kotlin"
diff --git a/src/main/kotlin/net/thauvin/erik/akismet/Akismet.kt b/src/main/kotlin/net/thauvin/erik/akismet/Akismet.kt
index 3aaff45..8c69c65 100644
--- a/src/main/kotlin/net/thauvin/erik/akismet/Akismet.kt
+++ b/src/main/kotlin/net/thauvin/erik/akismet/Akismet.kt
@@ -201,7 +201,7 @@ open class Akismet(apiKey: String) {
/**
* The logger instance.
*/
- val logger: Logger by lazy { Logger.getLogger(Akismet::class.java.simpleName) }
+ val logger: Logger by lazy { Logger.getLogger(Akismet::class.java.name) }
init {
require(
@@ -363,7 +363,7 @@ open class Akismet(apiKey: String) {
}
if (errorMessage.isNotEmpty()) {
- logger.warning(errorMessage)
+ if (logger.isLoggable(Level.WARNING)) logger.warning(errorMessage)
return trueOnError
}