Silence scala-cli 'using directives in multiple files' warning when running plugin commands #339
Labels
No labels
agent-ready
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
needs-input
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli#339
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
When running plugin commands, scala-cli warns about
usingdirectives appearing in multiple files:This is expected — plugins legitimately need their own
//> using depdirectives in theirlib/files, separate from iw-cli core'sproject.scala. The warning is noise and confuses users.Context
iw-runalready passes-qand--suppress-outdated-dependency-warningto scala-cli (line ~599). The multi-file directive warning needs a separate suppression flag.Possible approaches
--suppress-directives-in-multiple-files-warning— scala-cli has this flag (added in 1.x). Just add it to thescala-cli runinvocations iniw-run.//> using optionsdirective — some scala-cli warnings can be suppressed via directives, but this one likely can't.Restructure plugin deps — avoid
//> usingin plugin lib files entirely by passing deps as CLI args. Overly complex and breaks the current plugin authoring model.Approach 1 is the obvious fix if the flag exists in our scala-cli version.
Acceptance criteria
./iw <plugin>/<command>does not show the "using directives detected in multiple files" warningIntake: agent-ready
Workflow: diagnostic
Reason: all gates passed
Analysis: project-management/issues/IW-339/analysis.md on branch IW-339
Implement: needs-human
Reason: batch-implement exit 1 — the kanon plugin did not compile against the iw-cli core of this branch, so no phase ran
batch-implement.logwas not written; the command stopped while scala-cli compiled the plugin. Its output:The iw-cli core on
mainreturnsTrackerErrorfrom the tracker port's forge calls (#778, #780). The installed kanon plugin still expectsStringthere. This blocks every iw-cli issue in the implement loop, not only this one, until the plugin is updated.Release: the implement loop failed this issue for a reason outside it. The kanon plugin did not compile against iw-cli main, because the tracker port now returns TrackerError (iw-cli #778). The plugin fix is dev-docs #484, and iw-cli 0.22.1 carries the core change. The issue goes back to the implement loop.