У меня есть следующий модуль "калькулятор", чей файл build.gradle
выглядит так, как показано ниже. Отлично работает
buildscript {
ext {
kotlin_version = "1.2.71"
coroutines_version = "0.30.1"
}
repositories {
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
plugins {
id 'org.jetbrains.kotlin.multiplatform' version "1.2.71"
}
group 'mpp2-calc'
version '1.1'
kotlin {
targets {
fromPreset(presets.jvm, 'jvm') {
compilations.all {
tasks[compileKotlinTaskName].kotlinOptions {
jvmTarget = '1.8'
}
}
}
fromPreset(presets.js, 'js') {
compilations.all {
tasks[compileKotlinTaskName].kotlinOptions {
metaInfo = true
outputFile = "${projectDir}/build/classes/main/${project.name}.js"
sourceMap = true
moduleKind = 'umd'
main = 'call'
}
}
}
}
sourceSets {
commonMain {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-common:$kotlin_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$coroutines_version"
}
}
commonTest {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-test-common:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-test-annotations-common:$kotlin_version"
}
}
jvmMain {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
}
}
jvmTest {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
}
}
jsMain {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:$coroutines_version"
}
}
jsTest {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-test-js:$kotlin_version"
}
}
}
}
repositories {
maven { url = 'https://dl.bintray.com/russhwolf/multiplatform-settings' }
google()
jcenter()
}
Это многоплатформенная библиотека, предназначенная для jvm и платформы js.
У меня есть еще один модуль "someapp", который тоже выглядит как build.gradle
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
maven { url 'http://dl.bintray.com/kotlin/kotlin-eap' }
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: "application"
group 'mpp2'
version '1.1'
mainClassName = "com.asofttz.someapp.indexKt"
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
api project(":calculator") // doesn't seem to show any effect
}
Мои настройки. Gradle выглядит так
rootProject.name = 'mpp2'
include ':calculator'
include ':someapp'
Теперь я хочу добавить целевую платформу jvm модуля калькулятора, используя gralde, для проекта someapp без публикации в maven. Может кто-нибудь помочь мне, как? Кажется, я застрял в этой точке, и я хочу двигаться вперед с этим типом конфигурации
Дополнительный вопрос:
Предположим, я добавил цель Android в свой модуль калькулятора, как мне добавить ее как зависимость от проекта Android?