1.4.58. Migration to 7.1.0¶
1.4.58.1. Configuration¶
Function get_analysis() from the new Python API introduced in version 7.0
no longer has a name parameter (there can only be one instance of the
analysis configuration aspect per configuration). Because of the previous default value,
that change should normally not affect you. In case you were using it to create
multiple instances of the analysis configuration aspect, you’ll now have to use
a separate configuration (different layer).
The behavior of list/set options has changed slightly: the list/set is now copied immediately when it is being assigned to the option.
Mutation of configuration option after assignment¶import axivion.config lang = {'C'} analysis['MisraC2012-1.1'].languages = lang lang.add('C++')
In this code example, in version 7.0 the languages option was effectively
set to {'C', 'C++'}. In version 7.1 the assignment to the option makes a copy
of the set, so mutation of the set after the assignment no longer has an effect:
the effective value of the option is {'C'}.
1.4.58.2. axivion_ci¶
Version 7.1 introduces a new tool axivion_ci that can replace cibuild.
axivion_ci uses the new JSON-based configuration system.
cibuild is still available for existing setups using
build.conf XML configuration.
If a migration to the new config system is desired, the migrate ci command
can be used to automatically migrate many options from the XML configuration.
We recommend that you first migrate the stylechecks to the new configuration system
(as described in Migration to new Configuration System)
before you attempt to migrate build.conf.
1.4.58.3. Architecture Check¶
Beginning with version 7.1, the database importer will no longer automatically perform an architecture check just because the RFG has the appropriate role attributes set on the views.
- The following ways of running the architecture check will continue to work in 7.1:
The “Architecture-ArchitectureCheck” and “Architecture-GravisArchitecture” rules introduced in version 7.0
<action tool="architecture_check">in build.confThe “architecture_check” processline tool and you are running the processline in a context where it can report analysis results:
With the “Architecture-ProcessLine” rule introduced in version 7.0
With
<action tool="processline">in build.conf
Any other way (e.g. running the processline tool on the command-line, or using a custom script to set the the role attributes on the views) will no longer import the architecture violations into the dashboard. Please switch to one of the supported ways listed above.
Note: The processline is deprecated; the preferred way is to use the “Architecture-ArchitectureCheck” rule.
1.4.58.4. Fault Detection (Runtime Error Checks based on iranalysis)¶
When using runtime error checks from within stylechecks such as MisraC++-0.3.1,
check-specific options are now only read from these rules and no longer from
iranalysis.config. Missing options (such as filter_multiple_instances
for the NULL pointer check) have been added to the rules.
So if you’ve got any check-specific setting in iranalysis.config under
/iranalysis/Checks/, please set the corresponding rule options now in order
to get the same behavior.
1.4.58.5. Stylechecks¶
Some exception checks now have the ability to show more details
(e.g., AutosarC++18_10-M15.3.4 and MisraC++-15.1.1).
This is guarded by an additional option generate_violation_path which is set
to True by default.
You can switch it off if the runtime costs for computing these paths is too high
for your project.
The smart_pointer_names for the rules Generic-NoReferenceToPrivateDataMember,
MisraC++-9.3.1, MisraC++-9.3.2, AutosarC++-M9.3.1 now expects fully
qualified type names where the short type name was previously used.
1.4.58.6. Metrics¶
The metric Metric-Template has been deprecated and will be removed in a future
release. Please use Metric-ImportRFGMetricAttribute instead.
1.4.58.7. Dashboard¶
LDAP / Active Directory Integration¶
The Authenticator type Adsi in dashboard2.config has been renamed to
ActiveDirectory. The old name has been deprecated and may be removed in a future
version, so you are advised to adjust your existing configuration file.
All user and group filter expressions by default now exclude search results
with objectClass=computer. If you are using the ActiveDirectory (formerly Adsi)
authenticator configuration this change will automatically apply for all filter
expressions you have not explicitly configured in your dashboard2.config.
Configuration (dashboard2.config)¶
If not present the file dashboard2.config will now automatically be created in
the Dashboard configuration folder upon first start.
The option dashboard2/EmbeddedTomcat/KeyStoreType has been
removed. You might want to remove it from your dashboard2.config as well.
An existing KeyStoreType option will be ignored. When a
keystore is read, PKCS#12 and JKS are both still supported. The type of
the store is determined automatically. When the dashboard writes a new
keystore, the type will always be PKCS#12.
Automatically generated self-signed Certificate¶
The Axivion Dashboard Server now can automatically generate a self-signed certificate (and a certificate signing request to get a trusted certificate from your IT) to support easier TLS configuration. Please see Generating and Using a Self-Signed Certificate for more information on how to configure this.
New Dashboard installations will now automatically use this feature and as a consequence
default to https instead of http. If you want to avoid this, you must provide your
own dashboard2.config or adjust the file after it has been copied.
Migrate Database from UI feature removed¶
Analysis databases can no longer be migrated from within the Dashboard UI.
As before, this can be achieved using the command-line tool cidbman migrate.
JSON-API and its Python Wrapper¶
The Table-Column Descriptions (field columns) of the issue-list query result object
is now deprecated and may be removed in a future version. Since 6.9.0 this information
is returned via the entry point /projects/{projectName}/issues_meta as well. If you
need this data, consider changing your scripts to make an additional call to this
entry point.
1.4.58.8. MSBuild Integration¶
We no longer provide scripts to globally install our MSBuild hook.
For use with axivion_ci or cibuild, a global installation has been
unnecessary since Axivion Suite 6.8.0.
Direct usage of MSBuild.exe /t:AxivionBuild can be replaced with
the new tools build_sln, build_vcxproj and build_csproj.
To uninstall the existing MSBuild integration, remove all copies of the file
Axivion.Analysis.targets from C:\Program Files (x86)\MSBuild
and from C:\Program Files (x86)\Microsoft Visual Studio.
1.4.58.9. Version Control System MKS/PTC Source Integrity¶
In versions prior to 7.1.0, Axivion Suite normalized configuration paths of members
during analysis run in order to save space in the database. This normalization was
using a heuristics that removed #forceJump and #b=A.B entries in the
configuration path (but not #b=A.B.C.D deeper nestings).
From 7.1.0 onwards this configuration is made explicit, so the project configuration
has control over whether #forceJump and #b=... entries are removed
or not. The setting is called normalize_configuration_paths within the
configuration of the VCS mks/integrity in the build.conf or
/Project/VCSIntegration/Integrity in the new JSON configuration. The default
in both cases is to normalize configuration paths.