diff --git a/build.gradle b/build.gradle
index 8c0d5f3..8bc47e5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,16 +1,16 @@
plugins {
id 'application'
id 'checkstyle'
- id 'com.github.ben-manes.versions' version '0.36.0'
- id 'com.github.spotbugs' version '4.6.0'
+ id 'com.github.ben-manes.versions' version '0.38.0'
+ id 'com.github.spotbugs' version '4.7.0'
id 'idea'
- id 'io.gitlab.arturbosch.detekt' version '1.15.0-RC1'
+ id 'io.gitlab.arturbosch.detekt' version '1.16.0'
id 'jacoco'
id 'java'
id 'net.thauvin.erik.gradle.semver' version '1.0.4'
- id 'org.jetbrains.kotlin.jvm' version '1.4.20'
- id 'org.jetbrains.kotlin.kapt' version '1.4.20'
- id 'org.sonarqube' version '3.0'
+ id 'org.jetbrains.kotlin.jvm' version '1.4.31'
+ id 'org.jetbrains.kotlin.kapt' version '1.4.31'
+ id 'org.sonarqube' version '3.1.1'
id 'pmd'
}
@@ -22,9 +22,9 @@ final def semverProcessor = "net.thauvin.erik:semver:1.2.0"
ext.versions = [
jacoco : '0.8.6',
- log4j : '2.14.0',
- pmd : '6.29.0',
- spotbugs: '4.2.0'
+ log4j : '2.14.1',
+ pmd : '6.32.0',
+ spotbugs: '4.2.2'
]
repositories {
@@ -48,9 +48,9 @@ dependencies {
implementation 'net.aksingh:owm-japis:2.5.3.0'
implementation 'net.objecthunter:exp4j:0.4.8'
implementation 'net.thauvin.erik:pinboard-poster:1.0.1'
- implementation 'org.apache.commons:commons-lang3:3.11'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2'
- implementation 'org.json:json:20201115'
+ implementation 'org.apache.commons:commons-lang3:3.12.0'
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3'
+ implementation 'org.json:json:20210307'
implementation 'org.jsoup:jsoup:1.13.1'
implementation 'org.twitter4j:twitter4j-core:4.0.7'
implementation "org.apache.logging.log4j:log4j-api:$versions.log4j"
@@ -60,8 +60,8 @@ dependencies {
compileOnly "com.github.spotbugs:spotbugs-annotations:$versions.spotbugs"
testCompileOnly "com.github.spotbugs:spotbugs-annotations:$versions.spotbugs"
- testImplementation 'org.assertj:assertj-core:3.18.1'
- testImplementation 'org.testng:testng:7.3.0'
+ testImplementation 'org.assertj:assertj-core:3.19.0'
+ testImplementation 'org.testng:testng:7.4.0'
spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.11.0'
spotbugsPlugins 'com.mebigfatguy.sb-contrib:sb-contrib:7.4.7'
diff --git a/config/detekt/baseline.xml b/config/detekt/baseline.xml
index 65149d6..7d83c69 100644
--- a/config/detekt/baseline.xml
+++ b/config/detekt/baseline.xml
@@ -14,42 +14,6 @@
LongParameterList:Comment.kt$Comment$(bot: Mobibot, cmd: String, sender: String, entry: EntryLink, index: Int, commentIndex: Int)
LongParameterList:Mobibot.kt$Mobibot$( nick: String, list: List<String>, maxPerLine: Int, isPrivate: Boolean, isBold: Boolean = false, isIndent: Boolean = false )
LongParameterList:Twitter.kt$Twitter.Companion$( consumerKey: String?, consumerSecret: String?, token: String?, tokenSecret: String?, handle: String?, message: String, isDm: Boolean )
- MagicNumber:AddLog.kt$AddLog$4
- MagicNumber:Comment.kt$Comment$3
- MagicNumber:CurrencyConverter.kt$CurrencyConverter$11
- MagicNumber:CurrencyConverter.kt$CurrencyConverter$3
- MagicNumber:CurrencyConverter.kt$CurrencyConverter.Companion$3
- MagicNumber:CurrencyConverter.kt$CurrencyConverter.Companion$4
- MagicNumber:CurrencyConverter.kt$CurrencyConverter.Companion$8
- MagicNumber:Cycle.kt$Cycle$10
- MagicNumber:Dice.kt$Dice$7
- MagicNumber:FeedReader.kt$FeedReader$5
- MagicNumber:Ignore.kt$Ignore$8
- MagicNumber:Mobibot.kt$Mobibot$10
- MagicNumber:Mobibot.kt$Mobibot$1000L
- MagicNumber:Mobibot.kt$Mobibot$3
- MagicNumber:Mobibot.kt$Mobibot$5
- MagicNumber:Mobibot.kt$Mobibot$8
- MagicNumber:Modules.kt$Modules$7
- MagicNumber:Recap.kt$Recap.Companion$10
- MagicNumber:Tell.kt$Tell$50
- MagicNumber:Tell.kt$Tell$7
- MagicNumber:Twitter.kt$Twitter$1000L
- MagicNumber:Twitter.kt$Twitter$60L
- MagicNumber:Users.kt$Users$8
- MagicNumber:Utils.kt$Utils$30
- MagicNumber:Utils.kt$Utils$365
- MagicNumber:Utils.kt$Utils$7
- MagicNumber:View.kt$View$8
- MagicNumber:Weather2.kt$Weather2.Companion$1.60934
- MagicNumber:Weather2.kt$Weather2.Companion$32
- MagicNumber:Weather2.kt$Weather2.Companion$5
- MagicNumber:Weather2.kt$Weather2.Companion$9
- MagicNumber:WorldTime.kt$WorldTime$17
- MagicNumber:WorldTime.kt$WorldTime.Companion$3
- MagicNumber:WorldTime.kt$WorldTime.Companion$3600
- MagicNumber:WorldTime.kt$WorldTime.Companion$60
- MagicNumber:WorldTime.kt$WorldTime.Companion$86.4
MemberNameEqualsClassName:Calc.kt$Calc.Companion$ @JvmStatic fun calc(query: String): String
MemberNameEqualsClassName:Lookup.kt$Lookup.Companion$ @JvmStatic @Throws(UnknownHostException::class) fun lookup(query: String): String
MemberNameEqualsClassName:WorldTime.kt$WorldTime.Companion$ @JvmStatic fun worldTime(query: String): Message
@@ -74,19 +38,14 @@
NestedBlockDepth:Weather2.kt$Weather2$ override fun run(sender: String, cmd: String, args: String, isPrivate: Boolean)
NestedBlockDepth:Weather2.kt$Weather2.Companion$ @JvmStatic @Throws(ModuleException::class) fun getWeather(query: String, apiKey: String?): List<Message>
NestedBlockDepth:WorldTime.kt$WorldTime$override fun commandResponse( sender: String, cmd: String, args: String, isPrivate: Boolean )
+ PrintStackTrace:Mobibot.kt$Mobibot$e
+ PrintStackTrace:Mobibot.kt$Mobibot.Companion$e
ReturnCount:Addons.kt$Addons$ fun exec(sender: String, login: String, cmd: String, args: String, isOp: Boolean, isPrivate: Boolean): Boolean
ReturnCount:Addons.kt$Addons$ fun help(sender: String, topic: String, isOp: Boolean, isPrivate: Boolean): Boolean
+ SwallowedException:Calc.kt$Calc.Companion$catch (e: IllegalArgumentException) { "No idea. This is the kind of math I don't get." }
ThrowsCount:GoogleSearch.kt$GoogleSearch.Companion$ @JvmStatic @Throws(ModuleException::class) fun searchGoogle(query: String, apiKey: String?, cseKey: String?): List<Message>
ThrowsCount:StockQuote.kt$StockQuote.Companion$ @JvmStatic @Throws(ModuleException::class) fun getQuote(symbol: String, apiKey: String?): List<Message>
ThrowsCount:StockQuote.kt$StockQuote.Companion$@Throws(ModuleException::class) private fun getJsonResponse(response: String, debugMessage: String): JSONObject
ThrowsCount:Weather2.kt$Weather2.Companion$ @JvmStatic @Throws(ModuleException::class) fun getWeather(query: String, apiKey: String?): List<Message>
- TooGenericExceptionCaught:FeedReader.kt$FeedReader$e: Exception
- TooGenericExceptionCaught:Mobibot.kt$Mobibot$e: Exception
- TooGenericExceptionCaught:Mobibot.kt$Mobibot$ex: Exception
- TooGenericExceptionCaught:StockQuote.kt$StockQuote.Companion$e: NullPointerException
- TooGenericExceptionCaught:Weather2.kt$Weather2.Companion$e: NullPointerException
- TooManyFunctions:Mobibot.kt$Mobibot : PircBot
- TooManyFunctions:Tell.kt$Tell : AbstractCommand
- TooManyFunctions:Utils.kt$Utils$Utils
diff --git a/config/pmd.xml b/config/pmd.xml
index dc39dbb..b1174f9 100644
--- a/config/pmd.xml
+++ b/config/pmd.xml
@@ -237,7 +237,6 @@
-
@@ -250,7 +249,6 @@
-
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 4d9ca16..442d913 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-6.7.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/src/main/java/net/thauvin/erik/mobibot/commands/Info.java b/src/main/java/net/thauvin/erik/mobibot/commands/Info.java
index 224daf3..e419d39 100644
--- a/src/main/java/net/thauvin/erik/mobibot/commands/Info.java
+++ b/src/main/java/net/thauvin/erik/mobibot/commands/Info.java
@@ -87,9 +87,10 @@ public class Info extends AbstractCommand {
final boolean isPrivate) {
getBot().sendList(sender, allVersions, 1, isPrivate);
- final StringBuilder info = new StringBuilder("Uptime: ");
+ final StringBuilder info = new StringBuilder(29);
- info.append(Utils.uptime(ManagementFactory.getRuntimeMXBean().getUptime()))
+ info.append("Uptime: ")
+ .append(Utils.uptime(ManagementFactory.getRuntimeMXBean().getUptime()))
.append(" [Entries: ")
.append(LinksMgr.entries.size());
diff --git a/src/main/java/net/thauvin/erik/mobibot/modules/WorldTime.kt b/src/main/java/net/thauvin/erik/mobibot/modules/WorldTime.kt
index ed7ad74..b03f416 100644
--- a/src/main/java/net/thauvin/erik/mobibot/modules/WorldTime.kt
+++ b/src/main/java/net/thauvin/erik/mobibot/modules/WorldTime.kt
@@ -64,7 +64,7 @@ class WorldTime(bot: Mobibot) : AbstractModule(bot) {
val zdt = ZonedDateTime.now(ZoneId.of("UTC+01:00"))
val beats = ((zdt[ChronoField.SECOND_OF_MINUTE] + zdt[ChronoField.MINUTE_OF_HOUR] * 60
+ zdt[ChronoField.HOUR_OF_DAY] * 3600) / 86.4).toInt()
- return String.format("%c%03d", '@', beats)
+ return String.format(Locale.getDefault(), "%c%03d", '@', beats)
}
/**
diff --git a/version.properties b/version.properties
index 0880ceb..38c12ff 100644
--- a/version.properties
+++ b/version.properties
@@ -1,9 +1,9 @@
#Generated by the Semver Plugin for Gradle
-#Thu Mar 11 18:09:42 PST 2021
-version.buildmeta=428
+#Fri Mar 12 21:10:57 PST 2021
+version.buildmeta=434
version.major=0
version.minor=8
version.patch=0
version.prerelease=beta
version.project=mobibot
-version.semver=0.8.0-beta+428
+version.semver=0.8.0-beta+434