aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/corelib/api/languageinfo.cpp13
-rw-r--r--src/lib/corelib/api/languageinfo.h13
-rw-r--r--src/lib/corelib/jsextensions/utilitiesextension.cpp2
-rw-r--r--src/lib/corelib/language/item.cpp3
-rw-r--r--src/lib/corelib/language/itemreaderastvisitor.cpp3
-rw-r--r--src/lib/corelib/language/moduleloader.cpp3
-rw-r--r--src/lib/corelib/language/propertydeclaration.cpp3
-rw-r--r--src/lib/corelib/tools/version.cpp6
-rw-r--r--src/lib/corelib/tools/version.h2
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp3
10 files changed, 23 insertions, 28 deletions
diff --git a/src/lib/corelib/api/languageinfo.cpp b/src/lib/corelib/api/languageinfo.cpp
index df8d62ca0..8bae5243b 100644
--- a/src/lib/corelib/api/languageinfo.cpp
+++ b/src/lib/corelib/api/languageinfo.cpp
@@ -47,16 +47,12 @@
namespace qbs {
-LanguageInfo::LanguageInfo()
-{
-}
-
-QByteArray LanguageInfo::qmlTypeInfo()
+std::string LanguageInfo::qmlTypeInfo()
{
const Internal::BuiltinDeclarations &builtins = Internal::BuiltinDeclarations::instance();
// Header:
- QByteArray result;
+ std::string result;
result.append("import QtQuick.tooling 1.0\n\n");
result.append("// This file describes the plugin-supplied types contained in the library.\n");
result.append("// It is used for QML tooling purposes only.\n\n");
@@ -126,9 +122,10 @@ QByteArray LanguageInfo::qmlTypeInfo()
return result;
}
-QString LanguageInfo::qbsVersion()
+Version LanguageInfo::qbsVersion()
{
- return Version::qbsVersion().toString();
+ static const auto v = Version::fromString(QLatin1String(QBS_VERSION));
+ return v;
}
} // namespace qbs
diff --git a/src/lib/corelib/api/languageinfo.h b/src/lib/corelib/api/languageinfo.h
index 22994b546..d0db7d5e8 100644
--- a/src/lib/corelib/api/languageinfo.h
+++ b/src/lib/corelib/api/languageinfo.h
@@ -42,18 +42,19 @@
#include "../tools/qbs_export.h"
-#include <QtCore/qbytearray.h>
+#include <string>
namespace qbs {
+class Version;
+
class QBS_EXPORT LanguageInfo
{
-public:
- LanguageInfo();
+ LanguageInfo() = delete;
- QByteArray qmlTypeInfo();
-
- static QString qbsVersion(); // TODO: Use QVersionNumber once we require Qt 5.6
+public:
+ static std::string qmlTypeInfo();
+ static Version qbsVersion();
};
} // namespace qbs
diff --git a/src/lib/corelib/jsextensions/utilitiesextension.cpp b/src/lib/corelib/jsextensions/utilitiesextension.cpp
index e1d9d383f..c10707481 100644
--- a/src/lib/corelib/jsextensions/utilitiesextension.cpp
+++ b/src/lib/corelib/jsextensions/utilitiesextension.cpp
@@ -541,7 +541,7 @@ QScriptValue UtilitiesExtension::js_versionCompare(QScriptContext *context, QScr
QScriptValue UtilitiesExtension::js_qmlTypeInfo(QScriptContext *context, QScriptEngine *engine)
{
Q_UNUSED(context);
- return engine->toScriptValue(QString::fromUtf8(qbs::LanguageInfo().qmlTypeInfo()));
+ return engine->toScriptValue(QString::fromStdString(qbs::LanguageInfo::qmlTypeInfo()));
}
QScriptValue UtilitiesExtension::js_builtinExtensionNames(QScriptContext *context,
diff --git a/src/lib/corelib/language/item.cpp b/src/lib/corelib/language/item.cpp
index 31aa42a37..06dd63da7 100644
--- a/src/lib/corelib/language/item.cpp
+++ b/src/lib/corelib/language/item.cpp
@@ -46,6 +46,7 @@
#include "itempool.h"
#include "value.h"
+#include <api/languageinfo.h>
#include <logging/logger.h>
#include <logging/translator.h>
#include <tools/error.h>
@@ -262,7 +263,7 @@ void Item::setupForBuiltinType(Logger &logger)
m_properties.insert(pd.name(), sourceValue);
} else if (pd.isDeprecated()) {
const DeprecationInfo &di = pd.deprecationInfo();
- if (di.removalVersion() <= Version::qbsVersion()) {
+ if (di.removalVersion() <= LanguageInfo::qbsVersion()) {
QString message = Tr::tr("The property '%1' is no longer valid for %2 items. "
"It was removed in qbs %3.")
.arg(pd.name(), typeName(), di.removalVersion().toString());
diff --git a/src/lib/corelib/language/itemreaderastvisitor.cpp b/src/lib/corelib/language/itemreaderastvisitor.cpp
index fc0496ccf..8560d1afd 100644
--- a/src/lib/corelib/language/itemreaderastvisitor.cpp
+++ b/src/lib/corelib/language/itemreaderastvisitor.cpp
@@ -49,6 +49,7 @@
#include "itemreadervisitorstate.h"
#include "value.h"
+#include <api/languageinfo.h>
#include <jsextensions/jsextensions.h>
#include <parser/qmljsast_p.h>
#include <tools/codelocation.h>
@@ -336,7 +337,7 @@ void ItemReaderASTVisitor::checkDeprecationStatus(ItemType itemType, const QStri
const DeprecationInfo &di = itemDecl.deprecationInfo();
if (!di.isValid())
return;
- if (di.removalVersion() <= Version::qbsVersion()) {
+ if (di.removalVersion() <= LanguageInfo::qbsVersion()) {
QString message = Tr::tr("The item '%1' cannot be used anymore. "
"It was removed in qbs %2.")
.arg(itemName, di.removalVersion().toString());
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index 9063ff894..0e3a8015d 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -50,6 +50,7 @@
#include "scriptengine.h"
#include "value.h"
+#include <api/languageinfo.h>
#include <language/language.h>
#include <logging/categories.h>
#include <logging/logger.h>
@@ -2728,7 +2729,7 @@ void ModuleLoader::setupBaseModulePrototype(Item *prototype)
prototype->setProperty(QStringLiteral("libexecPath"),
VariantValue::create(m_parameters.libexecPath()));
- const Version qbsVersion = Version::qbsVersion();
+ const Version qbsVersion = LanguageInfo::qbsVersion();
prototype->setProperty(QStringLiteral("versionMajor"),
VariantValue::create(qbsVersion.majorVersion()));
prototype->setProperty(QStringLiteral("versionMinor"),
diff --git a/src/lib/corelib/language/propertydeclaration.cpp b/src/lib/corelib/language/propertydeclaration.cpp
index 5125d3917..f0eff09d1 100644
--- a/src/lib/corelib/language/propertydeclaration.cpp
+++ b/src/lib/corelib/language/propertydeclaration.cpp
@@ -40,6 +40,7 @@
#include "propertydeclaration.h"
#include "deprecationinfo.h"
+#include <api/languageinfo.h>
#include <tools/stringconstants.h>
@@ -218,7 +219,7 @@ bool PropertyDeclaration::isDeprecated() const
bool PropertyDeclaration::isExpired() const
{
- return isDeprecated() && deprecationInfo().removalVersion() <= Version::qbsVersion();
+ return isDeprecated() && deprecationInfo().removalVersion() <= LanguageInfo::qbsVersion();
}
const DeprecationInfo &PropertyDeclaration::deprecationInfo() const
diff --git a/src/lib/corelib/tools/version.cpp b/src/lib/corelib/tools/version.cpp
index f9c7a540f..264c44c29 100644
--- a/src/lib/corelib/tools/version.cpp
+++ b/src/lib/corelib/tools/version.cpp
@@ -115,12 +115,6 @@ QString Version::toString() const
return s;
}
-const Version &Version::qbsVersion()
-{
- static const Version v = fromString(QLatin1String(QBS_VERSION));
- return v;
-}
-
int compare(const Version &lhs, const Version &rhs)
{
if (lhs.majorVersion() < rhs.majorVersion())
diff --git a/src/lib/corelib/tools/version.h b/src/lib/corelib/tools/version.h
index 81bfe1f5b..4f5e46500 100644
--- a/src/lib/corelib/tools/version.h
+++ b/src/lib/corelib/tools/version.h
@@ -73,8 +73,6 @@ public:
static Version fromString(const QString &versionString, bool buildNumberAllowed = false);
QString toString() const;
- static const Version &qbsVersion();
-
private:
int m_major;
int m_minor;
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index f51267a6b..37c138d06 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -30,6 +30,7 @@
#include "../shared.h"
+#include <api/languageinfo.h>
#include <tools/hostosinfo.h>
#include <tools/profile.h>
#include <tools/qttools.h>
@@ -5355,7 +5356,7 @@ void TestBlackbox::badInterpreter()
void TestBlackbox::qbsVersion()
{
- const qbs::Version v = qbs::Version::qbsVersion();
+ const auto v = qbs::LanguageInfo::qbsVersion();
QDir::setCurrent(testDataDir + QLatin1String("/qbsVersion"));
QbsRunParameters params;
params.arguments = QStringList()