この記事は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ファイルで問題なさそう
- 実装中のコードは以下のリポジトリにまとめてある