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