https://github.com/hashload/boss
Dependency Manager for Delphi and Lazarus
https://github.com/hashload/boss
boss delphi dependency dependency-manager fpc lazarus manager package package-manager packagemanager
Last synced: 6 months ago
JSON representation
Dependency Manager for Delphi and Lazarus
- Host: GitHub
- URL: https://github.com/hashload/boss
- Owner: HashLoad
- License: mit
- Created: 2018-09-18T00:03:45.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-04T13:38:36.000Z (over 1 year ago)
- Last Synced: 2024-04-13T21:50:14.415Z (over 1 year ago)
- Topics: boss, delphi, dependency, dependency-manager, fpc, lazarus, manager, package, package-manager, packagemanager
- Language: Go
- Homepage: https://t.me/hashload
- Size: 1.65 MB
- Stars: 489
- Watchers: 46
- Forks: 92
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Boss
![Boss][bossLogo]
![GitHub release (latest by date)][latestReleaseBadge]
![GitHub Release Date][releaseDateBadge]
![GitHub repo size][repoSizeBadge]
![GitHub All Releases][totalDownloadsBadge]
![GitHub][githubLicenseBadge]
![GitHub issues][githubIssuesBadge]
![GitHub pull requests][githubPullRequestsBadge]
![GitHub contributors][githubContributorsBadge]
![Github Stars][repoStarsBadge]_Boss_ is an open source dependency manager inspired by [npm](https://www.npmjs.com/) for projects developed in _Delphi_ and _Lazarus_.
[![Boss][telegramBadge]][telegramLink]
## 🚀 Getting started
We have a [Getting Started](https://medium.com/@matheusarendthunsche/come%C3%A7ando-com-o-boss-72aad9bcc13) article to help you get started with Boss.
## 📦 Installation
- Download [setup](https://github.com/hashload/boss/releases)
- Just type `boss` in the terminal
- (Optional) Install a [Boss Delphi IDE complement](https://github.com/hashload/boss-ide)Or you can use the following the steps below:
- Download the latest version of the [Boss](https://github.com/hashload/boss/releases)
- Extract the files to a folder
- Add the folder to the system path
- Run the command `boss` in the terminal## 📚 Available Commands
### > Init
This command initialize a new project. Add `-q` or `--quiet` to initialize the boss with default values.
```shell
boss init
boss init -q
boss init --quiet
```### > Install
This command install a new dependency
```shell
boss install
```The dependency is case insensitive. For example, `boss install horse` is the same as the `boss install HORSE` command.
```pascal
boss install horse // By default, look for the Horse project within the GitHub Hashload organization.
boss install fake/horse // By default, look for the Horse project within the Fake GitHub organization.
boss install gitlab.com/fake/horse // By default, searches for the Horse project within the Fake GitLab organization.
boss install https://gitlab.com/fake/horse // You can also pass the full URL for installation
```> Aliases: i, add
### > Uninstall
This command uninstall a dependency
```sh
boss uninstall
```> Aliases: remove, rm, r, un, unlink
### > Cache
This command removes the cache
```sh
boss config cache rm
```> Aliases: remove, rm, r
### > Dependencies
This command print all dependencies and your versions. To see versions, add aliases `-v`
```shell
boss dependencies
boss dependencies -v
```> Aliases: dep, ls, list, ll, la
### > Version
This command show the client version
```shell
boss v
boss version
boss -v
boss --version
```> Aliases: v
### > Update
This command update installed dependencies
```sh
boss update
```> Aliases: up
### > Upgrade
This command upgrade the client latest version. Add `--dev` to upgrade to the latest pre-release.
```sh
boss upgrade
boss upgrade --dev
```### > login
This command Register login to repo
```sh
boss login
boss adduser
boss add-user
boss login -u UserName -p Password
boss login -k PrivateKey -p PassPhrase
```> Aliases: adduser, add-user
## Flags
### > Global
This flag defines a global environment
```sh
boss --global
```> Aliases: -g
### > Help
This is a helper for boss. Use `boss --help` for more information about a command.
```sh
boss --help
```> Aliases: -h
## Another commands
```sh
delphi Configure Delphi version
gc Garbage collector
publish Publish package to registry
run Run cmd script
```## Samples
```sh
boss install horse
boss install horse:1.0.0
boss install -g delphi-docker
boss install -g boss-ide
```## Using [semantic versioning](https://semver.org/) to specify update types your package can accept
You can specify which update types your package can accept from dependencies in your package's boss.json file.
For example, to specify acceptable version ranges up to 1.0.4, use the following syntax:
- Patch releases: 1.0 or 1.0.x or ~1.0.4
- Minor releases: 1 or 1.x or ^1.0.4
- Major releases: \* or x## 💻 Code Contributors

[githubContributorsBadge]: https://img.shields.io/github/contributors/hashload/boss
[bossLogo]: ./assets/png/sized/boss-logo-128px.png
[latestReleaseBadge]: https://img.shields.io/github/v/release/hashload/boss
[releaseDateBadge]: https://img.shields.io/github/release-date/hashload/boss
[repoSizeBadge]: https://img.shields.io/github/repo-size/hashload/boss
[totalDownloadsBadge]: https://img.shields.io/github/downloads/hashload/boss/total
[githubLicenseBadge]: https://img.shields.io/github/license/hashload/boss
[githubIssuesBadge]: https://img.shields.io/github/issues/hashload/boss
[githubPullRequestsBadge]: https://img.shields.io/github/issues-pr/hashload/boss
[telegramBadge]: https://img.shields.io/badge/telegram-join%20channel-7289DA?style=flat-square
[telegramLink]: https://t.me/hashload
[repoStarsBadge]: https://img.shields.io/github/stars/hashload/boss?style=social