yamory の使い方

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

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

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

Gradle プロジェクトをスキャンする

Gradle プロジェクトのコマンドスキャンでは gradle コマンドの dependencies タスクによって依存関係を抽出した出力テキストをスキャンします。
スキャンを行うには、コマンドライン上でスキャン対象の Gradle プロジェクトのルートディレクトリに移動し、以下を実行してください。

gradle :<Gradle のサブプロジェクト名>:dependencies --console=plain | PROJECT_GROUP_KEY=<yamory 上のプロジェクトグループ識別キー> YAMORY_API_KEY=xxxxxxxxxxxxxxxxx YAMORY_OPEN_SYSTEM=true YAMORY_DISTRIBUTED=false bash -c "$(curl -sSf -L <https://yamory/script/...>)"

上記の < > 内の箇所は、以下の内容に適宜置き換えてください。

<Gradle のサブプロジェクト名>: スキャン対象にする Gradle のサブプロジェクト名を入力します(ルートプロジェクトのみの場合は、:<Gradle のサブプロジェクト名>: を削除してください)。
サブプロジェクトはルートプロジェクトディレクトリ内の settings.gradle ファイルに定義されています。(例: :sub-project:sub-module)

<yamory 上のプロジェクトグループ識別キー>:サービス名称などを設定してください(例: yamory)(半角英数記号のみ、半角スペースは入力不可)。

<https://yamory/script/...>: サイドバーの「アプリライブラリ」>「スキャン」を開き、「新しいプロジェクトをスキャン+」ボタンを押して出てくる案内にしたがって入力を進め、最後に表示されるスキャンコマンドの URL に置き換えてください。

スキャン対象のコンフィグレーションと、スキャンオプション

コンフィグレーションには成果物をビルドする際に付与しているものと同じものを指定します。
デフォルトのスキャン対象のコンフィグレーションは、runtimeClasspath です。runtimeClasspath が利用できない場合は、任意のコンフィグレーションを指定してスキャンすることも可能です。

任意のコンフィグレーションを指定してスキャンする場合は、上記のコマンドの末尾に下記のスキャンオプションを追記してください。

-- --configuration <コンフィグレーション名>: 任意のコンフィグレーション名を指定してスキャンします。

Gradle のコンフィグレーションの詳細については、Gradle ユーザガイドの What are dependency configurationsDependency management を参照ください。

Android(Gradle)プロジェクトをスキャンする

Android プロジェクトのスキャンは、現在α版での試験的な提供を行っております。ぜひご利用いただき、忌憚ないご意見・フィードバックを募集しています。

Android プロジェクトのコマンドスキャンでは gradle コマンドの dependencies タスクによって Android 用の依存関係を抽出した出力テキストをスキャンします。
スキャンを行うには、コマンドライン上でスキャン対象の Android プロジェクトのルートディレクトリに移動し、以下を実行してください。

gradle :<Gradle のサブプロジェクト名>:dependencies --console=plain | PROJECT_GROUP_KEY=<yamory 上のプロジェクトグループ識別キー> YAMORY_API_KEY=xxxxxxxxxxxxxxxxx YAMORY_OPEN_SYSTEM=true YAMORY_DISTRIBUTED=false bash -c "$(curl -sSf -L <https://yamory/script/...>)" -- --android-app

上記の < > 内の箇所は、以下の内容に適宜置き換えてください。

<Gradle のサブプロジェクト名>: 通常 app 等の Android の Module 名を入力します(ルートプロジェクトのみをスキャンする場合は、:<Gradle のサブプロジェクト名>: を削除してください)。
サブプロジェクトはルートプロジェクトディレクトリ内の settings.gradle ファイルに定義されています。(例: :sub-project:sub-module)

<yamory 上のプロジェクトグループ識別キー>:サービス名称などを設定してください(例: yamory)(半角英数記号のみ、半角スペースは入力不可)。

<https://yamory/script/...>: サイドバーの「アプリライブラリ」>「スキャン」を開き、「新しいプロジェクトをスキャン+」ボタンを押して出てくる案内にしたがって入力を進め、最後に表示されるスキャンコマンドの URL に置き換えてください。

スキャンオプション

スキャン対象とするプロジェクトに応じて、下記いずれかのオプションを指定できます。
オプションを指定する際は、前述のコマンド文字列の末尾 -- --android-app--android-app の箇所のみを以下のいずれかに置き換えてください。

--android-app: Android アプリケーションプロジェクト(releaseRuntimeClasspathコンフィグレーション)をスキャンします。

--android-lib: Android ライブラリプロジェクト(releaseCompileClasspathコンフィグレーション)をスキャンします。

--configuration <コンフィグレーション名>: 任意のコンフィグレーション名を指定してスキャンします。プロダクトフレーバーやフレーバーディメンションをカスタマイズしており、前述のオプションではスキャンできない場合等にご利用ください。

環境変数について

YAMORY_OPEN_SYSTEM について

yamory 上の「公開サービス(外部ネットワークからパブリックアクセスが可能なアプリケーション、またはサービスとして使用するか)」を指定できます。
公開サービスの場合は true、非公開サービスの場合は false を指定します。
YAMORY_OPEN_SYSTEM が未入力の場合、前回スキャン情報があればその状態を引き継ぎ、初回スキャン時は公開サービスとして登録されます。
本パラメータはトリアージレベルの計算に使用されます。

YAMORY_DISTRIBUTED について

yamory 上の「頒布プロジェクト」の状態を指定できます。
頒布プロジェクトの場合は true、非頒布プロジェクトの場合は false を指定します。
YAMORY_DISTRIBUTED が未入力の場合、前回スキャン情報があればその状態を引き継ぎ、初回スキャン時は非頒布プロジェクトとして登録されます。