forked from qt-creator/qt-creator
QtSupport: Simplify use of QtVersionFactory::create()
Use two setters, one already pre-existing, to set autodetection data instead of passing that through the create/contructor chain. Change-Id: I8f9bdf2f82518aae765327a823bdea44210c2f96 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -50,8 +50,8 @@ AndroidQtVersion::AndroidQtVersion()
|
||||
{
|
||||
}
|
||||
|
||||
AndroidQtVersion::AndroidQtVersion(const Utils::FileName &path, bool isAutodetected, const QString &autodetectionSource)
|
||||
: QtSupport::BaseQtVersion(path, isAutodetected, autodetectionSource)
|
||||
AndroidQtVersion::AndroidQtVersion(const Utils::FileName &path)
|
||||
: QtSupport::BaseQtVersion(path)
|
||||
{
|
||||
setUnexpandedDisplayName(defaultUnexpandedDisplayName(path, false));
|
||||
}
|
||||
|
@@ -38,7 +38,7 @@ class AndroidQtVersion : public QtSupport::BaseQtVersion
|
||||
|
||||
public:
|
||||
AndroidQtVersion();
|
||||
AndroidQtVersion(const Utils::FileName &path, bool isAutodetected = false, const QString &autodetectionSource = QString());
|
||||
explicit AndroidQtVersion(const Utils::FileName &path);
|
||||
|
||||
AndroidQtVersion *clone() const override;
|
||||
QString type() const override;
|
||||
|
@@ -40,14 +40,14 @@ AndroidQtVersionFactory::AndroidQtVersionFactory()
|
||||
setPriority(90);
|
||||
}
|
||||
|
||||
QtSupport::BaseQtVersion *AndroidQtVersionFactory::create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator, bool isAutoDetected, const QString &autoDetectionSource)
|
||||
QtSupport::BaseQtVersion *AndroidQtVersionFactory::create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator)
|
||||
{
|
||||
if (!evaluator->values(QLatin1String("CONFIG")).contains(QLatin1String("android"))
|
||||
&& evaluator->value(QLatin1String("QMAKE_PLATFORM")) != QLatin1String("android"))
|
||||
return nullptr;
|
||||
if (evaluator->values(QLatin1String("CONFIG")).contains(QLatin1String("android-no-sdk")))
|
||||
return nullptr;
|
||||
return new AndroidQtVersion(qmakePath, isAutoDetected, autoDetectionSource);
|
||||
return new AndroidQtVersion(qmakePath);
|
||||
}
|
||||
|
||||
} // Internal
|
||||
|
@@ -35,8 +35,8 @@ class AndroidQtVersionFactory : public QtSupport::QtVersionFactory
|
||||
public:
|
||||
AndroidQtVersionFactory();
|
||||
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected = false, const QString &autoDetectionSource = QString()) override;
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator) override;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -42,9 +42,8 @@ using namespace ProjectExplorer;
|
||||
|
||||
IosQtVersion::IosQtVersion() = default;
|
||||
|
||||
IosQtVersion::IosQtVersion(const Utils::FileName &path, bool isAutodetected,
|
||||
const QString &autodetectionSource)
|
||||
: QtSupport::BaseQtVersion(path, isAutodetected, autodetectionSource)
|
||||
IosQtVersion::IosQtVersion(const Utils::FileName &path)
|
||||
: QtSupport::BaseQtVersion(path)
|
||||
{
|
||||
setUnexpandedDisplayName(defaultUnexpandedDisplayName(path, false));
|
||||
}
|
||||
|
@@ -38,8 +38,7 @@ class IosQtVersion : public QtSupport::BaseQtVersion
|
||||
|
||||
public:
|
||||
IosQtVersion();
|
||||
IosQtVersion(const Utils::FileName &path, bool isAutodetected = false,
|
||||
const QString &autodetectionSource = QString());
|
||||
explicit IosQtVersion(const Utils::FileName &path);
|
||||
|
||||
IosQtVersion *clone() const override;
|
||||
QString type() const override;
|
||||
|
@@ -40,13 +40,11 @@ IosQtVersionFactory::IosQtVersionFactory()
|
||||
}
|
||||
|
||||
QtSupport::BaseQtVersion *IosQtVersionFactory::create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected,
|
||||
const QString &autoDetectionSource)
|
||||
ProFileEvaluator *evaluator)
|
||||
{
|
||||
if (!(evaluator->values(QLatin1String("QMAKE_PLATFORM")).contains(QLatin1String("ios"))))
|
||||
return nullptr;
|
||||
return new IosQtVersion(qmakePath, isAutoDetected, autoDetectionSource);
|
||||
return new IosQtVersion(qmakePath);
|
||||
}
|
||||
|
||||
} // Internal
|
||||
|
@@ -35,9 +35,8 @@ class IosQtVersionFactory : public QtSupport::QtVersionFactory
|
||||
public:
|
||||
IosQtVersionFactory();
|
||||
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected = false,
|
||||
const QString &autoDetectionSource = QString()) override;
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator) override;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -46,9 +46,8 @@ static char SDP_PATH_KEY[] = "SDKPath";
|
||||
|
||||
QnxQtVersion::QnxQtVersion() = default;
|
||||
|
||||
QnxQtVersion::QnxQtVersion(const Utils::FileName &path, bool isAutoDetected,
|
||||
const QString &autoDetectionSource) :
|
||||
QtSupport::BaseQtVersion(path, isAutoDetected, autoDetectionSource)
|
||||
QnxQtVersion::QnxQtVersion(const Utils::FileName &path) :
|
||||
QtSupport::BaseQtVersion(path)
|
||||
{
|
||||
setUnexpandedDisplayName(defaultUnexpandedDisplayName(path, false));
|
||||
}
|
||||
|
@@ -39,9 +39,8 @@ class QnxQtVersion : public QtSupport::BaseQtVersion
|
||||
{
|
||||
public:
|
||||
QnxQtVersion();
|
||||
QnxQtVersion(const Utils::FileName &path,
|
||||
bool isAutoDetected = false,
|
||||
const QString &autoDetectionSource = QString());
|
||||
explicit QnxQtVersion(const Utils::FileName &path);
|
||||
|
||||
QnxQtVersion *clone() const override;
|
||||
|
||||
QString type() const override;
|
||||
|
@@ -41,12 +41,10 @@ QnxQtVersionFactory::QnxQtVersionFactory()
|
||||
}
|
||||
|
||||
QtSupport::BaseQtVersion *QnxQtVersionFactory::create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected,
|
||||
const QString &autoDetectionSource)
|
||||
ProFileEvaluator *evaluator)
|
||||
{
|
||||
if (evaluator->contains(QLatin1String("QNX_CPUDIR"))) {
|
||||
return new QnxQtVersion(qmakePath, isAutoDetected, autoDetectionSource);
|
||||
return new QnxQtVersion(qmakePath);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
|
@@ -36,9 +36,7 @@ public:
|
||||
QnxQtVersionFactory();
|
||||
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected = false,
|
||||
const QString &autoDetectionSource = QString()) override;
|
||||
ProFileEvaluator *evaluator) override;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -193,10 +193,8 @@ bool QtVersionNumber::operator >=(const QtVersionNumber &b) const
|
||||
// BaseQtVersion
|
||||
///////////////
|
||||
|
||||
BaseQtVersion::BaseQtVersion(const FileName &qmakeCommand, bool isAutodetected, const QString &autodetectionSource)
|
||||
BaseQtVersion::BaseQtVersion(const FileName &qmakeCommand)
|
||||
: m_id(QtVersionManager::getUniqueId()),
|
||||
m_isAutodetected(isAutodetected),
|
||||
m_autodetectionSource(autodetectionSource),
|
||||
m_qmakeCommand(qmakeCommand)
|
||||
{ }
|
||||
BaseQtVersion::BaseQtVersion(const BaseQtVersion &other) = default;
|
||||
@@ -498,6 +496,11 @@ void BaseQtVersion::setId(int id)
|
||||
m_id = id;
|
||||
}
|
||||
|
||||
void BaseQtVersion::setIsAutodetected(bool isAutodetected)
|
||||
{
|
||||
m_isAutodetected = isAutodetected;
|
||||
}
|
||||
|
||||
void BaseQtVersion::fromMap(const QVariantMap &map)
|
||||
{
|
||||
m_id = map.value(Constants::QTVERSIONID).toInt();
|
||||
|
@@ -253,10 +253,12 @@ public:
|
||||
const ProjectExplorer::Target *target);
|
||||
|
||||
QSet<Core::Id> features() const;
|
||||
void setIsAutodetected(bool isAutodetected);
|
||||
|
||||
protected:
|
||||
virtual QSet<Core::Id> availableFeatures() const;
|
||||
BaseQtVersion();
|
||||
BaseQtVersion(const Utils::FileName &path, bool isAutodetected = false, const QString &autodetectionSource = QString());
|
||||
explicit BaseQtVersion(const Utils::FileName &path);
|
||||
BaseQtVersion(const BaseQtVersion &other);
|
||||
|
||||
virtual QList<ProjectExplorer::Task> reportIssuesImpl(const QString &proFile, const QString &buildDir) const;
|
||||
|
@@ -46,8 +46,8 @@ DesktopQtVersion::DesktopQtVersion()
|
||||
|
||||
}
|
||||
|
||||
DesktopQtVersion::DesktopQtVersion(const Utils::FileName &path, bool isAutodetected, const QString &autodetectionSource)
|
||||
: BaseQtVersion(path, isAutodetected, autodetectionSource)
|
||||
DesktopQtVersion::DesktopQtVersion(const Utils::FileName &path)
|
||||
: BaseQtVersion(path)
|
||||
{
|
||||
setUnexpandedDisplayName(defaultUnexpandedDisplayName(path, false));
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@ class QTSUPPORT_EXPORT DesktopQtVersion : public BaseQtVersion
|
||||
{
|
||||
public:
|
||||
DesktopQtVersion();
|
||||
DesktopQtVersion(const Utils::FileName &path, bool isAutodetected = false, const QString &autodetectionSource = QString());
|
||||
explicit DesktopQtVersion(const Utils::FileName &path);
|
||||
DesktopQtVersion *clone() const override;
|
||||
|
||||
QString type() const override;
|
||||
|
@@ -37,9 +37,9 @@ DesktopQtVersionFactory::DesktopQtVersionFactory()
|
||||
setPriority(0); // Lowest of all, we want to be the fallback
|
||||
}
|
||||
|
||||
BaseQtVersion *DesktopQtVersionFactory::create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator, bool isAutoDetected, const QString &autoDetectionSource)
|
||||
BaseQtVersion *DesktopQtVersionFactory::create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator)
|
||||
{
|
||||
Q_UNUSED(evaluator);
|
||||
// we are the fallback :) so we don't care what kind of qt it is
|
||||
return new DesktopQtVersion(qmakePath, isAutoDetected, autoDetectionSource);
|
||||
return new DesktopQtVersion(qmakePath);
|
||||
}
|
||||
|
@@ -35,8 +35,7 @@ class DesktopQtVersionFactory : public QtVersionFactory
|
||||
public:
|
||||
DesktopQtVersionFactory();
|
||||
|
||||
BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected = false, const QString &autoDetectionSource = QString()) override;
|
||||
BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator) override;
|
||||
};
|
||||
|
||||
} // Internal
|
||||
|
@@ -98,8 +98,9 @@ BaseQtVersion *QtVersionFactory::createQtVersionFromQMakePath(const Utils::FileN
|
||||
return nullptr;
|
||||
|
||||
foreach (QtVersionFactory *factory, factories) {
|
||||
BaseQtVersion *ver = factory->create(qmakePath, &evaluator, isAutoDetected, autoDetectionSource);
|
||||
if (ver) {
|
||||
if (BaseQtVersion *ver = factory->create(qmakePath, &evaluator)) {
|
||||
ver->setAutoDetectionSource(autoDetectionSource);
|
||||
ver->setIsAutodetected(isAutoDetected);
|
||||
ProFileCacheManager::instance()->decRefCount();
|
||||
return ver;
|
||||
}
|
||||
|
@@ -55,9 +55,7 @@ public:
|
||||
/// the desktop factory claims to handle all paths
|
||||
int priority() const { return m_priority; }
|
||||
virtual BaseQtVersion *create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected = false,
|
||||
const QString &autoDetectionSource = QString()) = 0;
|
||||
ProFileEvaluator *evaluator) = 0;
|
||||
|
||||
static BaseQtVersion *createQtVersionFromQMakePath(
|
||||
const Utils::FileName &qmakePath, bool isAutoDetected = false,
|
||||
|
@@ -35,9 +35,8 @@
|
||||
namespace RemoteLinux {
|
||||
namespace Internal {
|
||||
|
||||
EmbeddedLinuxQtVersion::EmbeddedLinuxQtVersion(const Utils::FileName &path, bool isAutodetected,
|
||||
const QString &autodetectionSource)
|
||||
: BaseQtVersion(path, isAutodetected, autodetectionSource)
|
||||
EmbeddedLinuxQtVersion::EmbeddedLinuxQtVersion(const Utils::FileName &path)
|
||||
: BaseQtVersion(path)
|
||||
{
|
||||
setUnexpandedDisplayName(defaultUnexpandedDisplayName(path, false));
|
||||
}
|
||||
|
@@ -34,8 +34,8 @@ class EmbeddedLinuxQtVersion : public QtSupport::BaseQtVersion
|
||||
{
|
||||
public:
|
||||
EmbeddedLinuxQtVersion() = default;
|
||||
EmbeddedLinuxQtVersion(const Utils::FileName &path, bool isAutodetected = false,
|
||||
const QString &autodetectionSource = QString());
|
||||
explicit EmbeddedLinuxQtVersion(const Utils::FileName &path);
|
||||
|
||||
EmbeddedLinuxQtVersion *clone() const override;
|
||||
|
||||
QString type() const override;
|
||||
|
@@ -41,13 +41,11 @@ EmbeddedLinuxQtVersionFactory::EmbeddedLinuxQtVersionFactory()
|
||||
}
|
||||
|
||||
QtSupport::BaseQtVersion *EmbeddedLinuxQtVersionFactory::create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected,
|
||||
const QString &autoDetectionSource)
|
||||
ProFileEvaluator *evaluator)
|
||||
{
|
||||
Q_UNUSED(evaluator);
|
||||
|
||||
auto version = new EmbeddedLinuxQtVersion(qmakePath, isAutoDetected, autoDetectionSource);
|
||||
auto version = new EmbeddedLinuxQtVersion(qmakePath);
|
||||
|
||||
QList<ProjectExplorer::Abi> abis = version->qtAbis();
|
||||
// Note: This fails for e.g. intel/meego cross builds on x86 linux machines.
|
||||
|
@@ -35,9 +35,8 @@ class EmbeddedLinuxQtVersionFactory : public QtSupport::QtVersionFactory
|
||||
public:
|
||||
EmbeddedLinuxQtVersionFactory();
|
||||
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected = false,
|
||||
const QString &autoDetectionSource = QString()) override;
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator) override;
|
||||
};
|
||||
|
||||
} // Internal
|
||||
|
@@ -35,9 +35,8 @@
|
||||
namespace WinRt {
|
||||
namespace Internal {
|
||||
|
||||
WinRtPhoneQtVersion::WinRtPhoneQtVersion(const Utils::FileName &path, bool isAutodetected,
|
||||
const QString &autodetectionSource)
|
||||
: WinRtQtVersion(path, isAutodetected, autodetectionSource)
|
||||
WinRtPhoneQtVersion::WinRtPhoneQtVersion(const Utils::FileName &path)
|
||||
: WinRtQtVersion(path)
|
||||
{
|
||||
}
|
||||
|
||||
|
@@ -35,8 +35,7 @@ class WinRtPhoneQtVersion : public WinRtQtVersion
|
||||
Q_DECLARE_TR_FUNCTIONS(WinRt::Internal::WinRtQtVersion)
|
||||
public:
|
||||
WinRtPhoneQtVersion() = default;
|
||||
WinRtPhoneQtVersion(const Utils::FileName &path, bool isAutodetected,
|
||||
const QString &autodetectionSource);
|
||||
explicit WinRtPhoneQtVersion(const Utils::FileName &path);
|
||||
|
||||
QString description() const override;
|
||||
BaseQtVersion *clone() const override;
|
||||
|
@@ -33,9 +33,8 @@
|
||||
namespace WinRt {
|
||||
namespace Internal {
|
||||
|
||||
WinRtQtVersion::WinRtQtVersion(const Utils::FileName &path, bool isAutodetected,
|
||||
const QString &autodetectionSource)
|
||||
: BaseQtVersion(path, isAutodetected, autodetectionSource)
|
||||
WinRtQtVersion::WinRtQtVersion(const Utils::FileName &path)
|
||||
: BaseQtVersion(path)
|
||||
{
|
||||
setUnexpandedDisplayName(defaultUnexpandedDisplayName(path, false));
|
||||
}
|
||||
|
@@ -35,8 +35,7 @@ class WinRtQtVersion : public QtSupport::BaseQtVersion
|
||||
Q_DECLARE_TR_FUNCTIONS(WinRt::Internal::WinRtQtVersion)
|
||||
public:
|
||||
WinRtQtVersion() = default;
|
||||
WinRtQtVersion(const Utils::FileName &path, bool isAutodetected,
|
||||
const QString &autodetectionSource);
|
||||
explicit WinRtQtVersion(const Utils::FileName &path);
|
||||
|
||||
BaseQtVersion *clone() const override;
|
||||
QString type() const override;
|
||||
|
@@ -41,11 +41,11 @@ WinRtQtVersionFactory::WinRtQtVersionFactory()
|
||||
}
|
||||
|
||||
QtSupport::BaseQtVersion *WinRtQtVersionFactory::create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator, bool isAutoDetected, const QString &autoDetectionSource)
|
||||
ProFileEvaluator *evaluator)
|
||||
{
|
||||
foreach (const QString &value, evaluator->values(QLatin1String("QMAKE_PLATFORM"))) {
|
||||
if (value == QStringLiteral("winrt"))
|
||||
return new WinRtQtVersion(qmakePath, isAutoDetected, autoDetectionSource);
|
||||
return new WinRtQtVersion(qmakePath);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
@@ -61,11 +61,11 @@ WinRtPhoneQtVersionFactory::WinRtPhoneQtVersionFactory()
|
||||
}
|
||||
|
||||
QtSupport::BaseQtVersion *WinRtPhoneQtVersionFactory::create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator, bool isAutoDetected, const QString &autoDetectionSource)
|
||||
ProFileEvaluator *evaluator)
|
||||
{
|
||||
foreach (const QString &value, evaluator->values(QLatin1String("QMAKE_PLATFORM"))) {
|
||||
if (value == QStringLiteral("winphone"))
|
||||
return new WinRtPhoneQtVersion(qmakePath, isAutoDetected, autoDetectionSource);
|
||||
return new WinRtPhoneQtVersion(qmakePath);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
|
@@ -35,8 +35,8 @@ class WinRtQtVersionFactory : public QtSupport::QtVersionFactory
|
||||
public:
|
||||
WinRtQtVersionFactory();
|
||||
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected = false, const QString &autoDetectionSource = QString());
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator) override;
|
||||
};
|
||||
|
||||
class WinRtPhoneQtVersionFactory : public QtSupport::QtVersionFactory
|
||||
@@ -44,8 +44,8 @@ class WinRtPhoneQtVersionFactory : public QtSupport::QtVersionFactory
|
||||
public:
|
||||
WinRtPhoneQtVersionFactory();
|
||||
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
|
||||
bool isAutoDetected = false, const QString &autoDetectionSource = QString());
|
||||
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath,
|
||||
ProFileEvaluator *evaluator) override;
|
||||
};
|
||||
|
||||
} // Internal
|
||||
|
Reference in New Issue
Block a user