Skip to main content

xPack xpm v0.13.1 released

· 3 min read

Version 0.13.1 is a new release; it fixes several issues and adds support for inheritance in build configurations.

xpm is a Node.js CLI application to manage xPacks dependencies.

Install

xpm is a Node.js module that can be installed with npm.

For the prerequisites, since it is recommended to use a version manager or to customize the npm install location, please read the Install page for more details.

To install the latest stable version available, use:

npm uninstall --global xpm
npm install --global xpm@latest

To install this specific version, use:

xpm install --global xpm@0.13.1

Changes

The 0.13.1 release is generally compatible with previous releases.

The main change is adding support for inheritance in build configurations, to reduce redundancy in related (debug/release) configurations.

This is achieved by using the inherit property; for example:

      "native-cmake-release": {
"inherit": [
"native-cmake-debug"
],
"properties": {
"buildType": "Release"
}
}

Bug fixes

  • [#133] by design, the content of the packages installed in the central store is expected to be read only; due to a node documentation issue, changing file mode to R/O on Windows was not effective; fixed

Enhancements

  • [#134] implement buildConfiguration inheritance
  • [#135] add --ignore-errors to run & install to allow scripts to continue
  • [#136] when referring to a non existent configuration, a stack trace was shown; fixed
  • [#131] improve error message to suggest --global

Other changes

  • [#109] prefer XPACKS_STORE_FOLDER over XPACKS_REPO_FOLDER

Known problems

  • [#57] when multiple versions of the same package are referenced via different dependencies paths, the program fails; version mitigation will be implemented in a future release.

Documentation

The program interprets --help and displays a top help page:

% xpm --help

The xPack project manager command line tool
Usage: xpm <command> [<subcommand>...] [<options> ...] [<args>...]

where <command> is one of:
init, install, link, list, run, uninstall

Common options:
--loglevel <level> Set log level (silent|warn|info|verbose|debug|trace)
-s|--silent Disable all messages (--loglevel silent)
-q|--quiet Mostly quiet, warnings and errors (--loglevel warn)
--informative Informative (--loglevel info)
-v|--verbose Verbose (--loglevel verbose)
-d|--debug Debug messages (--loglevel debug)
-dd|--trace Trace messages (--loglevel trace, -d -d)
--no-update-notifier Skip check for a more recent version
-C <folder> Set current folder

xpm -h|--help Quick help
xpm <command> -h|--help Quick help on command
xpm --version Show version
xpm -i|--interactive Enter interactive mode

npm xpm@0.13.1 '/Users/ilg/.nvm/versions/node/v14.16.0/lib/node_modules/xpm'
Home page: <https://xpack.github.io/xpm/>
Bug reports: <https://github.com/xpack/xpm-js/issues/>

Similar pages are available for each command.

For more details, the project documentation is available online from the web site.

Supported platforms

npm is a portable application that can run on Windows, macOS and GNU/Linux, both Intel and Arm.

CI tests

Continuous integration tests are done via GitHub Actions.

Download analytics

  • npmjs.com xpm
    • last week npm
    • all time npm

Credit to Shields IO for the badges.

caution

The xpm tool is currently work in progress and should be used with caution.