我正在测试Kotlin Quasar演员的例子。 Quasar and Kotlin – a Powerful Match 所以问题是,这个例子是否过时了,是否有任何文件可以让我知道如何使用Kotlin和Quasar?
这是我的gradle.build文件。
group 'no.inmeta.kotlin.akka'
version '1.0-SNAPSHOT'
buildscript {
ext.kotlin_version = '1.0.1'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin'
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "co.paralleluniverse:quasar-kotlin:0.7.4"
testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
}
答案 0 :(得分:2)
我是Quasar团队的一员。
该帖子引用了Quasar测试,您可以通过克隆Quasar repo并运行例如gradle :quasar-kotlin:build
(需要安装Gradle)但是对于新项目/实验我建议从现在使用最新Kotlin 1.0.1-2
的{{3}}开始(为简单起见,最新的Quasar {{1}这取决于它。)
从该模板开始,我构建了Gradle template, kotlin
branch(有关如何配置它并在主README中运行它的更多信息),它运行与正常程序相同的Quasar actor测试,而不是测试。这是0.7.5-SNAPSHOT
:
build.gradle
关于与构建文件的差异的一些注意事项:
group 'no.inmeta.kotlin.akka'
version '1.0-SNAPSHOT'
buildscript {
ext.kotlinVer = '1.0.1-2'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVer"
}
}
apply plugin: 'kotlin'
apply plugin: 'application'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
sourceCompatibility = 1.8 // 1.7
targetCompatibility = 1.8 // 1.7
configurations {
quasar
}
configurations.all {
resolutionStrategy {
failOnVersionConflict()
}
}
repositories {
// mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/releases" }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
// maven { url 'https://maven.java.net/content/repositories/snapshots' }
}
ext.classifier = ':jdk8' // ':'
ext.quasarVer = '0.7.5-SNAPSHOT'
dependencies {
compile "co.paralleluniverse:quasar-core:${quasarVer}${classifier}"
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVer"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlinVer"
compile "co.paralleluniverse:quasar-kotlin:${quasarVer}"
quasar "co.paralleluniverse:quasar-core:${quasarVer}${classifier}@jar"
}
applicationDefaultJvmArgs = [
"-Dco.paralleluniverse.fibers.verifyInstrumentation=true",
"-Dco.paralleluniverse.fibers.detectRunawayFibers=false",
"-javaagent:${configurations.quasar.singleFile}" // =v, =d
]
// mainClassName = 'co.paralleluniverse.kotlin.actors1.PingPongKt'
mainClassName = 'co.paralleluniverse.kotlin.actors2.PingPongWithDeferKt'
task wrapper(type: Wrapper) {
gradleVersion = '2.12'
}
defaultTasks 'run'
插件及其配置(此处为application
和applicationDefaultJvmArgs
)以及设置默认的Gradle任务到mainClassName
。run
,而无需安装本地Gradle(如何在IDE中运行它)取决于IDE)。./gradlew
配置指向工件,然后用于传递quasar
JVM参数另请注意,现在有一个this project(实际上现在是-javaagent:${configurations.quasar.singleFile}
),其中包含1.0
branch of the quasar-kotlin-jetbrains-webinar
project的伴随源代码,移植到最新的Kotlin和Quasar同样。
如果有帮助,请告诉我。