| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /*
- * Copyright 2019-2022 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/dev/LICENSE
- */
- package net.mamoe.mirai.deps.test
- import org.junit.jupiter.api.Test
- import org.junit.jupiter.api.condition.EnabledIf
- class CoreDependencyResolutionTest : AbstractTest() {
- private val testCode = """
- package test
- @Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE", "EXPERIMENTAL_API_USAGE")
- fun main () {
- println(net.mamoe.mirai.BotFactory)
- println(net.mamoe.mirai.Mirai)
- println(net.mamoe.mirai.internal.testHttpClient())
- }
- """.trimIndent()
- @Test
- @EnabledIf("isMiraiLocalAvailable", disabledReason = REASON_LOCAL_ARTIFACT_NOT_AVAILABLE)
- fun `test resolve JVM root from Kotlin JVM`() {
- mainSrcDir.resolve("main.kt").writeText(testCode)
- buildFile.writeText(
- """
- plugins {
- id("org.jetbrains.kotlin.jvm") version "$kotlinVersion"
- }
- repositories {
- mavenCentral()
- mavenLocal()
- }
- dependencies {
- implementation("net.mamoe:mirai-core:$miraiLocalVersion")
- }
- kotlin.sourceSets.all {
- languageSettings.optIn("net.mamoe.mirai.utils.TestOnly")
- }
- """.trimIndent()
- )
- runGradle("build")
- }
- @Test
- @EnabledIf("isMiraiLocalAvailable", disabledReason = REASON_LOCAL_ARTIFACT_NOT_AVAILABLE)
- fun `test resolve JVM from Kotlin JVM`() {
- mainSrcDir.resolve("main.kt").writeText(testCode)
- buildFile.writeText(
- """
- plugins {
- id("org.jetbrains.kotlin.jvm") version "$kotlinVersion"
- }
- repositories {
- mavenCentral()
- mavenLocal()
- }
- dependencies {
- implementation("net.mamoe:mirai-core-jvm:$miraiLocalVersion")
- }
- kotlin.sourceSets.all {
- languageSettings.optIn("net.mamoe.mirai.utils.TestOnly")
- }
- """.trimIndent()
- )
- runGradle("build")
- }
- @Test
- @EnabledIf("isMiraiLocalAvailable", disabledReason = REASON_LOCAL_ARTIFACT_NOT_AVAILABLE)
- fun `test resolve JVM and Native from common`() {
- commonMainSrcDir.resolve("main.kt").writeText(testCode)
- buildFile.writeText(
- """
- |import org.apache.tools.ant.taskdefs.condition.Os
- |import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
- |
- |plugins {
- | id("org.jetbrains.kotlin.multiplatform") version "$kotlinVersion"
- |}
- |repositories {
- | mavenCentral()
- | mavenLocal()
- |}
- |kotlin {
- | targets {
- | jvm()
- | val nativeMainSets = mutableListOf<KotlinSourceSet>()
- | val nativeTestSets = mutableListOf<KotlinSourceSet>()
- | when {
- | Os.isFamily(Os.FAMILY_MAC) -> if (Os.isArch("aarch64")) macosArm64("native") else macosX64("native")
- | Os.isFamily(Os.FAMILY_WINDOWS) -> mingwX64("native")
- | else -> linuxX64("native")
- | }
- | }
- | sourceSets {
- | val commonMain by getting {
- | dependencies {
- | api("net.mamoe:mirai-core:$miraiLocalVersion")
- | }
- | }
- | }
- |}
- |kotlin.sourceSets.all {
- | languageSettings.optIn("net.mamoe.mirai.utils.TestOnly")
- |}
- """.trimMargin()
- )
- runGradle("build")
- }
- @Test
- @EnabledIf("isMiraiLocalAvailable", disabledReason = REASON_LOCAL_ARTIFACT_NOT_AVAILABLE)
- fun `test resolve Native from common`() {
- nativeMainSrcDir.resolve("main.kt").writeText(testCode)
- buildFile.writeText(
- """
- |import org.apache.tools.ant.taskdefs.condition.Os
- |import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
- |
- |plugins {
- | id("org.jetbrains.kotlin.multiplatform") version "$kotlinVersion"
- |}
- |repositories {
- | mavenCentral()
- | mavenLocal()
- |}
- |kotlin {
- | targets {
- | jvm()
- | val nativeMainSets = mutableListOf<KotlinSourceSet>()
- | val nativeTestSets = mutableListOf<KotlinSourceSet>()
- | when {
- | Os.isFamily(Os.FAMILY_MAC) -> if (Os.isArch("aarch64")) macosArm64("native") else macosX64("native")
- | Os.isFamily(Os.FAMILY_WINDOWS) -> mingwX64("native")
- | else -> linuxX64("native")
- | }
- | }
- | sourceSets {
- | val nativeMain by getting {
- | dependencies {
- | api("net.mamoe:mirai-core:$miraiLocalVersion")
- | }
- | }
- | }
- |}
- |kotlin.sourceSets.all {
- | languageSettings.optIn("net.mamoe.mirai.utils.TestOnly")
- |}
- """.trimMargin()
- )
- runGradle("build")
- }
- }
|