diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2023-04-20 15:42:51 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2023-04-21 13:06:35 +0000 |
commit | 43f173106ee30e07c951f2b13e04a9160b2edaad (patch) | |
tree | 1f9661fb7f108ff8e8ea057b8f31c08dca12f094 /src/lib/corelib/language/projecttreebuilder.h | |
parent | aa32afbb934e57a5cc0298ef5ec75af2da86a9d9 (diff) | |
download | qbs-43f173106ee30e07c951f2b13e04a9160b2edaad.tar.gz |
Clean up ProjectTreeBuilder interface
ProductContext is no longer used elsewhere.
Change-Id: I6bf158d61153c9a05c4963bacd64801b3f0309ec
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'src/lib/corelib/language/projecttreebuilder.h')
-rw-r--r-- | src/lib/corelib/language/projecttreebuilder.h | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/src/lib/corelib/language/projecttreebuilder.h b/src/lib/corelib/language/projecttreebuilder.h index 76a4df372..5f7869978 100644 --- a/src/lib/corelib/language/projecttreebuilder.h +++ b/src/lib/corelib/language/projecttreebuilder.h @@ -40,22 +40,13 @@ #pragma once #include "forward_decls.h" -#include "filetags.h" #include "moduleproviderinfo.h" #include "moduleproviderloader.h" #include "qualifiedid.h" -#include <tools/filetime.h> -#include <tools/stringconstants.h> -#include <tools/version.h> - #include <QString> #include <QVariant> -#include <optional> -#include <queue> -#include <stack> - namespace qbs { class SetupProjectParameters; namespace Internal { @@ -65,16 +56,6 @@ class Item; class ItemPool; class ProgressObserver; -class ContextBase -{ -public: - Item *item = nullptr; - Item *scope = nullptr; - QString name; -}; - -class ProjectContext; - using ModulePropertiesPerGroup = std::unordered_map<const Item *, QualifiedIdSet>; // TODO: This class only needs to be known inside the ProjectResolver; no need to @@ -118,109 +99,5 @@ private: Private * const d; }; -class ProductContext : public ContextBase -{ -public: - ProjectContext *project = nullptr; - Item *mergedExportItem = nullptr; - ProjectTreeBuilder::Result::ProductInfo info; - QString profileName; - QString multiplexConfigurationId; - QVariantMap profileModuleProperties; // Tree-ified module properties from profile. - QVariantMap moduleProperties; // Tree-ified module properties from profile + overridden values. - QVariantMap defaultParameters; // In Export item. - QStringList searchPaths; - - std::optional<QVariantMap> theModuleProviderConfig; - - struct ResolvedDependsItem { - Item *item = nullptr; - QualifiedId name; - QStringList subModules; - FileTags productTypes; - QStringList multiplexIds; - std::optional<QStringList> profiles; - VersionRange versionRange; - QVariantMap parameters; - bool limitToSubProject = false; - FallbackMode fallbackMode = FallbackMode::Enabled; - bool requiredLocally = true; - bool requiredGlobally = true; - }; - struct ResolvedAndMultiplexedDependsItem { - ResolvedAndMultiplexedDependsItem(ProductContext *product, - const ResolvedDependsItem &dependency) - : product(product), item(dependency.item), name(product->name), - versionRange(dependency.versionRange), parameters(dependency.parameters), - fallbackMode(FallbackMode::Disabled), checkProduct(false) {} - ResolvedAndMultiplexedDependsItem(const ResolvedDependsItem &dependency, - const QualifiedId &name, - const QString &profile, const QString &multiplexId) - : item(dependency.item), name(name), profile(profile), multiplexId(multiplexId), - versionRange(dependency.versionRange), parameters(dependency.parameters), - limitToSubProject(dependency.limitToSubProject), fallbackMode(dependency.fallbackMode), - requiredLocally(dependency.requiredLocally), - requiredGlobally(dependency.requiredGlobally) {} - ResolvedAndMultiplexedDependsItem() = default; - static ResolvedAndMultiplexedDependsItem makeBaseDependency() { - ResolvedAndMultiplexedDependsItem item; - item.fallbackMode = FallbackMode::Disabled; - item.name = StringConstants::qbsModule(); - return item; - } - - QString id() const; - CodeLocation location() const; - QString displayName() const; - - ProductContext *product = nullptr; - Item *item = nullptr; - QualifiedId name; - QString profile; - QString multiplexId; - VersionRange versionRange; - QVariantMap parameters; - bool limitToSubProject = false; - FallbackMode fallbackMode = FallbackMode::Enabled; - bool requiredLocally = true; - bool requiredGlobally = true; - bool checkProduct = true; - }; - struct DependenciesResolvingState { - Item *loadingItem = nullptr; - ResolvedAndMultiplexedDependsItem loadingItemOrigin; - std::queue<Item *> pendingDependsItems; - std::optional<ResolvedDependsItem> currentDependsItem; - std::queue<ResolvedAndMultiplexedDependsItem> pendingResolvedDependencies; - bool requiredByLoadingItem = true; - }; - std::list<DependenciesResolvingState> resolveDependenciesState; - - QString uniqueName() const; -}; - -class TopLevelProjectContext -{ -public: - TopLevelProjectContext() = default; - TopLevelProjectContext(const TopLevelProjectContext &) = delete; - TopLevelProjectContext &operator=(const TopLevelProjectContext &) = delete; - ~TopLevelProjectContext() { qDeleteAll(projects); } - - std::vector<ProjectContext *> projects; - std::list<std::pair<ProductContext *, int>> productsToHandle; - std::vector<ProbeConstPtr> probes; - QString buildDirectory; -}; - -class ProjectContext : public ContextBase -{ -public: - TopLevelProjectContext *topLevelProject = nullptr; - ProjectTreeBuilder::Result *result = nullptr; - std::vector<ProductContext> products; - std::vector<QStringList> searchPathsStack; -}; - } // namespace Internal } // namespace qbs |