この記事はkdnaktの1人 Advent Calendar 2020の4日目の記事です。
2020年は会社でKotlin dojoを主催して週1回30分Kotlinと戯れていました。12月はその集大成ということで、KotlinでHTTPサーバーを作ってみたいと思います。どこまでできるか、お楽しみ……。
[環境依存情報などをignoreする]
3日目はHello worldのためのシンプルなKotlin/Nativeの設定ファイルやソースコードを実装し、ネイティブバイナリをビルドして、Hello worldを実行しました。
しかし、このままでは「.gradle」や「build」といった環境依存情報やバイナリを含むディレクトリがgitリポジトリに追加されてしまいます。これを避けるには.gitignore
ファイルを作成する必要があります。
Gradleを本格的に利用するのは今回がはじめてのため、どのディレクトリ、ファイルをignoreすれば良いのかやや不安がありました。
こんなときに利用可能な.gitignoreのベストプラクティス集であるgithub/gitignoreの存在は知っていたのですが、.gitignore
ファイルを作成するより良い方法はないかと検索していたところ、以下の記事を発見しました。
Javaプロジェクトの.gitignore
ファイルを作成する場合のコマンドとして、以下が紹介されています。
$ curl -sS https://raw.githubusercontent.com/github/gitignore/master/{\ Java.gitignore,\ Gradle.gitignore,\ Global\/JetBrains.gitignore,\ Global\/Eclipse.gitignore,\ Global\/NetBeans.gitignore,\ Global\/macOS.gitignore,\ Global\/Linux.gitignore,\ Global\/Windows.gitignore\ } >> .gitignore
今回はKotlinプロジェクトなので、Java.gitignore
となっていたところをKotlin.gitignore
に修正して、以下のようにコマンドを実行してみました。
$ curl -sS https://raw.githubusercontent.com/github/gitignore/master/{\ Kotlin.gitignore,\ Gradle.gitignore,\ Global\/JetBrains.gitignore,\ Global\/Eclipse.gitignore,\ Global\/NetBeans.gitignore,\ Global\/macOS.gitignore,\ Global\/Linux.gitignore,\ Global\/Windows.gitignore\ } >> .gitignore
しかし、作成された.gitignore
ファイルを見ると次のようになっており、.gradle
ディレクトリが正しくignoreされませんでした。
Java.gitignore.gradle **/build/ (省略)
github/gitignoreリポジトリを確認すると、Kotlin.gitignore
は確かに存在するものの、Java.gitignore
へのシンボリックリンクとなっていたため、意図しない.gitignore
ファイルの内容となったようです。
最終的にはJavaプロジェクト用と同じコマンドを実行して、.gradle
ディレクトリが正しくignoreされる.gitignore
ファイルを手に入れることができました。
[まとめ]
- github/gitignoreから複数の.gitignoreファイルをまとめて、Kotlinプロジェクト用の.gitignoreファイルを手に入れた
- 基本的にはJavaプロジェクトと同じ.gitignoreファイルで問題なさそう
- 実装中のコードは以下のリポジトリにまとめてある