product:missing

Introduction

product:missing lists the features your SPL’s UVL model requires, through its => constraints, that your product does not declare. Run it when product:validate says the selection is not satisfiable, then add them with product:auto-require. It needs a selected product (SPLENT_APP).

splent product:missing
UVL missing
Product  : my_shop
UVL      : /workspace/splent_spl_shop/shop_spl.uvl
Features : 12

Selected : app, billing, shop
Values   : sells_items (SHOP_SELLS = items)

Missing dependencies detected:
- billing requires sells_subscriptions

Values to set in [tool.splent.config]: SHOP_SELLS includes subscriptions

With nothing missing it prints OK: no missing dependencies (implication constraints satisfied).


What it checks

The selection is the one product:validate checks. That is [tool.splent].features, plus features_dev or features_prod for the current SPLENT_ENV (dev when unset), plus the nodes your parameter values select (In the feature model).

A parameter node a constraint asks for has no package, so it is never a feature to add. The command names the value to set in [tool.splent.config] instead.


Failing a pipeline

splent product:missing --fail

--fail exits with 2 when a dependency is missing. Without it the command always exits 0.


Reference

Option Description
--pyproject PATH Read this pyproject.toml instead of the product’s
--fail Exit with 2 when a dependency is missing

A feature in pyproject.toml that the model does not have stops the command with pyproject contains features not present in UVL: ....


Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es