3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

KotlinのProject Templete作る時の注意点

Posted at

はじめに

タイトル通り、Kotlinでプロジェクトテンプレート作る時の注意点。
プロジェクトテンプレートってなに?って人は↓を参照
http://qiita.com/kgmyshin/items/9c803a21451e603531f0

この記事は、上記のページを読んで最低限のプロジェクトテンプレートの作り方がわかった前提で書いてます

KotlinSrcのパスを追加する

結論から言えば、以下の2ファイルを修正すれば良い

globals.xml.ftl
<?xml version="1.0"?>
<globals>
     ~~省略~~
     <#include "../common/common_globals.xml.ftl" />
+    <global id="srcOutKotlin" value="app/src/main/kotlin/${slashedPackageName(packageName)}" />
</globals>
  • globals.xml.ftlの末尾にsrcOutKotlinの設定を追加。パスはKotlinのリソースパッケージを指定する
recipe.xml.ftl
<?xml version="1.0"?>
<recipe>
-    <instantiate from="root/src/app_package/SampleClass.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${sampleClassName}.java" />
+    <instantiate from="root/src/app_package/SampleClass.kt.ftl"
+                   to="${escapeXmlAttribute(srcOutKotlin)}/${sampleClassName}.kt" />
</recipe>
  • 拡張子をjavaからktへ変更する
  • escapeXmlAttributeの引数をsrcOutからsrcOutKotlinに変更する

もともとsrcOutの指定は../common/common_globals.xml.ftlで行われているが、こいつはapp/src/main/java/~~~を指してしまう。
なので新たにKotlin用のパッケージの場所を指定してあげばOKというからくり。

なお、この修正をしなくても正常に生成はされるが、出力が常にapp/src/main/java/~~以下になってしまい、JavaとKotlinが混在するというカオスな状況が生まれる。避けていきたい

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?