Skip to main content

Terms used across the xPack Project

xPack

This term should primarily be understood as a generic name for the top project (The xPack Reproducible Build Framework, The xPack Framework, or simply The xPack Project).

Etymologically, xPack can be considered to be a short form for xpm package, or extended package, which is technically a npm package with additional xpack definitions to store the xpm metadata.

Reproducibility

For software development, reproducibility is the characteristic of a development framework that ensures stability over time and across platforms, allowing the same builds or tests to be executed repeatedly with identical results.

xpm

xpm stands for the xPack Project Manager. It is a Node.js CLI application. It is NOT a replacement for npm, but rather complements its functionality with features specific to compiled languages such as C and C++.

npm

Although the existing documentation does not acknowledge the acronym, npm stands for the Node.js package manager.

Node.js

Node.js is a cross-platform, open-source JavaScript runtime environment designed for CLI and server applications.

CLI

CLI stands for Command-Line Interface. When used with program names, it indicates that the program runs in a computer terminal rather than a graphical user interface.

npmjs.com

npmjs.com is the public repository for Node.js packages. Access is free, and it hosts millions of packages, with tens of billions of downloads every week.

CDL

CDL stands for Component Definition Language. It was introduced by eCos and is documented in The eCos Component Writer's Guide.

xCDL

xCDL stands for the xPack Configuration Definition Language, inspired by CDL.

Cross-platform tool

A tool that can be used across multiple different platforms, such as Windows, macOS, GNU/Linux.

User global xPacks store

A platform-dependent folder within the home folder where xpm installs all versions of the packages.