forked from qt-creator/qt-creator
ProjectExplorer: Introduce Target::buildTarget(buildKey)
A convenience wrapper for applicationTargets().buildTargetInfo(buildKey), the only context using the BuildTargetInfoList member. Also, only one of the free comparison functions is ever used, only in one place. Inline it there. Change-Id: I7565e9d51d429af34352649e235243e5b3328fe9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -157,7 +157,7 @@ ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard)
|
|||||||
void ChooseDirectoryPage::checkPackageSourceDir()
|
void ChooseDirectoryPage::checkPackageSourceDir()
|
||||||
{
|
{
|
||||||
const QString buildKey = m_wizard->buildKey();
|
const QString buildKey = m_wizard->buildKey();
|
||||||
const BuildTargetInfo bti = m_wizard->target()->applicationTargets().buildTargetInfo(buildKey);
|
const BuildTargetInfo bti = m_wizard->target()->buildTarget(buildKey);
|
||||||
const QString projectDir = bti.projectFilePath.toFileInfo().absolutePath();
|
const QString projectDir = bti.projectFilePath.toFileInfo().absolutePath();
|
||||||
|
|
||||||
const QString newDir = m_androidPackageSourceDir->path();
|
const QString newDir = m_androidPackageSourceDir->path();
|
||||||
@@ -181,7 +181,7 @@ void ChooseDirectoryPage::initializePage()
|
|||||||
{
|
{
|
||||||
const Target *target = m_wizard->target();
|
const Target *target = m_wizard->target();
|
||||||
const QString buildKey = m_wizard->buildKey();
|
const QString buildKey = m_wizard->buildKey();
|
||||||
const BuildTargetInfo bti = target->applicationTargets().buildTargetInfo(buildKey);
|
const BuildTargetInfo bti = target->buildTarget(buildKey);
|
||||||
const QString projectDir = bti.projectFilePath.toFileInfo().absolutePath();
|
const QString projectDir = bti.projectFilePath.toFileInfo().absolutePath();
|
||||||
|
|
||||||
QString androidPackageDir;
|
QString androidPackageDir;
|
||||||
@@ -357,7 +357,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles()
|
|||||||
|
|
||||||
if (androidPackageDir.isEmpty()) {
|
if (androidPackageDir.isEmpty()) {
|
||||||
// and now time for some magic
|
// and now time for some magic
|
||||||
const BuildTargetInfo bti = m_target->applicationTargets().buildTargetInfo(m_buildKey);
|
const BuildTargetInfo bti = m_target->buildTarget(m_buildKey);
|
||||||
const QString value = "$$PWD/" + bti.projectFilePath.toFileInfo().absoluteDir().relativeFilePath(m_directory);
|
const QString value = "$$PWD/" + bti.projectFilePath.toFileInfo().absoluteDir().relativeFilePath(m_directory);
|
||||||
bool result = node->setData(Android::Constants::AndroidPackageSourceDir, value);
|
bool result = node->setData(Android::Constants::AndroidPackageSourceDir, value);
|
||||||
|
|
||||||
|
@@ -93,8 +93,7 @@ void TestConfiguration::completeTestInformation(ProjectExplorer::RunConfiguratio
|
|||||||
m_runnable = rc->runnable();
|
m_runnable = rc->runnable();
|
||||||
m_displayName = rc->displayName();
|
m_displayName = rc->displayName();
|
||||||
|
|
||||||
const QString buildKey = rc->buildKey();
|
BuildTargetInfo targetInfo = rc->buildTargetInfo();
|
||||||
BuildTargetInfo targetInfo = target->applicationTargets().buildTargetInfo(buildKey);
|
|
||||||
if (!targetInfo.targetFilePath.isEmpty())
|
if (!targetInfo.targetFilePath.isEmpty())
|
||||||
m_runnable.executable = ensureExeEnding(targetInfo.targetFilePath.toString());
|
m_runnable.executable = ensureExeEnding(targetInfo.targetFilePath.toString());
|
||||||
|
|
||||||
|
@@ -62,7 +62,7 @@ BareMetalRunConfiguration::BareMetalRunConfiguration(Target *target, Core::Id id
|
|||||||
|
|
||||||
void BareMetalRunConfiguration::updateTargetInformation()
|
void BareMetalRunConfiguration::updateTargetInformation()
|
||||||
{
|
{
|
||||||
const BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
|
const BuildTargetInfo bti = buildTargetInfo();
|
||||||
aspect<ExecutableAspect>()->setExecutable(bti.targetFilePath);
|
aspect<ExecutableAspect>()->setExecutable(bti.targetFilePath);
|
||||||
emit enabledChanged();
|
emit enabledChanged();
|
||||||
}
|
}
|
||||||
|
@@ -97,7 +97,7 @@ QString CMakeRunConfiguration::disabledReason() const
|
|||||||
|
|
||||||
void CMakeRunConfiguration::updateTargetInformation()
|
void CMakeRunConfiguration::updateTargetInformation()
|
||||||
{
|
{
|
||||||
BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
|
BuildTargetInfo bti = buildTargetInfo();
|
||||||
aspect<ExecutableAspect>()->setExecutable(bti.targetFilePath);
|
aspect<ExecutableAspect>()->setExecutable(bti.targetFilePath);
|
||||||
aspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(bti.workingDirectory);
|
aspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(bti.workingDirectory);
|
||||||
aspect<LocalEnvironmentAspect>()->buildEnvironmentHasChanged();
|
aspect<LocalEnvironmentAspect>()->buildEnvironmentHasChanged();
|
||||||
|
@@ -79,23 +79,7 @@ inline uint qHash(const BuildTargetInfo &ti)
|
|||||||
class PROJECTEXPLORER_EXPORT BuildTargetInfoList
|
class PROJECTEXPLORER_EXPORT BuildTargetInfoList
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BuildTargetInfo buildTargetInfo(const QString &buildKey) {
|
|
||||||
return Utils::findOrDefault(list, [&buildKey](const BuildTargetInfo &ti) {
|
|
||||||
return ti.buildKey == buildKey;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<BuildTargetInfo> list;
|
QList<BuildTargetInfo> list;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline bool operator==(const BuildTargetInfoList &til1, const BuildTargetInfoList &til2)
|
|
||||||
{
|
|
||||||
return til1.list.toSet() == til2.list.toSet();
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool operator!=(const BuildTargetInfoList &til1, const BuildTargetInfoList &til2)
|
|
||||||
{
|
|
||||||
return !(til1 == til2);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace ProjectExplorer
|
} // namespace ProjectExplorer
|
||||||
|
@@ -313,7 +313,7 @@ QVariantMap RunConfiguration::toMap() const
|
|||||||
|
|
||||||
BuildTargetInfo RunConfiguration::buildTargetInfo() const
|
BuildTargetInfo RunConfiguration::buildTargetInfo() const
|
||||||
{
|
{
|
||||||
return target()->applicationTargets().buildTargetInfo(m_buildKey);
|
return target()->buildTarget(m_buildKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RunConfiguration::fromMap(const QVariantMap &map)
|
bool RunConfiguration::fromMap(const QVariantMap &map)
|
||||||
|
@@ -347,7 +347,7 @@ DeploymentData Target::deploymentData() const
|
|||||||
|
|
||||||
void Target::setApplicationTargets(const BuildTargetInfoList &appTargets)
|
void Target::setApplicationTargets(const BuildTargetInfoList &appTargets)
|
||||||
{
|
{
|
||||||
if (d->m_appTargets != appTargets) {
|
if (appTargets.list.toSet() != d->m_appTargets.list.toSet()) {
|
||||||
d->m_appTargets = appTargets;
|
d->m_appTargets = appTargets;
|
||||||
emit applicationTargetsChanged();
|
emit applicationTargetsChanged();
|
||||||
}
|
}
|
||||||
@@ -358,6 +358,13 @@ BuildTargetInfoList Target::applicationTargets() const
|
|||||||
return d->m_appTargets;
|
return d->m_appTargets;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BuildTargetInfo Target::buildTarget(const QString &buildKey) const
|
||||||
|
{
|
||||||
|
return Utils::findOrDefault(d->m_appTargets.list, [&buildKey](const BuildTargetInfo &ti) {
|
||||||
|
return ti.buildKey == buildKey;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QList<ProjectConfiguration *> Target::projectConfigurations() const
|
QList<ProjectConfiguration *> Target::projectConfigurations() const
|
||||||
{
|
{
|
||||||
QList<ProjectConfiguration *> result;
|
QList<ProjectConfiguration *> result;
|
||||||
|
@@ -37,6 +37,7 @@ QT_FORWARD_DECLARE_CLASS(QIcon)
|
|||||||
namespace ProjectExplorer {
|
namespace ProjectExplorer {
|
||||||
class BuildConfiguration;
|
class BuildConfiguration;
|
||||||
class BuildTargetInfoList;
|
class BuildTargetInfoList;
|
||||||
|
class BuildTargetInfo;
|
||||||
class DeployConfiguration;
|
class DeployConfiguration;
|
||||||
class DeploymentData;
|
class DeploymentData;
|
||||||
class Kit;
|
class Kit;
|
||||||
@@ -82,6 +83,7 @@ public:
|
|||||||
|
|
||||||
void setApplicationTargets(const BuildTargetInfoList &appTargets);
|
void setApplicationTargets(const BuildTargetInfoList &appTargets);
|
||||||
BuildTargetInfoList applicationTargets() const;
|
BuildTargetInfoList applicationTargets() const;
|
||||||
|
BuildTargetInfo buildTarget(const QString &buildKey) const;
|
||||||
|
|
||||||
QList<ProjectConfiguration *> projectConfigurations() const;
|
QList<ProjectConfiguration *> projectConfigurations() const;
|
||||||
|
|
||||||
|
@@ -68,7 +68,7 @@ WinRtRunnerHelper::WinRtRunnerHelper(ProjectExplorer::RunWorker *runWorker, QStr
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const BuildTargetInfo bti = target->applicationTargets().buildTargetInfo(runConfiguration->buildKey());
|
const BuildTargetInfo bti = runConfiguration->buildTargetInfo();
|
||||||
m_executableFilePath = bti.targetFilePath.toString();
|
m_executableFilePath = bti.targetFilePath.toString();
|
||||||
|
|
||||||
if (m_executableFilePath.isEmpty()) {
|
if (m_executableFilePath.isEmpty()) {
|
||||||
|
Reference in New Issue
Block a user