diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2023-05-04 16:31:37 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2023-05-05 06:51:37 +0000 |
commit | e149a0cb116005f3c400285bac3b6d057d8e36ac (patch) | |
tree | 0074b0a45747004db857d55949a50bb3fff4036f | |
parent | d2896c08cf39d9aa9b20717128196b958f320fcd (diff) | |
download | qbs-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.cpp | 1 | ||||
-rw-r--r-- | src/lib/corelib/buildgraph/buildgraphloader.cpp | 1 | ||||
-rw-r--r-- | src/lib/corelib/loader/itemreader.cpp | 18 | ||||
-rw-r--r-- | src/lib/corelib/loader/itemreader.h | 8 | ||||
-rw-r--r-- | src/lib/corelib/loader/loader.cpp | 16 | ||||
-rw-r--r-- | src/lib/corelib/loader/loader.h | 2 | ||||
-rw-r--r-- | src/lib/corelib/loader/projecttreebuilder.cpp | 20 | ||||
-rw-r--r-- | src/lib/corelib/loader/projecttreebuilder.h | 1 | ||||
-rw-r--r-- | tests/auto/language/tst_language.cpp | 3 |
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 ¶meters, 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 ¶meters, 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 ¶meters, 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()); } |