Change Axivion analysis result format

Dividing qtdeclarative into essential and add-ons modules in
analysis

Task-number: QTQAINFRA-5965
Change-Id: I5e839c68dd4221a20175e75c5b48ae11cf936f5e
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
This commit is contained in:
Matti Paaso 2024-05-21 10:03:53 +03:00
parent 62a5d80402
commit ec83cc1a61
2 changed files with 56 additions and 22 deletions

View File

@ -2,37 +2,18 @@
"Project": {
"BuildSystemIntegration": {
"child_order": [
"GCCSetup",
"CMake",
"LinkLibraries"
]
},
"CMake": {
"_active": true,
"_copy_from": "CMakeIntegration",
"build_environment": {},
"build_options": "-j4",
"generate_options": "--fresh",
"generator": "Ninja"
},
"GCCSetup": {
"_active": true,
"_copy_from": "Command",
"build_command": "gccsetup --cc gcc --cxx g++ --config ../../../axivion/"
},
"LinkLibraries": {
"_active": true,
"_copy_from": "AxivionLinker",
"input_files": [
"build/lib/lib*.so*.ir",
"build/qml/*/lib*.so*.ir",
"build/qml/*/*/lib*.so*.ir",
"build/qml/*/*/*/lib*.so*.ir",
"build/qml/*/*/*/*/lib*.so*.ir"
"$(splitpath:TARGET_NAME)"
],
"ir": "build/$(env:TESTED_MODULE_COIN).ir",
"ir": "$(env:IRNAME)",
"plugin_files": [
"build/plugins/*/lib*.so*.ir"
"$(splitpath:PLUGINS)"
]
}
},

53
coin/axivion/start_analysis.sh Executable file
View File

@ -0,0 +1,53 @@
#!/bin/bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
$HOME/bauhaus-suite/setup.sh --non-interactive
export PATH=/home/qt/bauhaus-suite/bin:$PATH
export BAUHAUS_CONFIG=$(cd $(dirname $(readlink -f $0)) && pwd)
export AXIVION_VERSION_NAME=$(git rev-parse HEAD)
export EXCLUDE_FILES="build/*:src/3rdparty/*"
export AXIVION_NUM_JOBS_COMPILE="4"
export AXIVION_NUM_JOBS_LINK="1"
export CAFECC_BASEPATH="/home/qt/work/qt/$TESTED_MODULE_COIN"
gccsetup --cc gcc --cxx g++ --config "$BAUHAUS_CONFIG"
cd "$CAFECC_BASEPATH"
BAUHAUS_IR_COMPRESSION=none COMPILE_ONLY=1 cmake -G Ninja -DAXIVION_ANALYSIS_TOOLCHAIN_FILE=/home/qt/bauhaus-suite/profiles/cmake/axivion-launcher-toolchain.cmake -DCMAKE_PREFIX_PATH=/home/qt/work/qt/qtdeclarative/build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/qt/bauhaus-suite/profiles/cmake/axivion-before-project-hook.cmake -B build -S . --fresh
cmake --build build -j4
for MODULE in qtqml qtquick qtquickcontrols qtquickdialogs qtquicklayouts qtquicktest; do
export MODULE
export PLUGINS=""
export IRNAME=build/$MODULE.ir
if [ "$MODULE" == "qtqml" ]
then
export TARGET_NAME="build/lib/libQt6Qml.so.*.ir"
export PLUGINGS="build/qml/*.so.ir:build/plugins/*.so.ir"
export PACKAGE="Essentials"
elif [ "$MODULE" == "qtquick" ]
then
export TARGET_NAME="build/lib/libQt6Quick.so.*.ir"
export EXCLUDE_FILES="build/*:src/3rdparty/*:src/qml/*:src/qmlmodels/*"
export PACKAGE="Essentials"
elif [ "$MODULE" == "qtquickcontrols" ]
then
export TARGET_NAME="build/lib/libQt6QuickControls2.so.*.ir:build/lib/libQt6QuickControls2Impl.so.*.ir"
export EXCLUDE_FILES="build/*:src/3rdparty/*:src/qml/*:src/quick/*:src/qmlmodels/*:src/quicktemplates/*"
export PACKAGE="Essentials"
elif [ "$MODULE" == "qtquickdialogs" ]
then
export TARGET_NAME="build/lib/libQt6QuickDialogs2.so.*.ir"
export EXCLUDE_FILES="build/*:src/3rdparty/*:src/qml/*:src/quick/*:src/quicktemplates/*:src/quickcontrolsimpl/*:src/qmlmodels/*"
export PACKAGE="Essentials"
elif [ "$MODULE" == "qtquicklayouts" ]
then
export TARGET_NAME="build/lib/libQt6QuickLayouts.so.*.ir"
export PACKAGE="Essentials"
export EXCLUDE_FILES="build/*:src/3rdparty/*:src/qml/*:src/quick/*:src/qmlmodels/*"
elif [ "$MODULE" == "qtquicktest" ]
then
export TARGET_NAME="build/lib/libQt6QuickTest.so.*.ir"
export PACKAGE="Essentials"
export EXCLUDE_FILES="build/*:src/3rdparty/*:src/qml/*:src/quick/*:src/qmlmodels/*:src/qmltests/*"
fi
axivion_ci "$@"
done