2017-08-08 16 views
13

のGradleを使用してJavaやGroovyのを構築し、それはこのように、ソースのエンコーディングを定義することが可能です:GradleでKotlinソースコードを設定するにはどうすればよいですか?

compileJava { 
    options.encoding = 'UTF-8' 
} 

compileTestJava { 
    options.encoding = 'UTF-8' 
} 

compileGroovy { 
    groovyOptions.encoding = 'UTF-8' 
} 

compileTestGroovy { 
    groovyOptions.encoding = 'UTF-8' 
} 

しかし、Kotlinと同様のアプローチがうまくいかない:

compileKotlin {   
    kotlinOptions.jvmTarget = '1.8' 
    kotlinOptions.encoding = 'UTF-8' 
} 

それはエラーで失敗します。

* What went wrong: 
A problem occurred evaluating root project 'backend'. 
> No such property: encoding for class: org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsImpl 

私は実際には全くKotlinコンパイラのエンコーディングについての情報を見つけることができません。そのような選択肢がないということですか?どのような文字セット、UTF-8、システムデフォルト(私は望んでいない)を使用していますか?

+0

私はそれが文書化されているのを見つけることができませんが、私はそれが常にUTF-8だと確信しています。 – ephemient

+5

'そのようなオプションはないのでしょうか?' - ソースコードを確認した後、私はあなたに言うことができます:いいえ、そのようなオプションはありません。プラグインのDSLを確認することができます[ここ](https://github.com/JetBrains/kotlin/tree/master/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/ gradle/dsl)。特に、 'KotlinJvmOptions *'は利用可能なものとできないものに興味があります。残念ながら、どのデフォルトエンコーディングが使用されているのかはわかりません... – StefMa

+0

「すべてのKotlinソースファイルは、UTF-8文字エンコーディングを使用しています」https://medium.com/@napperley/unofficial-kotlin-style -guide-a44cb899a84f。しかし、それはベストプラクティスのようです。 UTF-8が動作していて他のエンコーディングが動作せず、実際のエンコーディングを指定する方法がない場合は、UTF-8に固執していると思います。 – Xvolks

答えて

5

Kotlinのソースファイルは、常にUTF-8です。他のエンコーディングを指定する方法はありません。

関連する問題