qacli project upgrade

Upgrade a Helix QAC project.

Usage

project upgrade  -P <directory> [-K <config name>] [--] [-h]

Extended Description

New versions of Helix QAC often include new and/or updated analysis components and capabilities. Projects that have been created by older versions of Helix QAC will have Rule Configuration Files and Analysis Configuration Files that refer to the versions of analysis components that are not shipped with the new Helix QAC version. Additionally, some configuration files may have changed format and/or content. If you wish to convert your existing projects to refer to the new versions of components instead of the old versions and automatically upgrade any configuration files, you can issue the following command:

qacli project upgrade --qaf-project <directory> [-K <config-name>]

This will upgrade the default configuration of a project, including converting any CIP generation scripts from Python 2 to Python 3. For projects with multiple configurations, you can use the ‑K option to upgrade a specific config, alternatively you can specify ‑K "*" to upgrade all configurations in the project.

Once upgraded, the project cannot be used with older versions of Helix QAC.

This will only work if Helix QAC possesses an upgrade map for the specified project version. This command will not add any new features or components (for example, new messages or analysis components) to your configuration files. It will replace corresponding features from the older versions with the newer versions of those features. It will also remove any features or components that no longer exist in the newer versions.

When upgrading a project with non-separated dataflow enabled (any version of Helix QAC prior to 2022.4), the dataflow component will be added to the toolchain. The appropriate analysis options will be transferred from the primary analysers to the new component.

If you have manually added the separated dataflow component to the toolchain, this dataflow upgrade and conversion won't be applied.
If you have dataflow options specified in an existing via file, these are not upgraded. You will need to create a new via for dataflow specific options.

When conflicts of analysis options are found during the transfer, the higher value is used. Pre-existing dataflow rules and messages will be moved from the primary analysers to the new component. When the rules and messages are moved, it maintains the active/disabled state, such that analysis should run with the same messages enabled from before the upgrade.

This section of the upgrade will be saved separately, which means that if it fails to upgrade dataflow, it will be reverted independently of the primary component upgrade. The upgrade procedure, and any failures, will be logged in "upgrade" folder.

Using older components in a newer version of Helix QAC is not a supported configuration - there is no guarantee of compatibility.
The upgrade procedure caters for common issues with shipped CIP scripts. If the CIP generation scripts have been significantly modified by the user, then they may need to be manually adjusted after the upgrade.

Should you prefer to continue using older versions of components, do not use the project upgrade command. You will instead need to tell Helix QAC where to find the old components using the following command:

qacli config component-path --add <path>

This will cause the older component to appear in the toolchain editing screen (the Analysis tab of the Project Properties dialog). Use the arrow button to add the older component into the active toolchain.

You should not mix old and new versions of components.

Options

Name, shorthand Default Description
‑‑config, ‑K   For projects with multiple configurations, specify which configuration to use. If none is specified, then the default configuration will be used Specifying “*” will upgrade all configs in the project.
‑‑help, ‑h   Displays usage information and exits.
‑‑ignore‑rest, ‑‑   Ignores the rest of the labeled arguments following this flag.
‑‑qaf‑project, ‑P . Specify a path to a valid Helix QAC project.

Examples

Upgrading a Single Config Project

This will upgrade the project in the named directory:

qacli project upgrade --qaf-project /home/katie/sample_c

Upgrading a Multi-config Project

If you have a multi-config project with two configs called basic_compliance and full_compliance, you could upgrade just the full_compliance config with a command such as:

qacli project upgrade --qaf-project /home/katie/sample_c --config full_compliance

However, to update all configs you can use a command like this:

qacli project upgrade --qaf-project /home/katie/sample_c --config “*”