mirai/buildSrc/src/main/kotlin/Versions.kt

154 lines
6.6 KiB
Kotlin
Raw Normal View History

2020-11-01 15:07:32 +08:00
/*
2022-01-15 02:57:02 +08:00
* Copyright 2019-2022 Mamoe Technologies and contributors.
2020-11-01 15:07:32 +08:00
*
2022-01-15 02:57:02 +08:00
* 此源代码的使用受 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.
2020-11-01 15:07:32 +08:00
*
2022-01-15 02:57:02 +08:00
* https://github.com/mamoe/mirai/blob/dev/LICENSE
2020-11-01 15:07:32 +08:00
*/
2021-01-28 11:59:15 +08:00
@file:Suppress("ObjectPropertyName", "ObjectPropertyName", "unused", "MemberVisibilityCanBePrivate")
import org.gradle.api.attributes.Attribute
2021-10-31 05:48:37 +08:00
import org.gradle.kotlin.dsl.exclude
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
2020-03-24 10:01:03 +08:00
object Versions {
val project = System.getenv("mirai.build.project.version")
2022-02-16 15:46:16 +08:00
?: /*PROJECT_VERSION_START*/"2.11.0"/*PROJECT_VERSION_END*/
2021-01-28 11:59:15 +08:00
val core = project
val console = project
val consoleIntellij = "213-$project-160-1" // idea-mirai-kotlin-patch
val consoleTerminal = project
2020-10-03 13:35:05 +08:00
const val kotlinCompiler = "1.6.0"
const val kotlinStdlib = kotlinCompiler
const val dokka = "1.6.0"
2021-01-12 18:57:42 +08:00
const val kotlinCompilerForIdeaPlugin = "1.6.20-M1"
const val coroutines = "1.6.0"
const val atomicFU = "0.17.0"
const val serialization = "1.2.2"
const val ktor = "1.6.5"
2020-10-03 13:35:05 +08:00
const val binaryValidator = "0.4.0"
2020-10-03 13:35:05 +08:00
const val io = "0.1.16"
const val coroutinesIo = "0.1.16"
2021-12-23 07:02:07 +08:00
const val blockingBridge = "2.0.0-160.3"
const val dynamicDelegation = "0.2.0-160.1"
2020-10-03 13:35:05 +08:00
2021-02-01 12:23:04 +08:00
const val androidGradlePlugin = "4.1.1"
const val android = "4.1.1.4"
2020-10-03 13:35:05 +08:00
2021-01-21 10:08:21 +08:00
const val shadow = "6.1.0"
2020-10-03 13:35:05 +08:00
const val logback = "1.2.5"
const val slf4j = "1.7.32"
const val log4j = "2.15.0"
2021-02-25 00:12:58 +08:00
const val asm = "9.1"
const val difflib = "1.3.0"
2021-04-13 00:23:27 +08:00
const val netty = "4.1.63.Final"
const val bouncycastle = "1.64"
2021-05-20 19:45:33 +08:00
const val junit = "5.7.2"
// If you the versions below, you need to sync changes to mirai-console/buildSrc/src/main/kotlin/Versions.kt
2021-08-25 15:31:50 +08:00
const val yamlkt = "0.10.2"
const val intellijGradlePlugin = "1.3.0"
// const val kotlinIntellijPlugin = "211-1.5.20-release-284-IJ7442.40" // keep to newest as kotlinCompiler
const val intellij = "2021.3.2" // don't update easily unless you want your disk space -= 500MB
2020-03-24 10:01:03 +08:00
}
@Suppress("unused")
fun kotlinx(id: String, version: String) = "org.jetbrains.kotlinx:kotlinx-$id:$version"
2020-03-24 10:01:03 +08:00
@Suppress("unused")
2020-10-03 13:35:05 +08:00
fun ktor(id: String, version: String = Versions.ktor) = "io.ktor:ktor-$id:$version"
// Why using `-jvm`?
// All target platforms are JVM. Root modules like 'coroutines-core' will be resolved to 'coroutines-common' for commonMain,
// which make IDE code analysis not working.
val `kotlinx-coroutines-core-jvm` = kotlinx("coroutines-core-jvm", Versions.coroutines)
val `kotlinx-coroutines-jdk8` = kotlinx("coroutines-jdk8", Versions.coroutines)
val `kotlinx-coroutines-swing` = kotlinx("coroutines-swing", Versions.coroutines)
val `kotlinx-coroutines-debug` = kotlinx("coroutines-debug", Versions.coroutines)
val `kotlinx-serialization-core-jvm` = kotlinx("serialization-core-jvm", Versions.serialization)
val `kotlinx-serialization-json-jvm` = kotlinx("serialization-json-jvm", Versions.serialization)
val `kotlinx-serialization-protobuf-jvm` = kotlinx("serialization-protobuf-jvm", Versions.serialization)
const val `kotlinx-atomicfu-jvm` = "org.jetbrains.kotlinx:atomicfu-jvm:${Versions.atomicFU}"
2020-10-03 13:35:05 +08:00
val `kotlinx-io-jvm` = kotlinx("io-jvm", Versions.io)
fun KotlinDependencyHandler.implementationKotlinxIoJvm() {
implementation(`kotlinx-io-jvm`) {
/*
| +--- org.jetbrains.kotlinx:kotlinx-io-jvm:0.1.16
| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.60 -> 1.5.30 (*)
| | +--- org.jetbrains.kotlinx:atomicfu:0.14.1
| | +--- org.jetbrains.kotlinx:atomicfu-common:0.14.1
| | \--- org.jetbrains.kotlinx:kotlinx-io:0.1.16
| | \--- org.jetbrains.kotlinx:atomicfu-common:0.14.1
*/
exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core-common")
exclude("org.jetbrains.kotlinx", "atomicfu")
exclude("org.jetbrains.kotlinx", "atomicfu-common")
}
}
2020-10-03 13:35:05 +08:00
val `kotlinx-coroutines-io-jvm` = kotlinx("coroutines-io-jvm", Versions.coroutinesIo)
val `ktor-serialization` = ktor("serialization", Versions.ktor)
val `ktor-client-core-jvm` = ktor("client-core-jvm", Versions.ktor)
val `ktor-client-cio-jvm` = ktor("client-cio-jvm", Versions.ktor)
2020-12-28 15:04:19 +08:00
val `ktor-client-okhttp` = ktor("client-okhttp", Versions.ktor)
2020-10-03 13:35:05 +08:00
val `ktor-client-android` = ktor("client-android", Versions.ktor)
val `ktor-client-logging-jvm` = ktor("client-logging-jvm", Versions.ktor)
val `ktor-network-jvm` = ktor("network-jvm", Versions.ktor)
2020-10-03 13:35:05 +08:00
val `ktor-client-serialization-jvm` = ktor("client-serialization-jvm", Versions.ktor)
const val `logback-classic` = "ch.qos.logback:logback-classic:" + Versions.logback
const val `slf4j-api` = "org.slf4j:slf4j-api:" + Versions.slf4j
2021-04-17 16:13:16 +08:00
const val `slf4j-simple` = "org.slf4j:slf4j-simple:" + Versions.slf4j
const val `log4j-api` = "org.apache.logging.log4j:log4j-api:" + Versions.log4j
const val `log4j-core` = "org.apache.logging.log4j:log4j-core:" + Versions.log4j
const val `log4j-slf4j-impl` = "org.apache.logging.log4j:log4j-slf4j-impl:" + Versions.log4j
const val `log4j-to-slf4j` = "org.apache.logging.log4j:log4j-to-slf4j:" + Versions.log4j
val ATTRIBUTE_MIRAI_TARGET_PLATFORM: Attribute<String> = Attribute.of("mirai.target.platform", String::class.java)
const val `kotlin-compiler` = "org.jetbrains.kotlin:kotlin-compiler:${Versions.kotlinCompiler}"
const val `kotlin-compiler_forIdea` = "org.jetbrains.kotlin:kotlin-compiler:${Versions.kotlinCompilerForIdeaPlugin}"
const val `kotlin-stdlib-jdk8` = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Versions.kotlinStdlib}"
const val `kotlin-reflect` = "org.jetbrains.kotlin:kotlin-reflect:${Versions.kotlinStdlib}"
const val `kotlin-test` = "org.jetbrains.kotlin:kotlin-test:${Versions.kotlinStdlib}"
const val `kotlin-test-junit5` = "org.jetbrains.kotlin:kotlin-test-junit5:${Versions.kotlinStdlib}"
2021-12-06 20:34:00 +08:00
//const val `mirai-core-api` = "net.mamoe:mirai-core-api:${Versions.core}"
//const val `mirai-core` = "net.mamoe:mirai-core:${Versions.core}"
//const val `mirai-core-utils` = "net.mamoe:mirai-core-utils:${Versions.core}"
const val `yamlkt-jvm` = "net.mamoe.yamlkt:yamlkt:${Versions.yamlkt}"
const val `jetbrains-annotations` = "org.jetbrains:annotations:19.0.0"
2021-02-15 10:42:37 +08:00
const val `caller-finder` = "io.github.karlatemp:caller:1.1.1"
2021-02-01 12:23:04 +08:00
2021-04-13 00:23:27 +08:00
const val `android-runtime` = "com.google.android:android:${Versions.android}"
const val `netty-all` = "io.netty:netty-all:${Versions.netty}"
const val `bouncycastle` = "org.bouncycastle:bcprov-jdk15on:${Versions.bouncycastle}"