forked from qt-creator/qt-creator
BuildConfigurationFactory: Introduce priorities
Introduce priorities for build configuration factories. This way plugins can register specialized build configuration factories, that e.g. can provide additional build steps. A negative priority signifies that a factory is not prepared to handle a request, the default build configuration factory shipped by the build system plugin will report a priority of 0. Add 100 to that for each specialization you add (e.g. a remote linux buildconfiguration factory would report 100, a specialization of that for mer will should report 200, etc.). Change-Id: I141a7a5a79166afdb7657d46eb7e86bd18d3abf6 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Michal Klocek <michal.klocek@digia.com>
This commit is contained in:
committed by
Michal Klocek
parent
321ac6cc51
commit
ac6a3fd5c7
@@ -89,31 +89,28 @@ AutotoolsBuildConfigurationFactory::AutotoolsBuildConfigurationFactory(QObject *
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AutotoolsBuildConfigurationFactory::canCreate(const Target *parent) const
|
int AutotoolsBuildConfigurationFactory::priority(const Target *parent) const
|
||||||
{
|
{
|
||||||
return canHandle(parent);
|
return canHandle(parent) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableBuilds(const Target *parent) const
|
QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableBuilds(const Target *parent) const
|
||||||
{
|
{
|
||||||
QList<BuildInfo *> result;
|
QList<BuildInfo *> result;
|
||||||
QTC_ASSERT(canCreate(parent), return result);
|
|
||||||
|
|
||||||
result << createBuildInfo(parent->kit(),
|
result << createBuildInfo(parent->kit(),
|
||||||
Utils::FileName::fromString(parent->project()->projectDirectory()));
|
Utils::FileName::fromString(parent->project()->projectDirectory()));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AutotoolsBuildConfigurationFactory::canSetup(const Kit *k, const QString &projectPath) const
|
int AutotoolsBuildConfigurationFactory::priority(const Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
return k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
return (k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
||||||
.matchesType(QLatin1String(Constants::MAKEFILE_MIMETYPE));
|
.matchesType(QLatin1String(Constants::MAKEFILE_MIMETYPE))) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
|
QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
QList<BuildInfo *> result;
|
QList<BuildInfo *> result;
|
||||||
QTC_ASSERT(canSetup(k, projectPath), return result);
|
|
||||||
BuildInfo *info = createBuildInfo(k,
|
BuildInfo *info = createBuildInfo(k,
|
||||||
Utils::FileName::fromString(AutotoolsProject::defaultBuildDirectory(projectPath)));
|
Utils::FileName::fromString(AutotoolsProject::defaultBuildDirectory(projectPath)));
|
||||||
//: The name of the build configuration created by default for a autotools project.
|
//: The name of the build configuration created by default for a autotools project.
|
||||||
|
|||||||
@@ -69,9 +69,9 @@ class AutotoolsBuildConfigurationFactory : public ProjectExplorer::IBuildConfigu
|
|||||||
public:
|
public:
|
||||||
explicit AutotoolsBuildConfigurationFactory(QObject *parent = 0);
|
explicit AutotoolsBuildConfigurationFactory(QObject *parent = 0);
|
||||||
|
|
||||||
bool canCreate(const ProjectExplorer::Target *parent) const;
|
int priority(const ProjectExplorer::Target *parent) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
||||||
bool canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
int priority(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
||||||
const QString &projectPath) const;
|
const QString &projectPath) const;
|
||||||
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
||||||
|
|||||||
@@ -122,15 +122,14 @@ CMakeBuildConfigurationFactory::~CMakeBuildConfigurationFactory()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CMakeBuildConfigurationFactory::canCreate(const ProjectExplorer::Target *parent) const
|
int CMakeBuildConfigurationFactory::priority(const ProjectExplorer::Target *parent) const
|
||||||
{
|
{
|
||||||
return canHandle(parent);
|
return canHandle(parent) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableBuilds(const ProjectExplorer::Target *parent) const
|
QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableBuilds(const ProjectExplorer::Target *parent) const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::BuildInfo *> result;
|
QList<ProjectExplorer::BuildInfo *> result;
|
||||||
QTC_ASSERT(canCreate(parent), return result);
|
|
||||||
|
|
||||||
CMakeBuildInfo *info = createBuildInfo(parent->kit(),
|
CMakeBuildInfo *info = createBuildInfo(parent->kit(),
|
||||||
parent->project()->projectDirectory());
|
parent->project()->projectDirectory());
|
||||||
@@ -138,18 +137,16 @@ QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableBui
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CMakeBuildConfigurationFactory::canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const
|
int CMakeBuildConfigurationFactory::priority(const ProjectExplorer::Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
return k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
return (k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
||||||
.matchesType(QLatin1String(Constants::CMAKEMIMETYPE));
|
.matchesType(QLatin1String(Constants::CMAKEMIMETYPE))) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableSetups(const ProjectExplorer::Kit *k,
|
QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableSetups(const ProjectExplorer::Kit *k,
|
||||||
const QString &projectPath) const
|
const QString &projectPath) const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::BuildInfo *> result;
|
QList<ProjectExplorer::BuildInfo *> result;
|
||||||
QTC_ASSERT(canSetup(k, projectPath), return result);
|
|
||||||
|
|
||||||
CMakeBuildInfo *info = createBuildInfo(k, ProjectExplorer::Project::projectDirectory(projectPath));
|
CMakeBuildInfo *info = createBuildInfo(k, ProjectExplorer::Project::projectDirectory(projectPath));
|
||||||
//: The name of the build configuration created by default for a cmake project.
|
//: The name of the build configuration created by default for a cmake project.
|
||||||
info->displayName = tr("Default");
|
info->displayName = tr("Default");
|
||||||
@@ -163,7 +160,6 @@ QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableSet
|
|||||||
ProjectExplorer::BuildConfiguration *CMakeBuildConfigurationFactory::create(ProjectExplorer::Target *parent,
|
ProjectExplorer::BuildConfiguration *CMakeBuildConfigurationFactory::create(ProjectExplorer::Target *parent,
|
||||||
const ProjectExplorer::BuildInfo *info) const
|
const ProjectExplorer::BuildInfo *info) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(canCreate(parent), return 0);
|
|
||||||
QTC_ASSERT(info->factory() == this, return 0);
|
QTC_ASSERT(info->factory() == this, return 0);
|
||||||
QTC_ASSERT(info->kitId == parent->kit()->id(), return 0);
|
QTC_ASSERT(info->kitId == parent->kit()->id(), return 0);
|
||||||
QTC_ASSERT(!info->displayName.isEmpty(), return 0);
|
QTC_ASSERT(!info->displayName.isEmpty(), return 0);
|
||||||
|
|||||||
@@ -85,9 +85,9 @@ public:
|
|||||||
CMakeBuildConfigurationFactory(QObject *parent = 0);
|
CMakeBuildConfigurationFactory(QObject *parent = 0);
|
||||||
~CMakeBuildConfigurationFactory();
|
~CMakeBuildConfigurationFactory();
|
||||||
|
|
||||||
bool canCreate(const ProjectExplorer::Target *parent) const;
|
int priority(const ProjectExplorer::Target *parent) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
||||||
bool canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
int priority(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
||||||
const QString &projectPath) const;
|
const QString &projectPath) const;
|
||||||
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
||||||
|
|||||||
@@ -87,31 +87,28 @@ GenericBuildConfigurationFactory::~GenericBuildConfigurationFactory()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GenericBuildConfigurationFactory::canCreate(const Target *parent) const
|
int GenericBuildConfigurationFactory::priority(const Target *parent) const
|
||||||
{
|
{
|
||||||
return canHandle(parent);
|
return canHandle(parent) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<BuildInfo *> GenericBuildConfigurationFactory::availableBuilds(const Target *parent) const
|
QList<BuildInfo *> GenericBuildConfigurationFactory::availableBuilds(const Target *parent) const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::BuildInfo *> result;
|
QList<ProjectExplorer::BuildInfo *> result;
|
||||||
QTC_ASSERT(canCreate(parent), return result);
|
|
||||||
|
|
||||||
BuildInfo *info = createBuildInfo(parent->kit(), Utils::FileName::fromString(parent->project()->projectDirectory()));
|
BuildInfo *info = createBuildInfo(parent->kit(), Utils::FileName::fromString(parent->project()->projectDirectory()));
|
||||||
result << info;
|
result << info;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GenericBuildConfigurationFactory::canSetup(const Kit *k, const QString &projectPath) const
|
int GenericBuildConfigurationFactory::priority(const Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
return k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
return (k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
||||||
.matchesType(QLatin1String(Constants::GENERICMIMETYPE));
|
.matchesType(QLatin1String(Constants::GENERICMIMETYPE))) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<BuildInfo *> GenericBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
|
QList<BuildInfo *> GenericBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
QList<BuildInfo *> result;
|
QList<BuildInfo *> result;
|
||||||
QTC_ASSERT(canSetup(k, projectPath), return result);
|
|
||||||
BuildInfo *info = createBuildInfo(k, Utils::FileName::fromString(ProjectExplorer::Project::projectDirectory(projectPath)));
|
BuildInfo *info = createBuildInfo(k, Utils::FileName::fromString(ProjectExplorer::Project::projectDirectory(projectPath)));
|
||||||
//: The name of the build configuration created by default for a generic project.
|
//: The name of the build configuration created by default for a generic project.
|
||||||
info->displayName = tr("Default");
|
info->displayName = tr("Default");
|
||||||
@@ -121,7 +118,6 @@ QList<BuildInfo *> GenericBuildConfigurationFactory::availableSetups(const Kit *
|
|||||||
|
|
||||||
BuildConfiguration *GenericBuildConfigurationFactory::create(Target *parent, const BuildInfo *info) const
|
BuildConfiguration *GenericBuildConfigurationFactory::create(Target *parent, const BuildInfo *info) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(canCreate(parent), return 0);
|
|
||||||
QTC_ASSERT(info->factory() == this, return 0);
|
QTC_ASSERT(info->factory() == this, return 0);
|
||||||
QTC_ASSERT(info->kitId == parent->kit()->id(), return 0);
|
QTC_ASSERT(info->kitId == parent->kit()->id(), return 0);
|
||||||
QTC_ASSERT(!info->displayName.isEmpty(), return 0);
|
QTC_ASSERT(!info->displayName.isEmpty(), return 0);
|
||||||
|
|||||||
@@ -72,9 +72,9 @@ public:
|
|||||||
explicit GenericBuildConfigurationFactory(QObject *parent = 0);
|
explicit GenericBuildConfigurationFactory(QObject *parent = 0);
|
||||||
~GenericBuildConfigurationFactory();
|
~GenericBuildConfigurationFactory();
|
||||||
|
|
||||||
bool canCreate(const ProjectExplorer::Target *parent) const;
|
int priority(const ProjectExplorer::Target *parent) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
||||||
bool canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
int priority(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
||||||
const QString &projectPath) const;
|
const QString &projectPath) const;
|
||||||
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
||||||
|
|||||||
@@ -346,11 +346,16 @@ IBuildConfigurationFactory *IBuildConfigurationFactory::find(Kit *k, const QStri
|
|||||||
{
|
{
|
||||||
QList<IBuildConfigurationFactory *> factories
|
QList<IBuildConfigurationFactory *> factories
|
||||||
= ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>();
|
= ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>();
|
||||||
foreach (IBuildConfigurationFactory *factory, factories) {
|
IBuildConfigurationFactory *factory = 0;
|
||||||
if (factory->canSetup(k, projectPath))
|
int priority = -1;
|
||||||
return factory;
|
foreach (IBuildConfigurationFactory *i, factories) {
|
||||||
|
int iPriority = i->priority(k, projectPath);
|
||||||
|
if (iPriority > priority) {
|
||||||
|
factory = i;
|
||||||
|
priority = iPriority;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
// create
|
// create
|
||||||
@@ -358,11 +363,16 @@ IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent)
|
|||||||
{
|
{
|
||||||
QList<IBuildConfigurationFactory *> factories
|
QList<IBuildConfigurationFactory *> factories
|
||||||
= ExtensionSystem::PluginManager::getObjects<IBuildConfigurationFactory>();
|
= ExtensionSystem::PluginManager::getObjects<IBuildConfigurationFactory>();
|
||||||
foreach (IBuildConfigurationFactory *factory, factories) {
|
IBuildConfigurationFactory *factory = 0;
|
||||||
if (factory->canCreate(parent))
|
int priority = -1;
|
||||||
return factory;
|
foreach (IBuildConfigurationFactory *i, factories) {
|
||||||
|
int iPriority = i->priority(parent);
|
||||||
|
if (iPriority > priority) {
|
||||||
|
factory = i;
|
||||||
|
priority = iPriority;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
// clone
|
// clone
|
||||||
|
|||||||
@@ -128,15 +128,15 @@ public:
|
|||||||
explicit IBuildConfigurationFactory(QObject *parent = 0);
|
explicit IBuildConfigurationFactory(QObject *parent = 0);
|
||||||
virtual ~IBuildConfigurationFactory();
|
virtual ~IBuildConfigurationFactory();
|
||||||
|
|
||||||
// Used to see whether any BuildInfo is available on this factory for a given target.
|
// The priority is negative if this factory can not create anything for the target.
|
||||||
virtual bool canCreate(const Target *parent) const = 0;
|
// It is 0 for the "default" factory that wants to handle the target.
|
||||||
|
// Add 100 for each specialization.
|
||||||
|
virtual int priority(const Target *parent) const = 0;
|
||||||
// List of build information that can be used to create a new build configuration via
|
// List of build information that can be used to create a new build configuration via
|
||||||
// "Add Build Configuration" button.
|
// "Add Build Configuration" button.
|
||||||
virtual QList<BuildInfo *> availableBuilds(const Target *parent) const = 0;
|
virtual QList<BuildInfo *> availableBuilds(const Target *parent) const = 0;
|
||||||
|
|
||||||
// Used to see whether this factory can produce any BuildConfigurations for a kit when
|
virtual int priority(const Kit *k, const QString &projectPath) const = 0;
|
||||||
// setting up the given project.
|
|
||||||
virtual bool canSetup(const Kit *k, const QString &projectPath) const = 0;
|
|
||||||
// List of build information that can be used to initially set up a new build configuration.
|
// List of build information that can be used to initially set up a new build configuration.
|
||||||
virtual QList<BuildInfo *> availableSetups(const Kit *k, const QString &projectPath) const = 0;
|
virtual QList<BuildInfo *> availableSetups(const Kit *k, const QString &projectPath) const = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -254,15 +254,14 @@ ProjectExplorer::BuildInfo *QbsBuildConfigurationFactory::createBuildInfo(const
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QbsBuildConfigurationFactory::canCreate(const ProjectExplorer::Target *parent) const
|
int QbsBuildConfigurationFactory::priority(const ProjectExplorer::Target *parent) const
|
||||||
{
|
{
|
||||||
return canHandle(parent);
|
return canHandle(parent) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<ProjectExplorer::BuildInfo *> QbsBuildConfigurationFactory::availableBuilds(const ProjectExplorer::Target *parent) const
|
QList<ProjectExplorer::BuildInfo *> QbsBuildConfigurationFactory::availableBuilds(const ProjectExplorer::Target *parent) const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::BuildInfo *> result;
|
QList<ProjectExplorer::BuildInfo *> result;
|
||||||
QTC_ASSERT(canCreate(parent), return result);
|
|
||||||
|
|
||||||
const Utils::FileName buildDirectory = QbsProject::defaultBuildDirectory(parent->project()->projectFilePath());
|
const Utils::FileName buildDirectory = QbsProject::defaultBuildDirectory(parent->project()->projectFilePath());
|
||||||
|
|
||||||
@@ -273,16 +272,15 @@ QList<ProjectExplorer::BuildInfo *> QbsBuildConfigurationFactory::availableBuild
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QbsBuildConfigurationFactory::canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const
|
int QbsBuildConfigurationFactory::priority(const ProjectExplorer::Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
return k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
return (k && Core::ICore::findByFile(QFileInfo(projectPath))
|
||||||
.matchesType(QLatin1String(Constants::MIME_TYPE));
|
.matchesType(QLatin1String(Constants::MIME_TYPE))) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<ProjectExplorer::BuildInfo *> QbsBuildConfigurationFactory::availableSetups(const ProjectExplorer::Kit *k, const QString &projectPath) const
|
QList<ProjectExplorer::BuildInfo *> QbsBuildConfigurationFactory::availableSetups(const ProjectExplorer::Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::BuildInfo *> result;
|
QList<ProjectExplorer::BuildInfo *> result;
|
||||||
QTC_ASSERT(canSetup(k, projectPath), return result);
|
|
||||||
|
|
||||||
const Utils::FileName buildDirectory = QbsProject::defaultBuildDirectory(projectPath);
|
const Utils::FileName buildDirectory = QbsProject::defaultBuildDirectory(projectPath);
|
||||||
|
|
||||||
@@ -302,7 +300,6 @@ QList<ProjectExplorer::BuildInfo *> QbsBuildConfigurationFactory::availableSetup
|
|||||||
ProjectExplorer::BuildConfiguration *QbsBuildConfigurationFactory::create(ProjectExplorer::Target *parent,
|
ProjectExplorer::BuildConfiguration *QbsBuildConfigurationFactory::create(ProjectExplorer::Target *parent,
|
||||||
const ProjectExplorer::BuildInfo *info) const
|
const ProjectExplorer::BuildInfo *info) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(canCreate(parent), return 0);
|
|
||||||
QTC_ASSERT(info->factory() == this, return 0);
|
QTC_ASSERT(info->factory() == this, return 0);
|
||||||
QTC_ASSERT(info->kitId == parent->kit()->id(), return 0);
|
QTC_ASSERT(info->kitId == parent->kit()->id(), return 0);
|
||||||
QTC_ASSERT(!info->displayName.isEmpty(), return 0);
|
QTC_ASSERT(!info->displayName.isEmpty(), return 0);
|
||||||
|
|||||||
@@ -112,9 +112,9 @@ public:
|
|||||||
explicit QbsBuildConfigurationFactory(QObject *parent = 0);
|
explicit QbsBuildConfigurationFactory(QObject *parent = 0);
|
||||||
~QbsBuildConfigurationFactory();
|
~QbsBuildConfigurationFactory();
|
||||||
|
|
||||||
bool canCreate(const ProjectExplorer::Target *parent) const;
|
int priority(const ProjectExplorer::Target *parent) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
||||||
bool canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
int priority(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
||||||
const QString &projectPath) const;
|
const QString &projectPath) const;
|
||||||
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
||||||
|
|||||||
@@ -569,16 +569,14 @@ QmakeBuildInfo *Qt4BuildConfigurationFactory::createBuildInfo(const Kit *k,
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Qt4BuildConfigurationFactory::canCreate(const Target *parent) const
|
int Qt4BuildConfigurationFactory::priority(const Target *parent) const
|
||||||
{
|
{
|
||||||
return canHandle(parent);
|
return canHandle(parent) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<BuildInfo *> Qt4BuildConfigurationFactory::availableBuilds(const Target *parent) const
|
QList<BuildInfo *> Qt4BuildConfigurationFactory::availableBuilds(const Target *parent) const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::BuildInfo *> result;
|
QList<ProjectExplorer::BuildInfo *> result;
|
||||||
QTC_ASSERT(canCreate(parent), return result);
|
|
||||||
|
|
||||||
QmakeBuildInfo *info = createBuildInfo(parent->kit(), parent->project()->projectFilePath(),
|
QmakeBuildInfo *info = createBuildInfo(parent->kit(), parent->project()->projectFilePath(),
|
||||||
BuildConfiguration::Debug);
|
BuildConfiguration::Debug);
|
||||||
info->displayName.clear(); // ask for a name
|
info->displayName.clear(); // ask for a name
|
||||||
@@ -588,18 +586,15 @@ QList<BuildInfo *> Qt4BuildConfigurationFactory::availableBuilds(const Target *p
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Qt4BuildConfigurationFactory::canSetup(const Kit *k, const QString &projectPath) const
|
int Qt4BuildConfigurationFactory::priority(const Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
return k && QtSupport::QtKitInformation::qtVersion(k)
|
return (k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
||||||
&& Core::MimeDatabase::findByFile(QFileInfo(projectPath))
|
.matchesType(QLatin1String(Constants::PROFILE_MIMETYPE))) ? 0 : -1;
|
||||||
.matchesType(QLatin1String(Constants::PROFILE_MIMETYPE));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<BuildInfo *> Qt4BuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
|
QList<BuildInfo *> Qt4BuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
|
||||||
{
|
{
|
||||||
QList<ProjectExplorer::BuildInfo *> result;
|
QList<ProjectExplorer::BuildInfo *> result;
|
||||||
QTC_ASSERT(canSetup(k, projectPath), return result);
|
|
||||||
|
|
||||||
result << createBuildInfo(k, projectPath, ProjectExplorer::BuildConfiguration::Debug);
|
result << createBuildInfo(k, projectPath, ProjectExplorer::BuildConfiguration::Debug);
|
||||||
result << createBuildInfo(k, projectPath, ProjectExplorer::BuildConfiguration::Release);
|
result << createBuildInfo(k, projectPath, ProjectExplorer::BuildConfiguration::Release);
|
||||||
|
|
||||||
@@ -608,7 +603,6 @@ QList<BuildInfo *> Qt4BuildConfigurationFactory::availableSetups(const Kit *k, c
|
|||||||
|
|
||||||
BuildConfiguration *Qt4BuildConfigurationFactory::create(Target *parent, const BuildInfo *info) const
|
BuildConfiguration *Qt4BuildConfigurationFactory::create(Target *parent, const BuildInfo *info) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(canCreate(parent), return 0);
|
|
||||||
QTC_ASSERT(info->factory() == this, return 0);
|
QTC_ASSERT(info->factory() == this, return 0);
|
||||||
QTC_ASSERT(info->kitId == parent->kit()->id(), return 0);
|
QTC_ASSERT(info->kitId == parent->kit()->id(), return 0);
|
||||||
QTC_ASSERT(!info->displayName.isEmpty(), return 0);
|
QTC_ASSERT(!info->displayName.isEmpty(), return 0);
|
||||||
|
|||||||
@@ -163,9 +163,9 @@ public:
|
|||||||
explicit Qt4BuildConfigurationFactory(QObject *parent = 0);
|
explicit Qt4BuildConfigurationFactory(QObject *parent = 0);
|
||||||
~Qt4BuildConfigurationFactory();
|
~Qt4BuildConfigurationFactory();
|
||||||
|
|
||||||
bool canCreate(const ProjectExplorer::Target *parent) const;
|
int priority(const ProjectExplorer::Target *parent) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
|
||||||
bool canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
int priority(const ProjectExplorer::Kit *k, const QString &projectPath) const;
|
||||||
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
|
||||||
const QString &projectPath) const;
|
const QString &projectPath) const;
|
||||||
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
|
||||||
|
|||||||
Reference in New Issue
Block a user