HeadlinesBriefing favicon HeadlinesBriefing.com

Boss – Dependency Manager for Delphi and Lazarus

Hacker News •
×

Boss is an open‑source dependency manager inspired by npm for projects developed in Delphi and Lazarus. Getting started is straightforward: install via the terminal or download the latest release, add the folder to the system path, and run `boss`. The CLI offers commands such as `boss init` to create a `boss.json`, `boss install <dependency>` with real‑time progress, and `boss uninstall <dependency>`. It supports case‑insensitive names, organization prefixes, and full URLs. You can specify compiler versions and platforms (e.g., `--compiler=37.0 --platform=Win64`). Other useful commands include `boss upgrade`, `boss dependencies`, and `boss run <script>` for custom build scripts. Authentication for private repos is handled with `boss login`, and credentials can be removed with `boss logout`. Global flags like `-g` install packages system‑wide, while `-d` enables debug output. Configuration options let you set the Delphi version via `boss config delphi use <index>`, choose the Git client (`native` or `embedded`), and enable shallow cloning to speed downloads. The `boss.json` file defines metadata, dependencies, scripts, and toolchain settings, ensuring consistent builds across teams.

In `boss.json`, you can specify a `toolchain` section with `compiler`, `platform`, `path`, and `strict` to enforce exact versions. Semantic versioning is supported: use ranges like `^3.0.0` for patch updates, `~2.1.0` for minor, or `*` for any version. The manifest also supports `engines` to declare required compiler ranges and target platforms. Boss integrates with Delphi IDEs via a companion plugin, making dependency resolution seamless during development.