summaryrefslogtreecommitdiff
path: root/src/lib/corelib/language/projecttreebuilder.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/language/projecttreebuilder.h')
-rw-r--r--src/lib/corelib/language/projecttreebuilder.h123
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