diff --git a/binary-compatibility-validator/api/binary-compatibility-validator.api b/binary-compatibility-validator/api/binary-compatibility-validator.api
index 04dafbfc4..eff5be96f 100644
--- a/binary-compatibility-validator/api/binary-compatibility-validator.api
+++ b/binary-compatibility-validator/api/binary-compatibility-validator.api
@@ -482,7 +482,8 @@ public abstract interface class net/mamoe/mirai/contact/NormalMember : net/mamoe
public final class net/mamoe/mirai/contact/NormalMemberKt {
public static final fun getNameCardOrNick (Lnet/mamoe/mirai/contact/User;)Ljava/lang/String;
public static final fun isMuted (Lnet/mamoe/mirai/contact/NormalMember;)Z
- public static final fun mute-fcu0wV4 (Lnet/mamoe/mirai/contact/NormalMember;DLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static final fun mute-8Mi8wO0 (Lnet/mamoe/mirai/contact/NormalMember;DLkotlin/coroutines/Continuation;)Ljava/lang/Object;
+ public static final synthetic fun mute-fcu0wV4 (Lnet/mamoe/mirai/contact/NormalMember;DLkotlin/coroutines/Continuation;)Ljava/lang/Object;
}
public abstract interface class net/mamoe/mirai/contact/OtherClient : net/mamoe/mirai/contact/Contact {
@@ -1630,12 +1631,12 @@ public abstract class net/mamoe/mirai/event/MessageSelectBuilder : net/mamoe/mir
public synthetic fun quoteReply (Lnet/mamoe/mirai/event/MessageSubscribersBuilder$ListeningFilter;Lkotlin/jvm/functions/Function3;)Ljava/lang/Void;
public synthetic fun quoteReply (Lnet/mamoe/mirai/event/MessageSubscribersBuilder$ListeningFilter;Lnet/mamoe/mirai/message/data/Message;)Ljava/lang/Object;
public synthetic fun quoteReply (Lnet/mamoe/mirai/event/MessageSubscribersBuilder$ListeningFilter;Lnet/mamoe/mirai/message/data/Message;)Ljava/lang/Void;
- public synthetic fun quoteReply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)Ljava/lang/Void;
- public synthetic fun quoteReply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)V
- public synthetic fun quoteReply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)Ljava/lang/Void;
- public synthetic fun quoteReply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)V
- public synthetic fun quoteReply-sCZ5gAI (JLjava/lang/String;)Ljava/lang/Void;
- public synthetic fun quoteReply-sCZ5gAI (JLjava/lang/String;)V
+ public synthetic fun quoteReply-8NSq9Eo (JLjava/lang/String;)Ljava/lang/Void;
+ public synthetic fun quoteReply-8NSq9Eo (JLjava/lang/String;)V
+ public synthetic fun quoteReply-8NSq9Eo (JLkotlin/jvm/functions/Function1;)Ljava/lang/Void;
+ public synthetic fun quoteReply-8NSq9Eo (JLkotlin/jvm/functions/Function1;)V
+ public synthetic fun quoteReply-8NSq9Eo (JLnet/mamoe/mirai/message/data/Message;)Ljava/lang/Void;
+ public synthetic fun quoteReply-8NSq9Eo (JLnet/mamoe/mirai/message/data/Message;)V
public synthetic fun reply (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
public synthetic fun reply (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Void;
public synthetic fun reply (Ljava/lang/String;Lkotlin/jvm/functions/Function3;)Ljava/lang/Object;
@@ -1648,12 +1649,12 @@ public abstract class net/mamoe/mirai/event/MessageSelectBuilder : net/mamoe/mir
public synthetic fun reply (Lnet/mamoe/mirai/event/MessageSubscribersBuilder$ListeningFilter;Lkotlin/jvm/functions/Function3;)Ljava/lang/Void;
public synthetic fun reply (Lnet/mamoe/mirai/event/MessageSubscribersBuilder$ListeningFilter;Lnet/mamoe/mirai/message/data/Message;)Ljava/lang/Object;
public synthetic fun reply (Lnet/mamoe/mirai/event/MessageSubscribersBuilder$ListeningFilter;Lnet/mamoe/mirai/message/data/Message;)Ljava/lang/Void;
- public synthetic fun reply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)Ljava/lang/Void;
- public synthetic fun reply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)V
- public synthetic fun reply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)Ljava/lang/Void;
- public synthetic fun reply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)V
- public synthetic fun reply-sCZ5gAI (JLjava/lang/String;)Ljava/lang/Void;
- public synthetic fun reply-sCZ5gAI (JLjava/lang/String;)V
+ public synthetic fun reply-8NSq9Eo (JLjava/lang/String;)Ljava/lang/Void;
+ public synthetic fun reply-8NSq9Eo (JLjava/lang/String;)V
+ public synthetic fun reply-8NSq9Eo (JLkotlin/jvm/functions/Function1;)Ljava/lang/Void;
+ public synthetic fun reply-8NSq9Eo (JLkotlin/jvm/functions/Function1;)V
+ public synthetic fun reply-8NSq9Eo (JLnet/mamoe/mirai/message/data/Message;)Ljava/lang/Void;
+ public synthetic fun reply-8NSq9Eo (JLnet/mamoe/mirai/message/data/Message;)V
}
public abstract class net/mamoe/mirai/event/MessageSelectBuilderUnit : net/mamoe/mirai/event/MessageSubscribersBuilder {
@@ -1663,17 +1664,32 @@ public abstract class net/mamoe/mirai/event/MessageSelectBuilderUnit : net/mamoe
public abstract fun default (Lkotlin/jvm/functions/Function3;)V
public final fun defaultQuoteReply (Lkotlin/jvm/functions/Function1;)V
public final fun defaultReply (Lkotlin/jvm/functions/Function1;)V
- public final fun invoke-RNyhSv4 (JLkotlin/jvm/functions/Function1;)V
+ public final fun invoke-8NSq9Eo (JLkotlin/jvm/functions/Function1;)V
+ public final synthetic fun invoke-RNyhSv4 (JLkotlin/jvm/functions/Function1;)Ljava/lang/Void;
+ public final synthetic fun invoke-RNyhSv4 (JLkotlin/jvm/functions/Function1;)V
protected abstract fun obtainCurrentCoroutineScope ()Lkotlinx/coroutines/CoroutineScope;
protected abstract fun obtainCurrentDeferred ()Lkotlinx/coroutines/CompletableDeferred;
- public fun quoteReply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)V
- public fun quoteReply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)V
- public fun quoteReply-sCZ5gAI (JLjava/lang/String;)V
- public fun reply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)V
- public fun reply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)V
- public fun reply-sCZ5gAI (JLjava/lang/String;)V
+ public fun quoteReply-8NSq9Eo (JLjava/lang/String;)V
+ public fun quoteReply-8NSq9Eo (JLkotlin/jvm/functions/Function1;)V
+ public fun quoteReply-8NSq9Eo (JLnet/mamoe/mirai/message/data/Message;)V
+ public final synthetic fun quoteReply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)Ljava/lang/Void;
+ public final synthetic fun quoteReply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)V
+ public final synthetic fun quoteReply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)Ljava/lang/Void;
+ public final synthetic fun quoteReply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)V
+ public final synthetic fun quoteReply-sCZ5gAI (JLjava/lang/String;)Ljava/lang/Void;
+ public final synthetic fun quoteReply-sCZ5gAI (JLjava/lang/String;)V
+ public fun reply-8NSq9Eo (JLjava/lang/String;)V
+ public fun reply-8NSq9Eo (JLkotlin/jvm/functions/Function1;)V
+ public fun reply-8NSq9Eo (JLnet/mamoe/mirai/message/data/Message;)V
+ public final synthetic fun reply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)Ljava/lang/Void;
+ public final synthetic fun reply-AVDwu3U (JLnet/mamoe/mirai/message/data/Message;)V
+ public final synthetic fun reply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)Ljava/lang/Void;
+ public final synthetic fun reply-RNyhSv4 (JLkotlin/jvm/functions/Function1;)V
+ public final synthetic fun reply-sCZ5gAI (JLjava/lang/String;)Ljava/lang/Void;
+ public final synthetic fun reply-sCZ5gAI (JLjava/lang/String;)V
public final fun timeout (JLkotlin/jvm/functions/Function1;)V
- public final fun timeout-ncvN2qU (J)J
+ public final fun timeout-1WcQj8o (J)J
+ public final synthetic fun timeout-ncvN2qU (J)J
public final fun timeoutException (JLkotlin/jvm/functions/Function0;)V
public static synthetic fun timeoutException$default (Lnet/mamoe/mirai/event/MessageSelectBuilderUnit;JLkotlin/jvm/functions/Function0;ILjava/lang/Object;)V
}
diff --git a/build.gradle.kts b/build.gradle.kts
index 37bb51750..7affb12ed 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -199,16 +199,47 @@ fun Project.configureMppShadow() {
}
/*
- this.manifest {
- this.attributes(
- "Manifest-Version" to 1,
- "Implementation-Vendor" to "Mamoe Technologies",
- "Implementation-Title" to this.name.toString(),
- "Implementation-Version" to this.version.toString()
- )
- }*/
+ this.manifest {
+ this.attributes(
+ "Manifest-Version" to 1,
+ "Implementation-Vendor" to "Mamoe Technologies",
+ "Implementation-Title" to this.name.toString(),
+ "Implementation-Version" to this.version.toString()
+ )
+ }*/
}
-
}
-}
+ fun Project.configureEncoding() {
+ tasks.withType(JavaCompile::class.java) {
+ options.encoding = "UTF8"
+ }
+ }
+
+ fun Project.configureKotlinTestSettings() {
+ tasks.withType(Test::class) {
+ useJUnitPlatform()
+ }
+ when {
+ isKotlinJvmProject -> {
+ dependencies {
+ testImplementation(kotlin("test-junit5"))
+
+ testApi("org.junit.jupiter:junit-jupiter-api:5.2.0")
+ testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.2.0")
+ }
+ }
+ isKotlinMpp -> {
+ kotlinSourceSets?.forEach { sourceSet ->
+ if (sourceSet.name.endsWith("test", ignoreCase = true)) {
+ sourceSet.dependencies {
+ api(kotlin("test-junit5"))
+ api("org.junit.jupiter:junit-jupiter-api:5.2.0")
+ runtimeOnly("org.junit.jupiter:junit-jupiter-engine:5.2.0")
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt
index 0e559e75e..237909cae 100644
--- a/buildSrc/src/main/kotlin/Versions.kt
+++ b/buildSrc/src/main/kotlin/Versions.kt
@@ -18,16 +18,16 @@ object Versions {
const val console = project
const val consoleTerminal = project
- const val kotlinCompiler = "1.4.21"
- const val kotlinStdlib = "1.4.21"
+ const val kotlinCompiler = "1.4.30"
+ const val kotlinStdlib = "1.4.30"
const val dokka = "1.4.20"
- const val coroutines = "1.4.1"
- const val atomicFU = "0.14.4"
- const val serialization = "1.0.1"
- const val ktor = "1.5.0"
+ const val coroutines = "1.4.2"
+ const val atomicFU = "0.15.1"
+ const val serialization = "1.1.0-RC"
+ const val ktor = "1.5.1"
- const val binaryValidator = "0.3.0"
+ const val binaryValidator = "0.4.0"
const val io = "0.1.16"
const val coroutinesIo = "0.1.16"
@@ -49,8 +49,8 @@ object Versions {
const val yamlkt = "0.7.5"
const val intellijGradlePlugin = "0.4.16"
- const val kotlinIntellijPlugin = "203-1.4.21-release-IJ5981.133" // keep to newest as kotlinCompiler
- const val intellij = "2020.3" // don't update easily unless you want your disk space -= 500MB
+ const val kotlinIntellijPlugin = "203-1.4.30-release-IJ7148.5" // keep to newest as kotlinCompiler
+ const val intellij = "2020.3.2" // don't update easily unless you want your disk space -= 500MB
}
diff --git a/docs/ConfiguringProjects.md b/docs/ConfiguringProjects.md
index 57c8891fc..7c45c2f74 100644
--- a/docs/ConfiguringProjects.md
+++ b/docs/ConfiguringProjects.md
@@ -11,8 +11,8 @@
| 版本类型 | 版本号 |
|:------:|:------------------------------:|
-| 稳定 | 2.3.2 |
-| 预览 | 2.4-RC |
+| 稳定 | 2.4.0 |
+| 预览 | - |
| 开发 | [![Version]][Bintray Download] |
### 配置项目
@@ -35,12 +35,8 @@ plugins {
kotlin("jvm") version "1.4.21" // 请确保添加 Kotlin,至少使用 1.4.0 版本
}
-repositories {
- jcenter()
-}
-
dependencies {
- api("net.mamoe", "mirai-core", "2.3.2") // 替换为你需要的版本号
+ api("net.mamoe", "mirai-core", "2.4.0")
}
```
@@ -56,15 +52,11 @@ dependencies {
```groovy
plugins {
- id 'org.jetbrains.kotlin.jvm' version '1.4.21' // 请确保添加 Kotlin,至少使用 1.4.0 版本
-}
-
-repositories {
- jcenter()
+ id 'org.jetbrains.kotlin.jvm' version '1.4.21' // 确保添加 Kotlin
}
dependencies {
- api('net.mamoe', 'mirai-core', '2.3.2') // 替换为你需要的版本号
+ api('net.mamoe', 'mirai-core', '2.4.0')
}
```
@@ -77,7 +69,7 @@ dependencies {
mirai 在开发时需要 `net.mamoe:mirai-core-api`, 在运行时需要 `net.mamoe:mirai-core`。可以在开发和编译时只依赖 `mirai-core-api`,会减轻对 IDE 的负担。
```kotlin
dependencies {
- val miraiVersion = "2.3.2" // 替换为你需要的版本号
+ val miraiVersion = "2.4.0"
api("net.mamoe", "mirai-core-api", miraiVersion) // 编译代码使用
runtimeOnly("net.mamoe", "mirai-core", miraiVersion) // 运行时使用
}
@@ -86,33 +78,20 @@ dependencies {
## B. 使用 Maven
-在 `pom.xml` 中:
-
-### 1. 添加 jcenter 仓库
-```xml
-
-
- jcenter
- https://jcenter.bintray.com/
-
-
-```
-
-### 2. 添加 mirai 依赖
+在 `pom.xml` 中添加 mirai 依赖:
```xml
net.mamoe
mirai-core-jvm
- 2.3.2
+ 2.4.0
```
> 注意在 Maven,artifactId 要使用带 `-jvm` 后缀的
-### 3. 添加 Kotlin 依赖
通常 mirai 可以直接使用。但 mirai 使用的 Kotlin 1.4 可能与你的项目使用的其他库依赖的 Kotlin 版本冲突,Maven 有时候无法正确处理这种冲突。此时请手动添加 Kotlin 标准库依赖。
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 1c728b8a2..399cacd3a 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -6,7 +6,7 @@
#
# https://github.com/mamoe/mirai/blob/master/LICENSE
#
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
diff --git a/mirai-console b/mirai-console
index 086604ce6..d25ffb094 160000
--- a/mirai-console
+++ b/mirai-console
@@ -1 +1 @@
-Subproject commit 086604ce67792ae835b3cf34e1b41edf11d0e7d6
+Subproject commit d25ffb094b7c3256bca755553bf0584c8c6567cd
diff --git a/mirai-core-api/src/commonMain/kotlin/contact/NormalMember.kt b/mirai-core-api/src/commonMain/kotlin/contact/NormalMember.kt
index 9eab60588..2fff634a3 100644
--- a/mirai-core-api/src/commonMain/kotlin/contact/NormalMember.kt
+++ b/mirai-core-api/src/commonMain/kotlin/contact/NormalMember.kt
@@ -167,3 +167,10 @@ public suspend inline fun NormalMember.mute(duration: Duration) {
require(duration.inSeconds > 0) { "duration must be greater than 0 second" }
this.mute(duration.inSeconds.toInt())
}
+
+@Suppress("unused")
+@JvmName("mute-fcu0wV4")
+@Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+public suspend inline fun NormalMember.mute00(duration: Duration) {
+ return mute(duration)
+}
diff --git a/mirai-core-api/src/commonMain/kotlin/event/select.kt b/mirai-core-api/src/commonMain/kotlin/event/select.kt
index 3c447ca83..457b2dabd 100644
--- a/mirai-core-api/src/commonMain/kotlin/event/select.kt
+++ b/mirai-core-api/src/commonMain/kotlin/event/select.kt
@@ -387,6 +387,107 @@ public abstract class MessageSelectBuilderUnit @PublishedAp
}
}
+
+ @JvmName("timeout-ncvN2qU")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public fun timeout00(timeoutMillis: Long): MessageSelectionTimeoutChecker {
+ return timeout(timeoutMillis)
+ }
+
+ @Suppress("unused")
+ @JvmName("invoke-RNyhSv4")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public fun MessageSelectionTimeoutChecker.invoke00(block: suspend () -> R) {
+ return invoke(block)
+ }
+
+ @Suppress("unused")
+ @JvmName("invoke-RNyhSv4")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public fun MessageSelectionTimeoutChecker.invoke000(block: suspend () -> R): Void? {
+ invoke(block)
+ return null
+ }
+
+ @JvmName("reply-RNyhSv4")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.reply00(block: suspend () -> Any?) {
+ return reply(block)
+ }
+
+ @JvmName("reply-RNyhSv4")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.reply000(block: suspend () -> Any?): Void? {
+ reply(block)
+ return null
+ }
+
+ @JvmName("reply-sCZ5gAI")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.reply00(message: String) {
+ return reply(message)
+ }
+
+ @JvmName("reply-sCZ5gAI")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.reply000(message: String): Void? {
+ reply(message)
+ return null
+ }
+
+ @JvmName("reply-AVDwu3U")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.reply00(message: Message) {
+ return reply(message)
+ }
+
+ @JvmName("reply-AVDwu3U")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.reply000(message: Message): Void? {
+ reply(message)
+ return null
+ }
+
+
+ @JvmName("quoteReply-RNyhSv4")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.quoteReply00(block: suspend () -> Any?) {
+ return reply(block)
+ }
+
+ @JvmName("quoteReply-RNyhSv4")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.quoteReply000(block: suspend () -> Any?): Void? {
+ reply(block)
+ return null
+ }
+
+ @JvmName("quoteReply-sCZ5gAI")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.quoteReply00(message: String) {
+ return reply(message)
+ }
+
+ @JvmName("quoteReply-sCZ5gAI")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.quoteReply000(message: String): Void? {
+ reply(message)
+ return null
+ }
+
+ @JvmName("quoteReply-AVDwu3U")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.quoteReply00(message: Message) {
+ return reply(message)
+ }
+
+ @JvmName("quoteReply-AVDwu3U")
+ @Deprecated("For binary compatibility", level = DeprecationLevel.HIDDEN)
+ public infix fun MessageSelectionTimeoutChecker.quoteReply000(message: Message): Void? {
+ reply(message)
+ return null
+ }
+
protected abstract fun obtainCurrentCoroutineScope(): CoroutineScope
protected abstract fun obtainCurrentDeferred(): CompletableDeferred?
}
diff --git a/mirai-core/src/commonTest/kotlin/PlatformUtilsTest.kt b/mirai-core/src/commonTest/kotlin/PlatformUtilsTest.kt
index fda4b1163..2723deb08 100644
--- a/mirai-core/src/commonTest/kotlin/PlatformUtilsTest.kt
+++ b/mirai-core/src/commonTest/kotlin/PlatformUtilsTest.kt
@@ -1,12 +1,13 @@
/*
- * Copyright 2019-2020 Mamoe Technologies and contributors.
+ * Copyright 2019-2021 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
-package net.mamoe.mirai.internal.utils
+
+package net.mamoe.mirai.internal
import kotlinx.io.core.toByteArray
import net.mamoe.mirai.utils.*
diff --git a/mirai-core/src/commonTest/kotlin/ScheduledJobTest.kt b/mirai-core/src/commonTest/kotlin/ScheduledJobTest.kt
index d46c84aa3..ce3fb6ad3 100644
--- a/mirai-core/src/commonTest/kotlin/ScheduledJobTest.kt
+++ b/mirai-core/src/commonTest/kotlin/ScheduledJobTest.kt
@@ -6,12 +6,13 @@
*
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
-package net.mamoe.mirai.internal.utils
+package net.mamoe.mirai.internal
import kotlinx.coroutines.CoroutineExceptionHandler
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
+import net.mamoe.mirai.internal.utils.ScheduledJob
import org.junit.jupiter.api.Test
import java.util.concurrent.atomic.AtomicInteger
import kotlin.test.assertEquals
diff --git a/mirai-core/src/commonTest/kotlin/TypeConversionTest.kt b/mirai-core/src/commonTest/kotlin/TypeConversionTest.kt
index c18f027a7..0acd104d1 100644
--- a/mirai-core/src/commonTest/kotlin/TypeConversionTest.kt
+++ b/mirai-core/src/commonTest/kotlin/TypeConversionTest.kt
@@ -1,12 +1,13 @@
/*
- * Copyright 2019-2020 Mamoe Technologies and contributors.
+ * Copyright 2019-2021 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
-package net.mamoe.mirai.internal.utils
+
+package net.mamoe.mirai.internal
import net.mamoe.mirai.utils.hexToBytes
import net.mamoe.mirai.utils.toByteArray