forked from qt-creator/qt-creator
CMake: Expose information about Appman packages as Project extraData
Change-Id: I54c449f5bc7211271cecbef05045dd1490066bd6 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -37,6 +37,8 @@
|
|||||||
|
|
||||||
#include <qmljs/qmljsmodelmanagerinterface.h>
|
#include <qmljs/qmljsmodelmanagerinterface.h>
|
||||||
|
|
||||||
|
#include <qtapplicationmanager/appmanagerconstants.h>
|
||||||
|
|
||||||
#include <qtsupport/qtcppkitinfo.h>
|
#include <qtsupport/qtcppkitinfo.h>
|
||||||
#include <qtsupport/qtsupportconstants.h>
|
#include <qtsupport/qtsupportconstants.h>
|
||||||
|
|
||||||
@@ -1473,6 +1475,37 @@ void CMakeBuildSystem::updateCMakeConfiguration(QString &errorMessage)
|
|||||||
project()->setExtraData(Android::Constants::UseAndroidBuildTargetDir,
|
project()->setExtraData(Android::Constants::UseAndroidBuildTargetDir,
|
||||||
QVariant::fromValue(useAndroidTargetBuildDir));
|
QVariant::fromValue(useAndroidTargetBuildDir));
|
||||||
|
|
||||||
|
QVariantList packageTargets;
|
||||||
|
for (const CMakeBuildTarget &buildTarget : buildTargets()) {
|
||||||
|
bool isBuiltinPackage = false;
|
||||||
|
bool isInstallablePackage = false;
|
||||||
|
for (const ProjectExplorer::FolderNode::LocationInfo &bs : buildTarget.backtrace) {
|
||||||
|
if (bs.displayName == "qt6_am_create_builtin_package")
|
||||||
|
isBuiltinPackage = true;
|
||||||
|
else if (bs.displayName == "qt6_am_create_installable_package")
|
||||||
|
isInstallablePackage = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isBuiltinPackage && !isInstallablePackage)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
QVariantMap packageTarget;
|
||||||
|
for (const FilePath &sourceFile : buildTarget.sourceFiles) {
|
||||||
|
if (sourceFile.fileName() == "info.yaml") {
|
||||||
|
packageTarget.insert("manifestFilePath", QVariant::fromValue(sourceFile.absoluteFilePath()));
|
||||||
|
packageTarget.insert("cmakeTarget", buildTarget.title);
|
||||||
|
packageTarget.insert("isBuiltinPackage", isBuiltinPackage);
|
||||||
|
for (const FilePath &osf : buildTarget.sourceFiles) {
|
||||||
|
if (osf.fileName().endsWith(".ampkg.rule")) {
|
||||||
|
packageTarget.insert("packageFilePath", QVariant::fromValue(osf.absoluteFilePath().chopped(5)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
packageTargets.append(packageTarget);
|
||||||
|
}
|
||||||
|
project()->setExtraData(AppManager::Constants::APPMAN_PACKAGE_TARGETS, packageTargets);
|
||||||
|
|
||||||
setConfigurationFromCMake(cmakeConfig);
|
setConfigurationFromCMake(cmakeConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ const char DEPLOY_PACKAGE_STEP_ID[] = "ApplicationManagerPlugin.Deploy.DeployPac
|
|||||||
const char INSTALL_PACKAGE_STEP_ID[] = "ApplicationManagerPlugin.Deploy.InstallPackageStep";
|
const char INSTALL_PACKAGE_STEP_ID[] = "ApplicationManagerPlugin.Deploy.InstallPackageStep";
|
||||||
const char RUNCONFIGURATION_ID[] = "ApplicationManagerPlugin.Run.Configuration";
|
const char RUNCONFIGURATION_ID[] = "ApplicationManagerPlugin.Run.Configuration";
|
||||||
|
|
||||||
|
const char APPMAN_PACKAGE_TARGETS[] = "ApplicationmanagerPackageTargets";
|
||||||
|
|
||||||
const char QMAKE_AM_MANIFEST_VARIABLE[] = "AM_MANIFEST";
|
const char QMAKE_AM_MANIFEST_VARIABLE[] = "AM_MANIFEST";
|
||||||
const char QMAKE_AM_PACKAGE_DIR_VARIABLE[] = "AM_PACKAGE_DIR";
|
const char QMAKE_AM_PACKAGE_DIR_VARIABLE[] = "AM_PACKAGE_DIR";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user