Skip to main content

scala-cli-adding-directives

Add or change using directives in Scala CLI. Use when adding a new //> using directive, registering a directive handler, or editing directive preprocessing.

ソース情報

リポジトリ
VirtusLab/scala-cli
ソースの最終更新活動
2026年3月18日 07:40
検出された SKILL.md の言語
英語
スター
645
フォーク
169

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
scala-cli-adding-directives
description
Add or change using directives in Scala CLI. Use when adding a new //> using directive, registering a directive handler, or editing directive preprocessing.
# Adding a new directive (Scala CLI) 1. **Create a case class** in `modules/directives/src/main/scala/scala/build/preprocessing/directives/` extending one of: - `HasBuildOptions` — produces `BuildOptions` directly - `HasBuildOptionsWithRequirements` — produces `BuildOptions` with scoped requirements (e.g. `test.dep`) - `HasBuildRequirements` — produces `BuildRequirements` (for `//> require`) 2. **Annotate**: `@DirectiveLevel(SpecificationLevel.EXPERIMENTAL)`, `@DirectiveDescription("…")`, `@DirectiveUsage("…")`, `@DirectiveExamples("…")`, `@DirectiveName("key")` on fields. 3. **Companion**: `val handler: DirectiveHandler[YourDirective] = DirectiveHandler.derive` 4. **Register** in `modules/build/.../DirectivesPreprocessingUtils.scala` in the right list: `usingDirectiveHandlers`, `usingDirectiveWithReqsHandlers`, or `requireDirectiveHandlers`. 5. **Regenerate reference docs**: `./mill -i 'generate-reference-doc[]'.run` CLI options always override directive values when both set the same thing.
GitHubで見る