Files
dat-thang/docs/source-distribution.md
T
divorce b735900f2e 0.0.002
ddat interop with dat js
cable interop with cabal js
ddat's frontend = dat-thang
cable fe = cable-thang
dillo support based on cel's dillo-dat
bootstrap node
xplatform support

Signed-off-by: divo <418@cryspace.space>
2026-10-19 00:17:02 -04:00

39 lines
1.8 KiB
Markdown

# Source and release layout
The repository has one source tree for both platforms. Generated files have
separate destinations:
- GNU/Linux compiler outputs: `build/linux/`
- Windows compiler outputs: `build/windows/`
- Windows portable runtime staging: `dist/windows-x64/`
- Installers and platform packages: `dist/installers/` and `dist/linux-*/`
- Source archive: `dist/source/`
`build/` is disposable compiler output and is ignored by Git. External Dillo
checkouts live in `test-deps/`; machine keys and test-run output live in
`local-data/`. Both are local-only and ignored. Reusable tests and archive
fixtures live under `tests/`, so a clean operation cannot remove them. Do not
zip the working directory directly. To make a source-only archive that retains
the historical fixtures and interoperability tests while excluding machine
data and generated outputs, run from PowerShell at the repository root:
```powershell
.\package-source.ps1
```
The script writes `dist\source\dat-gpt-v0.0.002-source.zip` (the version comes
from `VERSION`). It includes project sources, documentation, assets, the
historical code under `extra/`, `third_party/`, the complete `tests/` tree, and
the root historical `.dat` verifier fixture. It excludes installed
`node_modules/`, `build/`, `dist/`,
`local-data/`, `test-deps/`, `.git/`, per-machine Dillo keys, and generated
configure files. It also skips local identity keys, cookie jars, SSH private
keys, and `.env` files by name. It does not compile or bundle executables.
Keep persistent node identity files in per-user application data outside the
checkout. The source ZIP excludes local runtime state.
For target packages, use `make package` on GNU/Linux and
`build-windows-installer.ps1` on Windows. The Windows `build-windows.ps1` also
creates a portable ZIP without requiring Inno Setup.