buildscript { repositories { mavenLocal() jcenter() mavenCentral() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" } } plugins { id "org.jetbrains.kotlin.multiplatform" id "org.jetbrains.kotlin.plugin.serialization" id "org.jetbrains.kotlin.kapt" } project.version = "$library_version" project.group = "$library_group" apply from: "publish.gradle" repositories { mavenLocal() jcenter() mavenCentral() maven { url "https://kotlin.bintray.com/kotlinx" } } kotlin { jvm() js(IR) { browser() nodejs() } sourceSets { commonMain { dependencies { implementation kotlin('stdlib') api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" api "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlin_serialisation_runtime_version" api "org.jetbrains.kotlinx:kotlinx-serialization-properties:$kotlin_serialisation_runtime_version" api "com.soywiz.korlibs.klock:klock:$klock_version" api "com.benasher44:uuid:$uuid_version" api "dev.inmo:micro_utils.crypto:$micro_utils_version" api "dev.inmo:micro_utils.coroutines:$micro_utils_version" api "dev.inmo:micro_utils.serialization.base64:$micro_utils_version" api "dev.inmo:micro_utils.serialization.encapsulator:$micro_utils_version" api "dev.inmo:micro_utils.serialization.typed_serializer:$micro_utils_version" api "io.ktor:ktor-client-core:$ktor_version" api "com.github.matfax.klassindex:library:4.+" } } commonTest { dependencies { implementation kotlin('test-common') implementation kotlin('test-annotations-common') implementation project(":tgbotapi.extensions.utils") } } jvmMain { dependencies { api "io.ktor:ktor-server:$ktor_version" api "io.ktor:ktor-server-host-common:$ktor_version" api "io.ktor:ktor-client-cio:$ktor_version" api "javax.activation:activation:$javax_activation_version" } } jvmTest { dependencies { implementation kotlin('test-junit') } } jsTest { dependencies { implementation kotlin('test-junit') implementation kotlin('test-js') } } } targets.all { compilations.all { kotlinOptions { freeCompilerArgs += ["-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi", "-Xopt-in=kotlin.RequiresOptIn"] } } } } dependencies { kapt "com.github.matfax.klassindex:processor:4.+" } kapt { useBuildCache = false arguments { arg( "com.github.matfax.klassindex.IndexSubclasses", // "dev.inmo.tgbotapi.types.update.abstracts.Update", // "dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent", // "dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValue", // "dev.inmo.tgbotapi.types.message.content.abstracts.ResendableContent", "dev.inmo.tgbotapi.types.message.abstracts.Message", // "dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.EncryptedPassportElement", // "dev.inmo.tgbotapi.types.passport.PassportElementError", // "dev.inmo.tgbotapi.types.CallbackQuery.CallbackQuery", // "dev.inmo.tgbotapi.types.buttons.KeyboardMarkup", // "dev.inmo.tgbotapi.types.actions.BotAction", // "dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton", // "dev.inmo.tgbotapi.types.ChatMember.abstracts.ChatMember", // "dev.inmo.tgbotapi.types.files.abstracts.TelegramMediaFile", // "dev.inmo.tgbotapi.types.InlineQueries.abstracts.InlineQuery", // "dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.InlineQueryResult", // "dev.inmo.tgbotapi.types.InlineQueries.abstracts.InputMessageContent", // "dev.inmo.tgbotapi.types.InputMedia.InputMedia", // "dev.inmo.tgbotapi.types.polls.Poll", // "dev.inmo.tgbotapi.types.update.abstracts.Update" ) } }