Kotlin Quasar 示例不起作用
Kotlin Quasar example not working
我正在测试 Kotlin Quasar actor 示例。
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"
}
我是 Quasar 团队的一员。
post 引用了 Quasar 测试,您可以通过克隆 Quasar 存储库和 运行 来 运行,例如gradle :quasar-kotlin:build
(需要安装 Gradle)但对于新的 projects/experiments,我建议从 Gradle template, kotlin
branch 开始,它现在使用最新的 Kotlin 1.0.1-2
(为了简单起见,最新的 Quasar 0.7.5-SNAPSHOT
取决于它)。
从我构建的那个模板开始 this project(更多关于如何配置它的信息和 运行 它在主 README 中) 运行 与正常的 Quasar actor 测试相同程序而不是测试。这是它的 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
和 mainClassName
)以及设置默认值 Gradle 任务到 run
.
- 除上述之外,还生成并推送了一个 gradle 包装器,这样
./gradlew
就是您在命令行上所需要的,无需本地 Gradle 安装(如何运行它在一个IDE取决于IDE)。
- 您需要 运行 Quasar 代理(或 AoT 工具,但在此处使用代理),因此有一个
quasar
配置指向随后用于传递 -javaagent:${configurations.quasar.singleFile}
JVM 参数。
- 使用 Java 8,因为 Quasar 有专门的优化版本。
另请注意,现在有一个 1.0
branch of the quasar-kotlin-jetbrains-webinar
project (which is now the HEAD
one in fact), which contains the companion source code of this guest webinar with IntelliJ,也移植到最新的 Kotlin 和 Quasar。
如果有帮助请告诉我。
我正在测试 Kotlin Quasar actor 示例。 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"
}
我是 Quasar 团队的一员。
post 引用了 Quasar 测试,您可以通过克隆 Quasar 存储库和 运行 来 运行,例如gradle :quasar-kotlin:build
(需要安装 Gradle)但对于新的 projects/experiments,我建议从 Gradle template, kotlin
branch 开始,它现在使用最新的 Kotlin 1.0.1-2
(为了简单起见,最新的 Quasar 0.7.5-SNAPSHOT
取决于它)。
从我构建的那个模板开始 this project(更多关于如何配置它的信息和 运行 它在主 README 中) 运行 与正常的 Quasar actor 测试相同程序而不是测试。这是它的 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
和mainClassName
)以及设置默认值 Gradle 任务到run
. - 除上述之外,还生成并推送了一个 gradle 包装器,这样
./gradlew
就是您在命令行上所需要的,无需本地 Gradle 安装(如何运行它在一个IDE取决于IDE)。 - 您需要 运行 Quasar 代理(或 AoT 工具,但在此处使用代理),因此有一个
quasar
配置指向随后用于传递-javaagent:${configurations.quasar.singleFile}
JVM 参数。 - 使用 Java 8,因为 Quasar 有专门的优化版本。
另请注意,现在有一个 1.0
branch of the quasar-kotlin-jetbrains-webinar
project (which is now the HEAD
one in fact), which contains the companion source code of this guest webinar with IntelliJ,也移植到最新的 Kotlin 和 Quasar。
如果有帮助请告诉我。