Installing Apex Stem
•Apex Stem ドキュメント
Apex StemInstallationUnlocked PackageSalesforce
Two install paths for every framework: Unlocked Packages (framework tests excluded from RunLocalTests) and git submodules. Current versions and install IDs.
Apex Stem の各フレームワークは Unlocked Package(2GP、名前空間なし)と git submodule の2つの経路で導入できます。どちらも中身は同じソースです。プロジェクトごとに選べますし、org によって使い分けても問題ありません。
Which path should I take?
| Unlocked Package(推奨) | Git Submodule | |
|---|---|---|
| 向いている場面 | 新規プロジェクト、本番 org | submodule 運用中の既存プロジェクト、コントリビュータ |
| デプロイ時のフレームワークテスト | RunLocalTests から除外。validate がフレームワークのテストを実行しない(=落ちない) | ローカルテストとして毎回実行される |
| org のカバレッジ計算 | フレームワークのコードは計算から除外 | コードもテストも計算に含まれる |
| バージョンの可視性 | sf package installed list で正確なバージョンが見える | submodule の git タグを確認する |
| アップグレード | 次バージョンをインストールするだけ(上書き) | git submodule update --remote |
パッケージ経路を用意した理由は、実レコードを作るフレームワークテスト(たとえば ApexBlueprint の結合テスト)が、org 固有の入力規則や必須項目と衝突しうるためです。パッケージとして導入すれば、それらのテストはあなたの org では一切実行されません。この失敗クラスが丸ごと消えます。
Current versions
| Framework | Version | Install command |
|---|---|---|
| ApexEloquent | v3.5.0 | sf package install -p 04tgK000000HaGnQAK -o <your-org> -w 10 |
| ApexBlueprint | v2.0.1 | sf package install -p 04tgK000000HaIPQA0 -o <your-org> -w 10 |
| ApexTrace | v1.4.0 | sf package install -p 04tgK000000HaFBQA0 -o <your-org> -w 10 |
| ApexTools | v1.0.0 | sf package install -p 04tgK000000HaK1QAK -o <your-org> -w 10 |
各フレームワークは完全に独立しています。インストール順の制約も相互依存もありません。必要なものだけ入れてください。
ブラウザからインストールする場合は https://login.salesforce.com/packaging/installPackage.apexp?p0=<install ID> を開きます(Sandbox は test.salesforce.com に読み替え)。過去バージョンの install ID は各リポジトリの GitHub Releases に載っています:
ApexEloquent / ApexBlueprint / ApexTrace / ApexTools
Git submodule
BASH
cd /path/to/your/project
git submodule add https://github.com/krile136/ApexEloquent.git force-app/main/default/classes/ApexEloquent
git submodule add https://github.com/krile136/ApexBlueprint.git force-app/main/default/classes/ApexBlueprint
git submodule add https://github.com/krile136/ApexTrace.git force-app/main/default/classes/ApexTrace
git submodule add https://github.com/krile136/ApexTools.git force-app/main/default/classes/ApexTools
git submodule update --init --recursive
sf project deploy start -d force-app/main/default/classes/<Name> で通常のソースフォルダと同じようにデプロイできます。submodule を使うプロジェクトをクローンするときは git clone --recurse-submodules を忘れずに。
Next steps
- はじめての方は Get Started with Apex Stem から
- 各フレームワークのガイド: ApexEloquent / ApexBlueprint / ApexTrace / ApexTools