2016-04-19 11 views
1

私はKotlin Quasarアクターの例をテストしています。 Quasar and Kotlin – a Powerful Match この例は古いですが、KotlinとQuasarの使い方を知ることができるドキュメントはありますか?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" 
} 
+2

エラーは何ですか? – miensol

+0

インポートのための未解決の参照を取得します。co.paralleluniverse.kotlin.Actor – Reidar

+0

コンソールからプロジェクトを構築しようとしましたか? IDEでプロジェクトを更新していますか?多分あなたのIDEが不平を言っているだけでしょうか?そのクラスは、参照されるJARの1つの中にあり、利用可能でなければなりません。 – madhead

答えて

2

私はQuasarチームのメンバーです。

ポストには、Quasarレポを複製して実行することで実行できるQuasarテストが挙げられます。 gradle :quasar-kotlin:build(Gradleがインストールされている必要がありますが)新しいプロジェクト/実験では、最新のKotlin 1.0.1-2を使用しているGradle template, kotlin branchから開始することをお勧めします(簡略化のため、最新のQuasar 0.7.5-SNAPSHOT)。

そのテンプレートから、テストではなく通常のプログラムと同じQuasarアクターテストを実行するthis project(それを設定してメインのREADMEで実行する方法についての詳細)を作成しました。ビルドファイルとの違いについてのいくつかの注意

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' 

:ここではそのbuild.gradle

  • 私はプログラムにテストを変換しているので、私はapplicationDefaultJvmArgs、ここ(applicationプラグインとその設定を含むだがやmainClassName)、デフォルトのGradleタスクをrunに設定します。
  • 上記に加えて、グラデルラッパーが生成されており、./gradlewがコマンドラインで必要なだけであるため、ローカルのGradleインストールは必要ありません(IDEで実行する方法はIDEによって異なります)。
  • quasarコンフィグレーションが、-javaagent:${configurations.quasar.singleFile} JVM引数を渡すために使用される成果物を指し示すように、Quasarエージェント(またはAoT計測器をここではエージェントを使用します)を実行する必要があります。
  • Java 8をQuasarとして使用すると、最適化されたビルドが作成されます。

も今があることに注意してください1.0 branch of the quasar-kotlin-jetbrains-webinar projectだけでなく、最新のKotlinとクエーサーに移植this guest webinar with IntelliJのコンパニオンソースコードが含まれています(今あるHEAD 1実際には)、、。

これが役立つかどうか教えてください。

+0

偉大な答え、これは多くの助けになります! – Reidar

関連する問題