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(Target *parent)
: BuildConfiguration(parent, Constants::AUTOTOOLS_BC_ID)
AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent, Core::Id id)
: BuildConfiguration(parent, id)
{
// /<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.
@@ -111,7 +111,9 @@ NamedWidget *AutotoolsBuildConfiguration::createConfigWidget()
AutotoolsBuildConfigurationFactory::AutotoolsBuildConfigurationFactory()
{
registerBuildConfiguration<AutotoolsBuildConfiguration>(AUTOTOOLS_BC_ID);
registerBuildConfiguration<AutotoolsBuildConfiguration>
("AutotoolsProjectManager.AutotoolsBuildConfiguration");
setSupportedProjectType(Constants::AUTOTOOLS_PROJECT_ID);
setSupportedProjectMimeTypeName(Constants::MAKEFILE_MIMETYPE);
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -41,7 +41,7 @@ class GenericBuildConfiguration : public ProjectExplorer::BuildConfiguration
Q_OBJECT
friend class ProjectExplorer::IBuildConfigurationFactory;
explicit GenericBuildConfiguration(ProjectExplorer::Target *parent);
GenericBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
void initialize(const ProjectExplorer::BuildInfo *info) 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 autoManagedSigningKey[] = "Ios.AutoManagedSigning";
IosBuildConfiguration::IosBuildConfiguration(Target *target)
: QmakeBuildConfiguration(target)
IosBuildConfiguration::IosBuildConfiguration(Target *target, Core::Id id)
: QmakeBuildConfiguration(target, id)
{
}

View File

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

View File

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

View File

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

View File

@@ -159,7 +159,7 @@ protected:
void registerBuildConfiguration(Core::Id buildConfigId)
{
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;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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