使用其他 Kotlin 项目的依赖项构建 Kotlin2JS 项目似乎需要以任何方式复制源代码。一种方法是将 Kotlin 项目源目录添加到 Kotlin2JS 项目源集目录中。
这可以通过范围内的以下行来完成project:
sourceSets {
main.kotlin.srcDirs += project(':shared').sourceSets.main.kotlin.srcDirs
}
Run Code Online (Sandbox Code Playgroud)
请看整个项目结构:
root/
shared/
src/main/kotlin
build.gradle
client/
src/main/kotlin
server/
src/main/kotlin
build.gradle
settings.gradle
Run Code Online (Sandbox Code Playgroud)
在settings.gradle:
include 'shared', 'server', 'client'
Run Code Online (Sandbox Code Playgroud)
并在build.gradle:
group 'com.example.multiproject'
version '1.0-SNAPSHOT'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.0-beta-4589"
}
}
subprojects {
repositories {
mavenCentral()
}
}
project(':client') {
evaluationDependsOn(':shared')
apply plugin: 'kotlin2js'
compileKotlin2Js.kotlinOptions.sourceMap = true
compileKotlin2Js.kotlinOptions.outputFile = "${projectDir}/web/js/app.js"
compileKotlin2Js.kotlinOptions.suppressWarnings = true
compileKotlin2Js.kotlinOptions.verbose = true
sourceSets {
main.kotlin.srcDirs += project(':shared').sourceSets.main.kotlin.srcDirs
}
dependencies {
compile 'org.jetbrains.kotlin:kotlin-js-library:1.0.0-beta-4589'
}
}
project(':server') {
apply plugin: 'kotlin'
dependencies {
compile 'org.jetbrains.kotlin:kotlin-stdlib:1.0.0-beta-4589'
compile project(':shared')
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,shared项目应包含其自己的build.gradle.
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |