This project provides common scripts and other files useful during xPack Build Box (XBB) builds.
This open source project is hosted on GitHub as
xpack-dev-tools/xbb-helper-xpack
.
This projects includes:
- shell scripts to build various projects as dependencies
(see the
dependencies
folder) - templates used to generate project configurations
- tests
- patches
- other files
This page is addressed to developers who plan to include this package into their own projects.
For maintainer info, please see:
As a source xPack, the easiest way to add it to a project is via xpm, but it can also be used as any Git project, for example as a submodule.
A recent xpm, which is a portable Node.js command line application that complements npm with several extra features specific to C/C++ projects.
It is recommended to install/update to the latest version with:
npm install --location=global xpm@latest
For details please follow the instructions in the xPack install page.
This package is available as
@xpack-dev-tools/xbb-helper
from the npmjs.com
registry:
cd my-project
xpm init # Unless a package.json is already present
xpm install --save-dev @xpack-dev-tools/xbb-helper@latest --verbose
ls -l xpacks/@xpack-dev-tools/xbb-helper
If, for any reason, xpm is not available, the next recommended
solution is to link it as a Git submodule below an xpacks
folder.
cd my-project
git init # Unless already a Git project
mkdir -p xpacks
git submodule add https://github.com/xpack-dev-tools/xbb-helper-xpack.git \
xpacks/@xpack-dev-tools/xbb-helper
Apart from the unused master
branch, there are two active branches:
xpack
, with the latest stable version (default)xpack-development
, with the current development version
All development is done in the xpack-development
branch, and contributions via
Pull Requests should be directed to this branch.
When new releases are published, the xpack-development
branch is merged
into xpack
.
This project includes several bash scripts with functions that can be used for common jobs in application builds.
A typical use case is to define an xPack action that copies, among other things, the build scripts from the helper templates:
"cp xpacks/@xpack-dev-tools/xbb-helper/templates/build.sh scripts/",
"cp xpacks/@xpack-dev-tools/xbb-helper/templates/test.sh scripts/"
The resulting scripts/build.sh
requires two application scripts:
scripts/application.sh
- with common definitionsscripts.versioning.sh
- with details how to build different versions
The resulting scripts/test.sh
requires:
scripts/application.sh
- with common definitionstests/run.sh
- the code to run the validation teststests/update.sh
- optional updates for different docker environments
- none
There are currently no CI tests specific for this package.
The files in the tests
folder are used during native compilers tests.
Please see any of the existing projects, like:
According to semver rules:
Major version X (X.y.z | X > 0) MUST be incremented if any backwards incompatible changes are introduced to the public API.
The incompatible changes, in reverse chronological order, are:
- v0.x: pre-release versions
For support, please use GitHub Discussions.
The original content is released under the MIT License, with all rights reserved to Liviu Ionescu.