Skip to content

Add Boss package manager manifest#170

Open
freitasjca wants to merge 9 commits intowinddriver:masterfrom
freitasjca:master
Open

Add Boss package manager manifest#170
freitasjca wants to merge 9 commits intowinddriver:masterfrom
freitasjca:master

Conversation

@freitasjca
Copy link

@freitasjca freitasjca commented Mar 9, 2026

What this PR does

Adds a boss.json manifest at the repo root so this library can be
installed directly via the Boss
Delphi package manager:

boss install github.com/winddriver/Delphi-Cross-Socket

Changes

  • boss.json — new file, one addition only

What was NOT changed

Zero source changes. No .pas, .inc, .dproj, or any other existing
file was modified. This is a metadata-only addition.

browsingpath explanation

browsingpath is set to Net/;Utils/ because Net units depend on
Utils units at compile time. Boss adds both directories to the
consuming project's library search path automatically on boss install.


Action required after merging — adjust boss.json before tagging

The boss.json submitted in this PR was prepared from a fork and
contains a homepage pointing at the fork. Before tagging, please
update two fields
to reflect the canonical upstream repository:

Current values (from fork):

{
  "name": "delphi-cross-socket",
  "homepage": "https://github.com/freitasjca/Delphi-Cross-Socket"
}

Correct values for the upstream repository:

{
  "name": "delphi-cross-socket",
  "homepage": "https://github.com/winddriver/Delphi-Cross-Socket"
}

The homepage field is what Boss displays when users inspect the
package and what other boss.json dependency declarations resolve
against. If it points at the fork, consumers who install from the
upstream repo will see the wrong URL in their lock file.


Action required after merging — create a semantic version tag

For this library to be resolvable by Boss with version constraints
(e.g. ">=1.0.0"), a Git tag with a semantic version must exist on
the repository.

After adjusting boss.json, run:

git tag v1.0.0
git push origin master
git push origin v1.0.0

Why v1.0.0 specifically:

  • This is the first tagged release of the library as a Boss package
  • The tag must be placed on the commit that has the corrected boss.json
  • Boss's version resolver requires the v prefix — 1.0.0, release-1.0,
    or any other format will not be recognised

Verification — confirm Boss can resolve it after tagging:

# In any temporary directory
mkdir boss-test && cd boss-test

cat > boss.json << 'EOF'
{
  "name": "test",
  "version": "0.1.0",
  "dependencies": {
    "github.com/winddriver/Delphi-Cross-Socket": ">=1.0.0"
  }
}
EOF

boss install

Expected output:

Resolving github.com/winddriver/Delphi-Cross-Socket@1.0.0 ... OK
Installing ... OK

For all future releases, the same pattern applies — each new tag
makes a new version available to Boss consumers:

git tag v1.1.0
git push origin v1.1.0

Consumers who declared ">=1.0.0" in their boss.json will pick up
the new version automatically on boss update.

Adds boss.json to make this library installable via
  boss install github.com/freitasjca/Delphi-Cross-Socket
Zero source changes. browsingpath includes both Net/ and Utils/
because Net units depend on Utils units at compile time.
@freitasjca
Copy link
Author

freitasjca commented Mar 14, 2026

Forgot to mention to add .gitignore file.
Thank you for your great framework.

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.

1 participant