yamory の使い方

yamory へようこそ! yamory の基礎知識と使い方をご紹介します。

コマンドラインから sbt プロジェクトをスキャンする

このページでは、コマンドラインから sbt プロジェクトをスキャン方法について説明いたします。

sbt プロジェクト をスキャンする場合、事前に yamory/sbt-dependency-graph プラグインをインストールする必要があります。

sbt-dependency-graph プラグインをインストールする

sbt プラグインのインストール方法は大きく分けて2通りあります。1つは対象の sbt プロジェクトの project ディレクトリにプラグインを格納する方法、もう1つは ~/.sbt 配下にプラグインを格納する方法です。

詳細は sbt のドキュメントをご参照ください。
General Best Practices

以下は project ディレクトリにインストールする場合の手順です。

  1. まず <対象プロジェクトのルートディレクトリ>/project/plugins.sbt ファイルが存在しなければ作成してください。
  2. 次に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-graphyamory/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 )(半角英数記号のみ、半角スペースは入力不可)