diff options
Diffstat (limited to 'src/lib/corelib/api/internaljobs.cpp')
-rw-r--r-- | src/lib/corelib/api/internaljobs.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/lib/corelib/api/internaljobs.cpp b/src/lib/corelib/api/internaljobs.cpp index 0fabc6279..35766efa4 100644 --- a/src/lib/corelib/api/internaljobs.cpp +++ b/src/lib/corelib/api/internaljobs.cpp @@ -49,7 +49,8 @@ #include <buildgraph/productinstaller.h> #include <buildgraph/rulesevaluationcontext.h> #include <language/language.h> -#include <language/loader.h> +#include <language/scriptengine.h> +#include <loader/projectresolver.h> #include <logging/logger.h> #include <logging/translator.h> #include <tools/buildgraphlocker.h> @@ -76,6 +77,8 @@ public: { std::lock_guard<std::mutex> lock(m_cancelMutex); m_canceled = true; + for (ScriptEngine * const engine : scriptEngines()) + engine->cancel(); } private: @@ -321,23 +324,21 @@ 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); + ProjectResolver resolver(m_parameters, engine, logger()); + resolver.setProgressObserver(observer()); + m_newProject = resolver.resolve(); QBS_CHECK(m_newProject); } void InternalSetupProjectJob::resolveBuildDataFromScratch(const RulesEvaluationContextPtr &evalContext) { - TimedActivityLogger resolveLogger(logger(), QStringLiteral("Resolving build project"), timed()); BuildDataResolver(logger()).resolveBuildData(m_newProject, evalContext); } BuildGraphLoadResult InternalSetupProjectJob::restoreProject(const RulesEvaluationContextPtr &evalContext) { BuildGraphLoader bgLoader(logger()); - const BuildGraphLoadResult loadResult + BuildGraphLoadResult loadResult = bgLoader.load(m_existingProject, m_parameters, evalContext); return loadResult; } |