diff options
author | jkobus <jaroslaw.kobus@theqtcompany.com> | 2014-12-19 16:07:34 +0100 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@theqtcompany.com> | 2015-01-15 16:36:04 +0100 |
commit | 735b67dd8b788e8f13e866b8d21d60c3c75baff8 (patch) | |
tree | bdacf42787792af862b3b1230c82b927a8b62294 /src/libs/installer/componentchecker.cpp | |
parent | 91b5f01dfbb56683d5b1acafd45131e1cf19c5d1 (diff) |
Warn whenever (auto)dependencies are not leaf nodes.
Whenever any source or destination node
of dependency link or any destination node
of autodependency link has
children, warn about it. Maintenance tool
isn't able to handle such cases properly.
Change-Id: Ifaf3fbb7903eb960ab8fd977c4f47b7906900115
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Diffstat (limited to 'src/libs/installer/componentchecker.cpp')
-rw-r--r-- | src/libs/installer/componentchecker.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/libs/installer/componentchecker.cpp b/src/libs/installer/componentchecker.cpp index 6b3e0160d..64ce851a0 100644 --- a/src/libs/installer/componentchecker.cpp +++ b/src/libs/installer/componentchecker.cpp @@ -88,6 +88,30 @@ QStringList ComponentChecker::checkComponent(Component *component) .arg(component->name()); } } + if (component->childCount()) { + const QStringList autoDependencies = component->autoDependencies(); + if (!autoDependencies.isEmpty()) { + checkResult << QString::fromLatin1("Component %1 auto depends on other components " + "while having children components. This will not work properly.") + .arg(component->name()); + } + + // TODO: search also for components which autodepend on "component" + // (something like core->autodependees(component)) + + if (!component->dependencies().isEmpty()) { + checkResult << QString::fromLatin1("Component %1 depends on other components " + "while having children components. This will not work properly.") + .arg(component->name()); + } + + PackageManagerCore *core = component->packageManagerCore(); + if (!core->dependees(component).isEmpty()) { + checkResult << QString::fromLatin1("Other components depend on component %1 " + "which has children components. This will not work properly.") + .arg(component->name()); + } + } } return checkResult; } |