Layer 0: Pre-compile core into jar and update iw-run launcher #344
Labels
No labels
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli#344
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?
Layer: 0 — Build Infrastructure
Parent: #343
Problem
Every command invocation passes all
core/**/*.scalafiles to scala-cli for compilation. While scala-cli caches aggressively, the initial compile per command is slow, and this model doesn't support a Mill-built dashboard that needs core types as a dependency.Solution
iw-core.jarfromcore/source (excluding tests) — can be done via scala-clipackageor a Millcoremoduleiw-runto pass--jar build/iw-core.jarto scala-cli instead of$core_files— this applies to all three command types (shared, plugin, project) so that hook/command authors don't need any//> using jardirectivescore/**/*.scalais newer thanbuild/iw-core.jar, warn or auto-rebuild before running the command./iw --bootstrapshould build the core jarKey constraint
Command authors (hooks, project commands, plugin commands) must NOT need to add any directives — the jar is injected by
iw-runtransparently.Files to modify
iw-run— changeexecute_command()to use--jarinstead of$core_filesiw-run— add jar build/rebuild logicscripts/package-release.sh— will be updated in a separate issue