コマンドラインから sbt プロジェクトをスキャンする
このページでは、コマンドラインから sbt プロジェクトをスキャンする方法について説明いたします。
sbt プロジェクト をスキャンする場合、事前に yamory/sbt-dependency-graph プラグインをインストールする必要があります。
sbt-dependency-graph プラグインをインストールする
sbt プラグインのインストール方法は大きく分けて 2 通りあります。1 つは対象の sbt プロジェクトの project
ディレクトリにプラグインを格納する方法、もう 1 つは ~/.sbt
配下にプラグインを格納する方法です。
詳細は sbt のドキュメントをご参照ください。
General Best Practices
以下はプロジェクトディレクトリ内の project
ディレクトリにプラグインインストールする場合の手順です。
- まず
<対象プロジェクトのルートディレクトリ>/project/plugins.sbt
ファイルが存在しなければ作成してください。 - 次に 1 で作成したファイルに以下の内容を追記してください。
addSbtPlugin("io.yamory" % "sbt-dependency-graph" % "0.10.0-RC1-yamory-0.1.0")
プラグインがサポートしている sbt バージョン
yamory/sbt-dependency-graph
プラグインがサポートしている sbt のバージョンは 0.13.10
以上、もしくは 1.0.0 - 1.2.8
です。1.3.x
は現在サポートされておりません。
既に jrudolph/sbt-dependency-graph
を利用している場合
jrudolph/sbt-dependency-graph
をお使いの場合、 yamory/sbt-dependency-graph
に置き換えてください。
jrudolph/sbt-dependency-graph
と yamory/sbt-dependency-graph
の違いは、前者がターミナルのサイズに応じて依存関係ツリーを省略するのに対し、後者は CI/CD 環境での利用を想定して依存関係ツリーを省略しないようにしていることです。
sbt プロジェクトをスキャンする
sbt プロジェクトのコマンドスキャンでは前述の yamory/sbt-dependency-graph
プラグインの dependencyTree
タスクによって依存関係を抽出した出力テキストをスキャンします。
スキャンを行うには、コマンドライン上でスキャン対象の sbt プロジェクトのルートディレクトリに移動し、以下を実行してください。
sbt -J-Dsbt.log.noformat=true "project <sbt のプロジェクト名>" dependencyTree | PROJECT_GROUP_KEY=<yamory 上のプロジェクトグループ識別キー> YAMORY_API_KEY=xxxxxxxxxxxxxxxxx bash -c "$(curl -sSf -L https://yamory/script/...)"
上記の < >
内の箇所は、以下の内容に適宜置き換えてください。
<sbt のプロジェクト名>
: sbt のサブプロジェクト名を入力します。単一プロジェクトの場合は、"project <...>"
の箇所を削除してください。
<yamory 上のプロジェクトグループ識別キー>
:サービス名称などを設定してください(例: yamory )(半角英数記号のみ、半角スペースは入力不可)。