summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2023-05-04 16:31:37 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2023-05-05 06:51:37 +0000
commite149a0cb116005f3c400285bac3b6d057d8e36ac (patch)
tree0074b0a45747004db857d55949a50bb3fff4036f
parentd2896c08cf39d9aa9b20717128196b958f320fcd (diff)
downloadqbs-e149a0cb116005f3c400285bac3b6d057d8e36ac.tar.gz
Loader: Remove unnecessary search paths forwarding machinery
Change-Id: Ia4a8c144431c413701707c024185ca54f49b0829 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
-rw-r--r--src/lib/corelib/api/internaljobs.cpp1
-rw-r--r--src/lib/corelib/buildgraph/buildgraphloader.cpp1
-rw-r--r--src/lib/corelib/loader/itemreader.cpp18
-rw-r--r--src/lib/corelib/loader/itemreader.h8
-rw-r--r--src/lib/corelib/loader/loader.cpp16
-rw-r--r--src/lib/corelib/loader/loader.h2
-rw-r--r--src/lib/corelib/loader/projecttreebuilder.cpp20
-rw-r--r--src/lib/corelib/loader/projecttreebuilder.h1
-rw-r--r--tests/auto/language/tst_language.cpp3
9 files changed, 15 insertions, 55 deletions
diff --git a/src/lib/corelib/api/internaljobs.cpp b/src/lib/corelib/api/internaljobs.cpp
index 47990fb32..8aef79595 100644
--- a/src/lib/corelib/api/internaljobs.cpp
+++ b/src/lib/corelib/api/internaljobs.cpp
@@ -325,7 +325,6 @@ void InternalSetupProjectJob::execute()
void InternalSetupProjectJob::resolveProjectFromScratch(ScriptEngine *engine)
{
Loader loader(engine, logger());
- loader.setSearchPaths(m_parameters.searchPaths());
loader.setProgressObserver(observer());
m_newProject = loader.loadProject(m_parameters);
QBS_CHECK(m_newProject);
diff --git a/src/lib/corelib/buildgraph/buildgraphloader.cpp b/src/lib/corelib/buildgraph/buildgraphloader.cpp
index f932da0b8..f1759bd70 100644
--- a/src/lib/corelib/buildgraph/buildgraphloader.cpp
+++ b/src/lib/corelib/buildgraph/buildgraphloader.cpp
@@ -340,7 +340,6 @@ void BuildGraphLoader::trackProjectChanges()
if (!m_parameters.overrideBuildGraphData())
m_parameters.setEnvironment(restoredProject->environment);
Loader ldr(m_evalContext->engine(), m_logger);
- ldr.setSearchPaths(m_parameters.searchPaths());
ldr.setProgressObserver(m_evalContext->observer());
ldr.setOldProjectProbes(restoredProject->probes);
if (!m_parameters.forceProbeExecution())
diff --git a/src/lib/corelib/loader/itemreader.cpp b/src/lib/corelib/loader/itemreader.cpp
index 3af79df2e..6aece2044 100644
--- a/src/lib/corelib/loader/itemreader.cpp
+++ b/src/lib/corelib/loader/itemreader.cpp
@@ -45,7 +45,9 @@
#include <language/evaluator.h>
#include <language/item.h>
#include <language/value.h>
+#include <logging/categories.h>
#include <tools/profiling.h>
+#include <tools/setupprojectparameters.h>
#include <tools/stringconstants.h>
#include <tools/stlutils.h>
@@ -64,15 +66,19 @@ static void makePathsCanonical(QStringList &paths)
});
}
-ItemReader::ItemReader(Logger &logger)
+ItemReader::ItemReader(const SetupProjectParameters &parameters, Logger &logger)
: m_visitorState(std::make_unique<ItemReaderVisitorState>(logger))
{
+ setSearchPaths(parameters.searchPaths());
+ m_visitorState->setDeprecationWarningMode(parameters.deprecationWarningMode());
+ m_elapsedTime = parameters.logElapsedTime() ? 0 : -1;
}
ItemReader::~ItemReader() = default;
void ItemReader::setSearchPaths(const QStringList &searchPaths)
{
+ qCDebug(lcModuleLoader) << "initial search paths:" << searchPaths;
m_searchPaths = searchPaths;
makePathsCanonical(m_searchPaths);
m_allSearchPaths.clear();
@@ -143,16 +149,6 @@ Set<QString> ItemReader::filesRead() const
return m_visitorState->filesRead();
}
-void ItemReader::setEnableTiming(bool on)
-{
- m_elapsedTime = on ? 0 : -1;
-}
-
-void ItemReader::setDeprecationWarningMode(DeprecationWarningMode mode)
-{
- m_visitorState->setDeprecationWarningMode(mode);
-}
-
void ItemReader::handlePropertyOptions(Item *optionsItem, Evaluator &evaluator)
{
const QString name = evaluator.stringValue(optionsItem, StringConstants::nameProperty());
diff --git a/src/lib/corelib/loader/itemreader.h b/src/lib/corelib/loader/itemreader.h
index 751c9b1b6..8c485e8fb 100644
--- a/src/lib/corelib/loader/itemreader.h
+++ b/src/lib/corelib/loader/itemreader.h
@@ -49,6 +49,7 @@
#include <memory>
namespace qbs {
+class SetupProjectParameters;
namespace Internal {
class Evaluator;
class Item;
@@ -67,11 +68,10 @@ class ItemReaderVisitorState;
class ItemReader
{
public:
- ItemReader(Logger &logger);
+ ItemReader(const SetupProjectParameters &parameters, Logger &logger);
~ItemReader();
void setPool(ItemPool *pool) { m_pool = pool; }
- void setSearchPaths(const QStringList &searchPaths);
void pushExtraSearchPaths(const QStringList &extraSearchPaths);
void popExtraSearchPaths();
const std::vector<QStringList> &extraSearchPathsStack() const;
@@ -86,12 +86,10 @@ public:
Set<QString> filesRead() const;
- void setEnableTiming(bool on);
qint64 elapsedTime() const { return m_elapsedTime; }
- void setDeprecationWarningMode(DeprecationWarningMode mode);
-
private:
+ void setSearchPaths(const QStringList &searchPaths);
Item *readFile(const QString &filePath);
Item *readFile(const QString &filePath, const CodeLocation &referencingLocation);
void handlePropertyOptions(Item *optionsItem, Evaluator &evaluator);
diff --git a/src/lib/corelib/loader/loader.cpp b/src/lib/corelib/loader/loader.cpp
index 1c1675368..af91ab046 100644
--- a/src/lib/corelib/loader/loader.cpp
+++ b/src/lib/corelib/loader/loader.cpp
@@ -74,21 +74,6 @@ void Loader::setProgressObserver(ProgressObserver *observer)
m_progressObserver = observer;
}
-void Loader::setSearchPaths(const QStringList &_searchPaths)
-{
- QStringList searchPaths;
- for (const QString &searchPath : _searchPaths) {
- if (!FileInfo::exists(searchPath)) {
- m_logger.qbsWarning() << Tr::tr("Search path '%1' does not exist.")
- .arg(QDir::toNativeSeparators(searchPath));
- } else {
- searchPaths += searchPath;
- }
- }
-
- m_searchPaths = searchPaths;
-}
-
void Loader::setOldProjectProbes(const std::vector<ProbeConstPtr> &oldProbes)
{
m_oldProjectProbes = oldProbes;
@@ -153,7 +138,6 @@ TopLevelProjectPtr Loader::loadProject(const SetupProjectParameters &_parameters
ItemPool pool;
ProjectTreeBuilder projectTreeBuilder(parameters, pool, evaluator, m_logger);
projectTreeBuilder.setProgressObserver(m_progressObserver);
- projectTreeBuilder.setSearchPaths(m_searchPaths);
projectTreeBuilder.setOldProjectProbes(m_oldProjectProbes);
projectTreeBuilder.setOldProductProbes(m_oldProductProbes);
projectTreeBuilder.setLastResolveTime(m_lastResolveTime);
diff --git a/src/lib/corelib/loader/loader.h b/src/lib/corelib/loader/loader.h
index 377ab68d2..2c9b2b7b9 100644
--- a/src/lib/corelib/loader/loader.h
+++ b/src/lib/corelib/loader/loader.h
@@ -60,7 +60,6 @@ public:
Loader(ScriptEngine *engine, Logger logger);
void setProgressObserver(ProgressObserver *observer);
- void setSearchPaths(const QStringList &searchPaths);
void setOldProjectProbes(const std::vector<ProbeConstPtr> &oldProbes);
void setOldProductProbes(const QHash<QString, std::vector<ProbeConstPtr>> &oldProbes);
void setLastResolveTime(const FileTime &time) { m_lastResolveTime = time; }
@@ -74,7 +73,6 @@ private:
Logger m_logger;
ProgressObserver *m_progressObserver;
ScriptEngine * const m_engine;
- QStringList m_searchPaths;
std::vector<ProbeConstPtr> m_oldProjectProbes;
QHash<QString, std::vector<ProbeConstPtr>> m_oldProductProbes;
StoredModuleProviderInfo m_storedModuleProviderInfo;
diff --git a/src/lib/corelib/loader/projecttreebuilder.cpp b/src/lib/corelib/loader/projecttreebuilder.cpp
index 9c0209882..59e2873e5 100644
--- a/src/lib/corelib/loader/projecttreebuilder.cpp
+++ b/src/lib/corelib/loader/projecttreebuilder.cpp
@@ -282,7 +282,7 @@ public:
Logger &logger;
ProgressObserver *progressObserver = nullptr;
TimingData timingData;
- ItemReader reader{logger};
+ ItemReader reader{parameters, logger};
ProbesResolver probesResolver{parameters, evaluator, logger};
ModuleProviderLoader moduleProviderLoader{parameters, reader, evaluator, probesResolver, logger};
ModuleLoader moduleLoader{parameters, moduleProviderLoader, reader, evaluator, logger};
@@ -297,7 +297,7 @@ public:
QVariantMap storedProfiles;
Set<Item *> disabledItems;
- std::unique_ptr<Settings> settings;
+ Settings settings{parameters.settingsDirectory()};
Set<QString> projectNamesUsedInOverrides;
Set<QString> productNamesUsedInOverrides;
Set<QString> disabledProjects;
@@ -328,13 +328,7 @@ private:
ProjectTreeBuilder::ProjectTreeBuilder(const SetupProjectParameters &parameters, ItemPool &itemPool,
Evaluator &evaluator, Logger &logger)
- : d(new Private(parameters, itemPool, evaluator, logger))
-{
- d->reader.setDeprecationWarningMode(parameters.deprecationWarningMode());
- d->reader.setEnableTiming(parameters.logElapsedTime());
- d->settings = std::make_unique<Settings>(parameters.settingsDirectory());
-}
-
+ : d(new Private(parameters, itemPool, evaluator, logger)) {}
ProjectTreeBuilder::~ProjectTreeBuilder() { delete d; }
void ProjectTreeBuilder::setProgressObserver(ProgressObserver *progressObserver)
@@ -342,12 +336,6 @@ void ProjectTreeBuilder::setProgressObserver(ProgressObserver *progressObserver)
d->progressObserver = progressObserver;
}
-void ProjectTreeBuilder::setSearchPaths(const QStringList &searchPaths)
-{
- d->reader.setSearchPaths(searchPaths);
- qCDebug(lcModuleLoader) << "initial search paths:" << searchPaths;
-}
-
void ProjectTreeBuilder::setOldProjectProbes(const std::vector<ProbeConstPtr> &oldProbes)
{
d->probesResolver.setOldProjectProbes(oldProbes);
@@ -685,7 +673,7 @@ void ProjectTreeBuilder::Private::prepareProduct(ProjectContext &projectContext,
const auto it = projectContext.result->profileConfigs.constFind(productContext.profileName);
QVariantMap flatConfig;
if (it == projectContext.result->profileConfigs.constEnd()) {
- const Profile profile(productContext.profileName, settings.get(), localProfiles.profiles());
+ const Profile profile(productContext.profileName, &settings, localProfiles.profiles());
if (!profile.exists()) {
ErrorInfo error(Tr::tr("Profile '%1' does not exist.").arg(profile.name()),
productItem->location());
diff --git a/src/lib/corelib/loader/projecttreebuilder.h b/src/lib/corelib/loader/projecttreebuilder.h
index 87111f730..663b65a55 100644
--- a/src/lib/corelib/loader/projecttreebuilder.h
+++ b/src/lib/corelib/loader/projecttreebuilder.h
@@ -88,7 +88,6 @@ public:
Result load();
void setProgressObserver(ProgressObserver *progressObserver);
- void setSearchPaths(const QStringList &searchPaths);
void setOldProjectProbes(const std::vector<ProbeConstPtr> &oldProbes);
void setOldProductProbes(const QHash<QString, std::vector<ProbeConstPtr>> &oldProbes);
void setLastResolveTime(const FileTime &time);
diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp
index 376b737e1..5bfa51824 100644
--- a/tests/auto/language/tst_language.cpp
+++ b/tests/auto/language/tst_language.cpp
@@ -177,12 +177,11 @@ void TestLanguage::initTestCase()
m_logger = Logger(m_logSink);
m_engine = ScriptEngine::create(m_logger, EvalContext::PropertyEvaluation);
loader = new Loader(m_engine.get(), m_logger);
- loader->setSearchPaths(QStringList()
- << (testDataDir() + "/../../../../share/qbs"));
defaultParameters.setTopLevelProfile(profileName());
defaultParameters.setConfigurationName("default");
defaultParameters.expandBuildConfiguration();
defaultParameters.setEnvironment(QProcessEnvironment::systemEnvironment());
+ defaultParameters.setSearchPaths({testDataDir() + "/../../../../share/qbs"});
QVERIFY(QFileInfo(m_wildcardsTestDirPath).isAbsolute());
}