Restructure source code location - separate from .iw directory #106
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#106
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?
Context
The iw-cli source code lives in
.iw/(commands/, core/, test/, scripts/, VERSION), but this nesting serves no purpose. It's a leftover from an early idea where.iw/would double as a local installation directory. That never happened — consumer projects useiw-bootstrapwhich downloads releases to~/.local/share/iw/versions/.The
.iw/prefix creates concrete problems:Layout mismatch between dev and release. The release tarball has a flat layout (
commands/,core/,VERSION), but dev has everything under.iw/. This forces./iwto remapIW_COMMANDS_DIRandIW_CORE_DIR, andiw-bootstrapto sniff for.iw/commandsvscommands/inIW_HOMEmode.VERSION file is broken.
read_iw_versioniniw-runlooks for$INSTALL_DIR/VERSION, but in devINSTALL_DIRis the repo root and VERSION is at.iw/VERSION. In releases,package-release.shdoesn't copy VERSION at all. Both paths return0.0.0.release.shstill updates a hardcoded path in.iw/commands/version.scalaand doesn't touch.iw/VERSION.package-release.shhas to remap.iw/commands/→commands/and.iw/core/→core/.Proposed Solution
Move source code out of
.iw/to the repo root so dev layout matches release layout:Consumer projects keep their
.iw/config.conf— that's project config, unrelated to source layout.What changes
./iwno longer needs to setIW_COMMANDS_DIR/IW_CORE_DIR(defaults iniw-runjust work)iw-bootstrapIW_HOMEmode drops the layout-sniffing branchpackage-release.shsimplifies (no more.iw/→ flat remapping)release.shupdatesVERSIONat repo rootread_iw_versionfinds$INSTALL_DIR/VERSIONin both dev and releaseWhat stays the same
.iw/config.confin consumer projects (project-level config)iw-runcommand execution logicRelated