forked from qt-creator/qt-creator
Ios: Use aspects more directly in build configurations
Change-Id: I1fa9583fccd5bb6a93fcfea9e3977f626b790afb Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -367,25 +367,36 @@ void IosSigningSettingsWidget::updateWarningText()
|
||||
m_warningLabel->setText(warningText);
|
||||
}
|
||||
|
||||
// IosQmakeBuildConfiguration
|
||||
|
||||
// IosBuildConfiguration
|
||||
class IosQmakeBuildConfiguration : public QmakeProjectManager::QmakeBuildConfiguration
|
||||
{
|
||||
public:
|
||||
IosQmakeBuildConfiguration(Target *target, Id id);
|
||||
|
||||
IosQmakeBuildConfiguration::IosQmakeBuildConfiguration(Target *target, Utils::Id id)
|
||||
private:
|
||||
QList<NamedWidget *> createSubConfigWidgets() override;
|
||||
bool fromMap(const QVariantMap &map) override;
|
||||
|
||||
void updateQmakeCommand();
|
||||
|
||||
StringAspect m_signingIdentifier{this};
|
||||
BoolAspect m_autoManagedSigning{this};
|
||||
};
|
||||
|
||||
IosQmakeBuildConfiguration::IosQmakeBuildConfiguration(Target *target, Id id)
|
||||
: QmakeBuildConfiguration(target, id)
|
||||
{
|
||||
m_signingIdentifier = addAspect<StringAspect>();
|
||||
m_signingIdentifier->setSettingsKey(signingIdentifierKey);
|
||||
m_signingIdentifier.setSettingsKey(signingIdentifierKey);
|
||||
|
||||
m_autoManagedSigning = addAspect<BoolAspect>();
|
||||
m_autoManagedSigning->setDefaultValue(true);
|
||||
m_autoManagedSigning->setValue(true);
|
||||
m_autoManagedSigning->setSettingsKey(autoManagedSigningKey);
|
||||
m_autoManagedSigning.setDefaultValue(true);
|
||||
m_autoManagedSigning.setSettingsKey(autoManagedSigningKey);
|
||||
|
||||
connect(m_signingIdentifier,
|
||||
connect(&m_signingIdentifier,
|
||||
&BaseAspect::changed,
|
||||
this,
|
||||
&IosQmakeBuildConfiguration::updateQmakeCommand);
|
||||
connect(m_autoManagedSigning,
|
||||
connect(&m_autoManagedSigning,
|
||||
&BaseAspect::changed,
|
||||
this,
|
||||
&IosQmakeBuildConfiguration::updateQmakeCommand);
|
||||
@@ -397,8 +408,8 @@ QList<NamedWidget *> IosQmakeBuildConfiguration::createSubConfigWidgets()
|
||||
|
||||
// Ownership of this widget is with BuildSettingsWidget
|
||||
auto buildSettingsWidget = new IosSigningSettingsWidget(this,
|
||||
m_autoManagedSigning,
|
||||
m_signingIdentifier);
|
||||
&m_autoManagedSigning,
|
||||
&m_signingIdentifier);
|
||||
subConfigWidgets.prepend(buildSettingsWidget);
|
||||
return subConfigWidgets;
|
||||
}
|
||||
@@ -440,13 +451,13 @@ void IosQmakeBuildConfiguration::updateQmakeCommand()
|
||||
});
|
||||
|
||||
// Set force ovveride qmake switch
|
||||
const QString signingIdentifier = m_signingIdentifier->value();
|
||||
const QString signingIdentifier = m_signingIdentifier();
|
||||
if (signingIdentifier.isEmpty() )
|
||||
extraArgs << forceOverrideArg;
|
||||
|
||||
Utils::Id devType = DeviceTypeKitAspect::deviceTypeId(kit());
|
||||
if (devType == Constants::IOS_DEVICE_TYPE && !signingIdentifier.isEmpty()) {
|
||||
if (m_autoManagedSigning->value()) {
|
||||
if (m_autoManagedSigning()) {
|
||||
extraArgs << qmakeIosTeamSettings + signingIdentifier;
|
||||
} else {
|
||||
const QString teamId = teamIdForProvisioningProfile(signingIdentifier);
|
||||
@@ -469,22 +480,36 @@ IosQmakeBuildConfigurationFactory::IosQmakeBuildConfigurationFactory()
|
||||
addSupportedTargetDeviceType(Constants::IOS_SIMULATOR_TYPE);
|
||||
}
|
||||
|
||||
// IosCMakeBuildConfiguration
|
||||
|
||||
class IosCMakeBuildConfiguration : public CMakeProjectManager::CMakeBuildConfiguration
|
||||
{
|
||||
public:
|
||||
IosCMakeBuildConfiguration(Target *target, Id id);
|
||||
|
||||
private:
|
||||
QList<NamedWidget *> createSubConfigWidgets() override;
|
||||
bool fromMap(const QVariantMap &map) override;
|
||||
|
||||
CMakeProjectManager::CMakeConfig signingFlags() const final;
|
||||
|
||||
StringAspect m_signingIdentifier{this};
|
||||
BoolAspect m_autoManagedSigning{this};
|
||||
};
|
||||
|
||||
IosCMakeBuildConfiguration::IosCMakeBuildConfiguration(Target *target, Id id)
|
||||
: CMakeBuildConfiguration(target, id)
|
||||
{
|
||||
m_signingIdentifier = addAspect<StringAspect>();
|
||||
m_signingIdentifier->setSettingsKey(signingIdentifierKey);
|
||||
m_signingIdentifier.setSettingsKey(signingIdentifierKey);
|
||||
|
||||
m_autoManagedSigning = addAspect<BoolAspect>();
|
||||
m_autoManagedSigning->setDefaultValue(true);
|
||||
m_autoManagedSigning->setValue(true);
|
||||
m_autoManagedSigning->setSettingsKey(autoManagedSigningKey);
|
||||
m_autoManagedSigning.setDefaultValue(true);
|
||||
m_autoManagedSigning.setSettingsKey(autoManagedSigningKey);
|
||||
|
||||
connect(m_signingIdentifier,
|
||||
connect(&m_signingIdentifier,
|
||||
&BaseAspect::changed,
|
||||
this,
|
||||
&IosCMakeBuildConfiguration::signingFlagsChanged);
|
||||
connect(m_autoManagedSigning,
|
||||
connect(&m_autoManagedSigning,
|
||||
&BaseAspect::changed,
|
||||
this,
|
||||
&IosCMakeBuildConfiguration::signingFlagsChanged);
|
||||
@@ -496,8 +521,8 @@ QList<NamedWidget *> IosCMakeBuildConfiguration::createSubConfigWidgets()
|
||||
|
||||
// Ownership of this widget is with BuildSettingsWidget
|
||||
auto buildSettingsWidget = new IosSigningSettingsWidget(this,
|
||||
m_autoManagedSigning,
|
||||
m_signingIdentifier);
|
||||
&m_autoManagedSigning,
|
||||
&m_signingIdentifier);
|
||||
subConfigWidgets.prepend(buildSettingsWidget);
|
||||
return subConfigWidgets;
|
||||
}
|
||||
@@ -513,8 +538,8 @@ CMakeConfig IosCMakeBuildConfiguration::signingFlags() const
|
||||
{
|
||||
if (DeviceTypeKitAspect::deviceTypeId(kit()) != Constants::IOS_DEVICE_TYPE)
|
||||
return {};
|
||||
const QString signingIdentifier = m_signingIdentifier->value();
|
||||
if (m_autoManagedSigning->value()) {
|
||||
const QString signingIdentifier = m_signingIdentifier();
|
||||
if (m_autoManagedSigning()) {
|
||||
const DevelopmentTeams teams = IosConfigurations::developmentTeams();
|
||||
const QString teamId = signingIdentifier.isEmpty() && !teams.isEmpty()
|
||||
? teams.first()->identifier()
|
||||
|
@@ -1,5 +1,6 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <qmakeprojectmanager/qmakebuildconfiguration.h>
|
||||
@@ -7,42 +8,12 @@
|
||||
|
||||
namespace Ios::Internal {
|
||||
|
||||
class IosQmakeBuildConfiguration : public QmakeProjectManager::QmakeBuildConfiguration
|
||||
{
|
||||
public:
|
||||
IosQmakeBuildConfiguration(ProjectExplorer::Target *target, Utils::Id id);
|
||||
|
||||
private:
|
||||
QList<ProjectExplorer::NamedWidget *> createSubConfigWidgets() override;
|
||||
bool fromMap(const QVariantMap &map) override;
|
||||
|
||||
void updateQmakeCommand();
|
||||
|
||||
Utils::StringAspect *m_signingIdentifier = nullptr;
|
||||
Utils::BoolAspect *m_autoManagedSigning = nullptr;
|
||||
};
|
||||
|
||||
class IosQmakeBuildConfigurationFactory : public QmakeProjectManager::QmakeBuildConfigurationFactory
|
||||
{
|
||||
public:
|
||||
IosQmakeBuildConfigurationFactory();
|
||||
};
|
||||
|
||||
class IosCMakeBuildConfiguration : public CMakeProjectManager::CMakeBuildConfiguration
|
||||
{
|
||||
public:
|
||||
IosCMakeBuildConfiguration(ProjectExplorer::Target *target, Utils::Id id);
|
||||
|
||||
private:
|
||||
QList<ProjectExplorer::NamedWidget *> createSubConfigWidgets() override;
|
||||
bool fromMap(const QVariantMap &map) override;
|
||||
|
||||
CMakeProjectManager::CMakeConfig signingFlags() const final;
|
||||
|
||||
Utils::StringAspect *m_signingIdentifier = nullptr;
|
||||
Utils::BoolAspect *m_autoManagedSigning = nullptr;
|
||||
};
|
||||
|
||||
class IosCMakeBuildConfigurationFactory : public CMakeProjectManager::CMakeBuildConfigurationFactory
|
||||
{
|
||||
public:
|
||||
|
Reference in New Issue
Block a user