From 15527b56d83bc22085f9ce50137b4a552ffba3a1 Mon Sep 17 00:00:00 2001 From: Him188 Date: Wed, 22 Apr 2020 13:54:50 +0800 Subject: [PATCH] Add compatibility tests --- compatibility-validator/build.gradle.kts | 6 +-- java-compatibility-validator/build.gradle.kts | 47 +++++++++++++++++++ .../main/java/test/MPPCompatibilityTest.java | 20 ++++++++ settings.gradle | 1 + 4 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 java-compatibility-validator/build.gradle.kts create mode 100644 java-compatibility-validator/src/main/java/test/MPPCompatibilityTest.java diff --git a/compatibility-validator/build.gradle.kts b/compatibility-validator/build.gradle.kts index e577836da..f3d6eeb88 100644 --- a/compatibility-validator/build.gradle.kts +++ b/compatibility-validator/build.gradle.kts @@ -23,8 +23,7 @@ kotlin { dependencies { api(kotlin("stdlib")) runtimeOnly(project(":mirai-core-qqandroid")) - compileOnly("net.mamoe:mirai-core-qqandroid-jvm:0.33.0") - api(kotlinx("coroutines-core", Versions.Kotlin.coroutines)) + compileOnly("net.mamoe:mirai-core-qqandroid:0.38.0") } } @@ -34,8 +33,7 @@ kotlin { api(kotlin("test")) api(kotlin("test-junit")) runtimeOnly(project(":mirai-core-qqandroid")) - compileOnly("net.mamoe:mirai-core-qqandroid-jvm:0.33.0") - api(kotlinx("coroutines-core", Versions.Kotlin.coroutines)) + compileOnly("net.mamoe:mirai-core-qqandroid:0.38.0") } } } diff --git a/java-compatibility-validator/build.gradle.kts b/java-compatibility-validator/build.gradle.kts new file mode 100644 index 000000000..f45117e3f --- /dev/null +++ b/java-compatibility-validator/build.gradle.kts @@ -0,0 +1,47 @@ +@file:Suppress("UNUSED_VARIABLE") + +plugins { + kotlin("jvm") + java +} + +description = "Java compatibility validator for mirai-core and mirai-core-qqandroid" + +repositories { + mavenCentral() + jcenter() +} + +kotlin { + sourceSets { + all { + languageSettings.enableLanguageFeature("InlineClasses") + languageSettings.useExperimentalAnnotation("kotlin.Experimental") + } + + main { + dependencies { + api(kotlin("stdlib")) + api(project(":mirai-core-qqandroid")) + } + } + + test { + dependencies { + api(kotlin("stdlib")) + api(kotlin("test")) + api(kotlin("test-junit")) + api(project(":mirai-core-qqandroid")) + } + } + } +} + +tasks.withType { + kotlinOptions.jvmTarget = "1.8" +} + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} \ No newline at end of file diff --git a/java-compatibility-validator/src/main/java/test/MPPCompatibilityTest.java b/java-compatibility-validator/src/main/java/test/MPPCompatibilityTest.java new file mode 100644 index 000000000..57d3a9c78 --- /dev/null +++ b/java-compatibility-validator/src/main/java/test/MPPCompatibilityTest.java @@ -0,0 +1,20 @@ +package test; + +import net.mamoe.mirai.Bot; +import net.mamoe.mirai.contact.Contact; +import net.mamoe.mirai.contact.QQ; + +/* + * Copyright 2020 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 + */ +public class MPPCompatibilityTest { + public static void main(String[] args) { + final QQ next = Bot.getInstances().get(0).getFriends().iterator().next(); + ((Contact) next).sendMessage(""); + } +} diff --git a/settings.gradle b/settings.gradle index 57b509eed..82919e348 100644 --- a/settings.gradle +++ b/settings.gradle @@ -24,6 +24,7 @@ rootProject.name = 'mirai' include(':mirai-core') include(':mirai-core-qqandroid') //include(':compatibility-validator') // THIS WILL CAUSE A DEPENDENCY RESOLUTION BUG +//include(':java-compatibility-validator') // include(':mirai-api-http') enableFeaturePreview('GRADLE_METADATA') \ No newline at end of file