Maven公式
https://maven.apache.org/
Gradle公式
https://gradle.org/
Gradle日本語版ユーザガイド
http://gradle.monochromeroad.com/docs/userguide/userguide.html
ビルドツールの役割
ビルドツールというぐらいですから、基本的には「ビルド」するためのツールです。
しかし、単に「ビルド」するだけでなく、MavenやGradleはもっと多くの機能が備わっています。
プログラムをビルドする
基本はビルドですが、MavenやGradleは単にプログラムをコンパイルするというものではありません。
プログラムをコンパイルし、指定のディレクトリに必要なソースファイルを配置し、プログラムを完成させます。
ライブラリなど必要なファイルがあるならばそれらをダウンロードするかどうかを指定することもできます。
よって、コンパイルによって生成されたファイルをそのままコピーすれば動く、と言った状態にすることができるのです。
プログラムのテストと実行
ビルドされたプログラムの実行はもちろんできますが、テストの実行もビルドツールの多くで用意されています。
また、ビルドの時、テストを自動で実行するというような機能もあります。
ライブラリの管理
ビルドツールを利用する人のほとんどの人は、ライブラリの管理のために使用していると言っても良いのではないでしょうか。
プログラムが必要としているライブラリを手動で管理することは現在では不可能でしょう。
できないことはないですが、一度ダウンロードしてインストール、しかもバージョンが変わった時は互換性を保つためにダウンロードし直さなければいけません。
手作業ですから、誤ったバージョン、見逃し等があり思わぬバグの原因となったりします。
ビルドツールを使えば、1つ1つを自分で管理することなく、自動的にそれらをダウンロードし使用することができます。
筆者考え
ビルドツールはあくまでもツール。それぞれ特徴があり、得意分野があり、自分との相性もあります。
ビルドツールの使い方を学ぶのではなく、
ライブラリを自動で管理したいからMavenを使うとか、
ある特定の目的の達成のためにこういった機能が欲しいからこれを使う。
逆引き辞典のような使い方おすすめです。
コメント