About the xPack Ninja Build
The project
The xPack Ninja Build project is part of the
xPack Reproducible Build Framework
and is hosted on GitHub as
xpack-dev-tools/ninja-build-xpack
,
part of the xPack Binary Development Tools.
The main goal of this project is to streamline the development of embedded projects. µOS++ is the first cross-platform project to benefit from the xPack tools.
Project history
The project was created in April 2020.
Initially it was considered that on Windows it is mandatory to
spawn processes via cmd.exe /c
and a patch was applied for this
change. The decision was reversed in mid-2024.
September 2020
The first xPack Ninja Build release was v1.10.0-1.
October 2021
In the Windows binaries, the MSVC runtime was replaced with the newer Universal C Runtime (UCRT) (in v1.10.2-4).
December 2021
Support for Apple Silicon macOS was added (in v1.10.2-5).
May 2022
Support for x86 Windows and x86 GNU/Linux (32-bit) was discontinued (in v1.11.0-1).
October 2022
The project received a significant update by transitioning the build scripts from the cumbersome monolithic XBB Docker images to the more flexible and modular xPacks. XBB version 5.0.0 marked a major milestone for the xPack project, as it was the first self-sustained release. This version enabled the creation of new binary xPacks using existing binary xPacks, eliminating the need for custom Docker images or other compiled tools.
August 2024
The project underwent a comprehensive restructuring. To streamline the top
package.json
by showcasing only user-related definitions and concealing
build-related ones, all build-related files were relocated to the
build-assets
folder. Furthermore, the development Git branch was
renamed to xpack-development
for enhanced clarity.
September 2024
The patch to spawn processes on Windows via cmd.exe /c
was no longer applied
(in v1.12.1-1).
The web site
The initial web site was launched in September 2020 as a sub-site in the xPack web site. It used the Jekyll Doc Theme 6.0 by Tom Johnson.
In August 2024,
as part of the project restructuring, the website content was migrated
from the xPack Jekyll sub-site to a local Docusaurus configuration
stored in the website
folder. To ensure continuity, HTML <meta>
redirects were added to the old pages.
Additionally, a GitHub Action was implemented to automatically
publish the site upon any pushes to the website
Git branch.
The author
This project is currently maintained by Liviu Ionescu (ilg-ul), a senior computer engineer, with expertise in C++/C embedded systems, RTOSes, build tools, operating systems, compilers and Internet technologies.
He can be reached at <ilg@livius.net>
.
Please note, this email address is provided as a courtesy.
For all correspondence related to the xPack Ninja Build
project, kindly use the project support page).