Skip to content

feat: add boss.json for Boss package manager support - #155

Open
vBaggio wants to merge 1 commit into
VSoftTechnologies:masterfrom
vBaggio:master
Open

feat: add boss.json for Boss package manager support#155
vBaggio wants to merge 1 commit into
VSoftTechnologies:masterfrom
vBaggio:master

Conversation

@vBaggio

@vBaggio vBaggio commented Aug 8, 2026

Copy link
Copy Markdown

Summary

This PR adds support for installing this library as a dependency via Boss, the dependency manager for Delphi and Lazarus.

1. Add boss.json

Boss requires a boss.json manifest at the repository root to resolve a package as a dependency (source path, version, etc.). Without it, boss install fails outright with an entry not found error before it can even read the project structure. This adds a minimal manifest, following the same shape used by other Boss-registered Delphi libraries, pointing mainsrc at ./Source.

2. Remove orphaned .gitmodules

While debugging the entry not found error above, I found a second, independent cause: .gitmodules declares a submodule DUnitXML (../DUnit-XML.git) that has no corresponding entry in the repository tree — it was never actually committed as a submodule. Boss's embedded Git implementation (go-git) tries to initialize every submodule listed in .gitmodules right after cloning, and fails with the same entry not found error when the declared path doesn't exist in the tree. This happens regardless of the boss.json fix above, so both changes are needed together for boss install to succeed. Since the submodule was never wired up to anything (no DUnitXML directory exists in the repo), removing the stale entry is safe.

Test plan

  • Ran boss install github.com/<fork>/Delphi-Mocks against this branch (published as a tag on a fork) and confirmed it clones, checks out, and installs successfully — no more entry not found.

Copilot AI lite review requested due to automatic review settings August 8, 2026 21:59

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Boss (https://github.com/HashLoad/boss) requires a boss.json manifest
at the repository root to resolve a package as a dependency. Without
it, installation fails with "entry not found".

Also removes the orphaned .gitmodules entry for "DUnitXML"
(../DUnit-XML.git), which has no corresponding gitlink in the tree.
Boss's embedded git implementation (go-git) fails submodule
initialization on clone when a declared submodule path is missing
from the tree, aborting the install with the same "entry not found"
error before the manifest is even read.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants