ProjectExplorer: Pass id directly to BuildConfigurations

It's what the base class wants, and follows run and deploy precedence.

Change-Id: I26eff43337851702417e7e4284fc390b904060f6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
hjk
2018-05-04 16:52:21 +02:00
parent 1678e9eb1e
commit ce20bde99c
19 changed files with 33 additions and 36 deletions

View File

@@ -56,8 +56,8 @@ using namespace ProjectExplorer::Constants;
// AutotoolsBuildConfiguration // AutotoolsBuildConfiguration
AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent) AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent, Core::Id id)
: BuildConfiguration(parent, Constants::AUTOTOOLS_BC_ID) : BuildConfiguration(parent, id)
{ {
// /<foobar> is used so the un-changed check in setBuildDirectory() works correctly. // /<foobar> is used so the un-changed check in setBuildDirectory() works correctly.
// The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory. // The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory.
@@ -111,7 +111,9 @@ NamedWidget *AutotoolsBuildConfiguration::createConfigWidget()
AutotoolsBuildConfigurationFactory::AutotoolsBuildConfigurationFactory() AutotoolsBuildConfigurationFactory::AutotoolsBuildConfigurationFactory()
{ {
registerBuildConfiguration<AutotoolsBuildConfiguration>(AUTOTOOLS_BC_ID); registerBuildConfiguration<AutotoolsBuildConfiguration>
("AutotoolsProjectManager.AutotoolsBuildConfiguration");
setSupportedProjectType(Constants::AUTOTOOLS_PROJECT_ID); setSupportedProjectType(Constants::AUTOTOOLS_PROJECT_ID);
setSupportedProjectMimeTypeName(Constants::MAKEFILE_MIMETYPE); setSupportedProjectMimeTypeName(Constants::MAKEFILE_MIMETYPE);
} }

View File

@@ -39,7 +39,7 @@ class AutotoolsBuildConfiguration : public ProjectExplorer::BuildConfiguration
Q_OBJECT Q_OBJECT
friend class ProjectExplorer::IBuildConfigurationFactory; friend class ProjectExplorer::IBuildConfigurationFactory;
explicit AutotoolsBuildConfiguration(ProjectExplorer::Target *parent); AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
void initialize(const ProjectExplorer::BuildInfo *info) override; void initialize(const ProjectExplorer::BuildInfo *info) override;
ProjectExplorer::NamedWidget *createConfigWidget() override; ProjectExplorer::NamedWidget *createConfigWidget() override;

View File

@@ -34,9 +34,6 @@ namespace AutotoolsProjectManager {
namespace Constants { namespace Constants {
const char MAKEFILE_MIMETYPE[] = "text/x-makefile"; const char MAKEFILE_MIMETYPE[] = "text/x-makefile";
//BuildConfiguration
const char AUTOTOOLS_BC_ID[] = "AutotoolsProjectManager.AutotoolsBuildConfiguration";
//Project //Project
const char AUTOTOOLS_PROJECT_ID[] = "AutotoolsProjectManager.AutotoolsProject"; const char AUTOTOOLS_PROJECT_ID[] = "AutotoolsProjectManager.AutotoolsProject";
} // namespace Constants } // namespace Constants

View File

@@ -60,8 +60,8 @@ namespace Internal {
const char INITIAL_ARGUMENTS[] = "CMakeProjectManager.CMakeBuildConfiguration.InitialArgument"; // Obsolete since QtC 3.7 const char INITIAL_ARGUMENTS[] = "CMakeProjectManager.CMakeBuildConfiguration.InitialArgument"; // Obsolete since QtC 3.7
const char CONFIGURATION_KEY[] = "CMake.Configuration"; const char CONFIGURATION_KEY[] = "CMake.Configuration";
CMakeBuildConfiguration::CMakeBuildConfiguration(Target *parent) CMakeBuildConfiguration::CMakeBuildConfiguration(Target *parent, Core::Id id)
: BuildConfiguration(parent, Constants::CMAKE_BC_ID) : BuildConfiguration(parent, id)
{ {
CMakeProject *project = static_cast<CMakeProject *>(target()->project()); CMakeProject *project = static_cast<CMakeProject *>(target()->project());
setBuildDirectory(shadowBuildDirectory(project->projectFilePath(), setBuildDirectory(shadowBuildDirectory(project->projectFilePath(),
@@ -334,7 +334,8 @@ ProjectExplorer::NamedWidget *CMakeBuildConfiguration::createConfigWidget()
CMakeBuildConfigurationFactory::CMakeBuildConfigurationFactory() CMakeBuildConfigurationFactory::CMakeBuildConfigurationFactory()
{ {
registerBuildConfiguration<CMakeBuildConfiguration>(Constants::CMAKE_BC_ID); registerBuildConfiguration<CMakeBuildConfiguration>("CMakeProjectManager.CMakeBuildConfiguration");
setSupportedProjectType(CMakeProjectManager::Constants::CMAKEPROJECT_ID); setSupportedProjectType(CMakeProjectManager::Constants::CMAKEPROJECT_ID);
setSupportedProjectMimeTypeName(Constants::CMAKEPROJECTMIMETYPE); setSupportedProjectMimeTypeName(Constants::CMAKEPROJECTMIMETYPE);
} }

View File

@@ -47,7 +47,7 @@ class CMakeBuildConfiguration : public ProjectExplorer::BuildConfiguration
Q_OBJECT Q_OBJECT
friend class ProjectExplorer::IBuildConfigurationFactory; friend class ProjectExplorer::IBuildConfigurationFactory;
explicit CMakeBuildConfiguration(ProjectExplorer::Target *parent); CMakeBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
public: public:
void emitBuildTypeChanged(); void emitBuildTypeChanged();

View File

@@ -42,9 +42,6 @@ const char RUNCMAKECONTEXTMENU[] = "CMakeProject.RunCMakeContextMenu";
// Project // Project
const char CMAKEPROJECT_ID[] = "CMakeProjectManager.CMakeProject"; const char CMAKEPROJECT_ID[] = "CMakeProjectManager.CMakeProject";
// Buildconfiguration
const char CMAKE_BC_ID[] = "CMakeProjectManager.CMakeBuildConfiguration";
// Menu // Menu
const char M_CONTEXT[] = "CMakeEditor.ContextMenu"; const char M_CONTEXT[] = "CMakeEditor.ContextMenu";

View File

@@ -52,10 +52,8 @@ using namespace ProjectExplorer;
namespace GenericProjectManager { namespace GenericProjectManager {
namespace Internal { namespace Internal {
const char GENERIC_BC_ID[] = "GenericProjectManager.GenericBuildConfiguration"; GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id)
: BuildConfiguration(parent, id)
GenericBuildConfiguration::GenericBuildConfiguration(Target *parent)
: BuildConfiguration(parent, GENERIC_BC_ID)
{ {
updateCacheAndEmitEnvironmentChanged(); updateCacheAndEmitEnvironmentChanged();
} }
@@ -84,7 +82,9 @@ NamedWidget *GenericBuildConfiguration::createConfigWidget()
GenericBuildConfigurationFactory::GenericBuildConfigurationFactory() GenericBuildConfigurationFactory::GenericBuildConfigurationFactory()
{ {
registerBuildConfiguration<GenericBuildConfiguration>(GENERIC_BC_ID); registerBuildConfiguration<GenericBuildConfiguration>
("GenericProjectManager.GenericBuildConfiguration");
setSupportedProjectType(Constants::GENERICPROJECT_ID); setSupportedProjectType(Constants::GENERICPROJECT_ID);
setSupportedProjectMimeTypeName(Constants::GENERICMIMETYPE); setSupportedProjectMimeTypeName(Constants::GENERICMIMETYPE);
} }

View File

@@ -41,7 +41,7 @@ class GenericBuildConfiguration : public ProjectExplorer::BuildConfiguration
Q_OBJECT Q_OBJECT
friend class ProjectExplorer::IBuildConfigurationFactory; friend class ProjectExplorer::IBuildConfigurationFactory;
explicit GenericBuildConfiguration(ProjectExplorer::Target *parent); GenericBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
void initialize(const ProjectExplorer::BuildInfo *info) override; void initialize(const ProjectExplorer::BuildInfo *info) override;
ProjectExplorer::NamedWidget *createConfigWidget() override; ProjectExplorer::NamedWidget *createConfigWidget() override;

View File

@@ -49,8 +49,8 @@ const char qmakeProvisioningProfileSettings[] = "QMAKE_MAC_XCODE_SETTINGS+=qprof
const char signingIdentifierKey[] = "Ios.SigningIdentifier"; const char signingIdentifierKey[] = "Ios.SigningIdentifier";
const char autoManagedSigningKey[] = "Ios.AutoManagedSigning"; const char autoManagedSigningKey[] = "Ios.AutoManagedSigning";
IosBuildConfiguration::IosBuildConfiguration(Target *target) IosBuildConfiguration::IosBuildConfiguration(Target *target, Core::Id id)
: QmakeBuildConfiguration(target) : QmakeBuildConfiguration(target, id)
{ {
} }

View File

@@ -34,7 +34,7 @@ class IosBuildConfiguration : public QmakeProjectManager::QmakeBuildConfiguratio
Q_OBJECT Q_OBJECT
public: public:
explicit IosBuildConfiguration(ProjectExplorer::Target *target); IosBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
private: private:
QList<ProjectExplorer::NamedWidget *> createSubConfigWidgets() override; QList<ProjectExplorer::NamedWidget *> createSubConfigWidgets() override;

View File

@@ -70,8 +70,8 @@ static FileName defaultBuildDirectory(const Kit *k,
return result; return result;
} }
NimBuildConfiguration::NimBuildConfiguration(Target *target) NimBuildConfiguration::NimBuildConfiguration(Target *target, Core::Id id)
: BuildConfiguration(target, Constants::C_NIMBUILDCONFIGURATION_ID) : BuildConfiguration(target, id)
{ {
} }

View File

@@ -37,7 +37,7 @@ class NimBuildConfiguration : public ProjectExplorer::BuildConfiguration
Q_OBJECT Q_OBJECT
friend class ProjectExplorer::IBuildConfigurationFactory; friend class ProjectExplorer::IBuildConfigurationFactory;
explicit NimBuildConfiguration(ProjectExplorer::Target *target); NimBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
void initialize(const ProjectExplorer::BuildInfo *info) override; void initialize(const ProjectExplorer::BuildInfo *info) override;
ProjectExplorer::NamedWidget *createConfigWidget() override; ProjectExplorer::NamedWidget *createConfigWidget() override;

View File

@@ -159,7 +159,7 @@ protected:
void registerBuildConfiguration(Core::Id buildConfigId) void registerBuildConfiguration(Core::Id buildConfigId)
{ {
setObjectName(buildConfigId.toString() + "BuildConfigurationFactory"); setObjectName(buildConfigId.toString() + "BuildConfigurationFactory");
m_creator = [](Target *t) { return new BuildConfig(t); }; m_creator = [buildConfigId](Target *t) { return new BuildConfig(t, buildConfigId); };
m_buildConfigId = buildConfigId; m_buildConfigId = buildConfigId;
} }

View File

@@ -74,8 +74,8 @@ static FileName defaultBuildDirectory(const QString &projectFilePath, const Kit
// QbsBuildConfiguration: // QbsBuildConfiguration:
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
QbsBuildConfiguration::QbsBuildConfiguration(Target *target) QbsBuildConfiguration::QbsBuildConfiguration(Target *target, Core::Id id)
: BuildConfiguration(target, Constants::QBS_BC_ID) : BuildConfiguration(target, id)
{ {
connect(project(), &Project::parsingStarted, this, &BuildConfiguration::enabledChanged); connect(project(), &Project::parsingStarted, this, &BuildConfiguration::enabledChanged);
connect(project(), &Project::parsingFinished, this, &BuildConfiguration::enabledChanged); connect(project(), &Project::parsingFinished, this, &BuildConfiguration::enabledChanged);

View File

@@ -46,7 +46,7 @@ class QbsBuildConfiguration : public ProjectExplorer::BuildConfiguration
Q_OBJECT Q_OBJECT
friend class ProjectExplorer::IBuildConfigurationFactory; friend class ProjectExplorer::IBuildConfigurationFactory;
explicit QbsBuildConfiguration(ProjectExplorer::Target *target); QbsBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
public: public:
void initialize(const ProjectExplorer::BuildInfo *info) override; void initialize(const ProjectExplorer::BuildInfo *info) override;

View File

@@ -59,8 +59,8 @@ AndroidQmakeBuildConfigurationFactory::AndroidQmakeBuildConfigurationFactory()
// AndroidQmakeBuildConfiguration // AndroidQmakeBuildConfiguration
AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target) AndroidQmakeBuildConfiguration::AndroidQmakeBuildConfiguration(Target *target, Core::Id id)
: QmakeBuildConfiguration(target) : QmakeBuildConfiguration(target, id)
{ {
updateCacheAndEmitEnvironmentChanged(); updateCacheAndEmitEnvironmentChanged();
connect(target->project(), &Project::parsingFinished, this, [this] { connect(target->project(), &Project::parsingFinished, this, [this] {

View File

@@ -41,7 +41,7 @@ class AndroidQmakeBuildConfiguration : public QmakeProjectManager::QmakeBuildCon
Q_OBJECT Q_OBJECT
public: public:
explicit AndroidQmakeBuildConfiguration(ProjectExplorer::Target *target); AndroidQmakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
void initialize(const ProjectExplorer::BuildInfo *info) override; void initialize(const ProjectExplorer::BuildInfo *info) override;
void addToEnvironment(Utils::Environment &env) const override; void addToEnvironment(Utils::Environment &env) const override;

View File

@@ -98,8 +98,8 @@ const char BUILD_CONFIGURATION_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.
enum { debug = 0 }; enum { debug = 0 };
QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target) QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Core::Id id)
: BuildConfiguration(target, Constants::QMAKE_BC_ID) : BuildConfiguration(target, id)
{ {
connect(this, &BuildConfiguration::buildDirectoryChanged, connect(this, &BuildConfiguration::buildDirectoryChanged,
this, &QmakeBuildConfiguration::emitProFileEvaluateNeeded); this, &QmakeBuildConfiguration::emitProFileEvaluateNeeded);

View File

@@ -47,7 +47,7 @@ class QMAKEPROJECTMANAGER_EXPORT QmakeBuildConfiguration : public ProjectExplore
Q_OBJECT Q_OBJECT
public: public:
explicit QmakeBuildConfiguration(ProjectExplorer::Target *target); QmakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
~QmakeBuildConfiguration() override; ~QmakeBuildConfiguration() override;
void initialize(const ProjectExplorer::BuildInfo *info) override; void initialize(const ProjectExplorer::BuildInfo *info) override;