diff options
| author | Christian Kandeler <christian.kandeler@digia.com> | 2013-03-26 11:47:44 +0100 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-03-26 12:22:54 +0100 |
| commit | 55b848f530e18ae1f8294f05fb1971aa578dd956 (patch) | |
| tree | 358b72692e01e255b9749fd461cbfe959aa9b445 /src/lib/buildgraph/artifactcleaner.cpp | |
| parent | a222a9c4fcbd9b315ea5c759ff09ea89f76ab825 (diff) | |
| download | qbs-55b848f530e18ae1f8294f05fb1971aa578dd956.tar.gz | |
Add option to log how much time an operation takes.
This is an interesting information that people might want independently
of debugging output.
Change-Id: I4a1e3c31cfce6546b43bd2f5f343bf297d764a42
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/buildgraph/artifactcleaner.cpp')
| -rw-r--r-- | src/lib/buildgraph/artifactcleaner.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/buildgraph/artifactcleaner.cpp b/src/lib/buildgraph/artifactcleaner.cpp index af3a2433c..be2d3525a 100644 --- a/src/lib/buildgraph/artifactcleaner.cpp +++ b/src/lib/buildgraph/artifactcleaner.cpp @@ -41,6 +41,7 @@ #include <tools/cleanoptions.h> #include <tools/error.h> #include <tools/fileinfo.h> +#include <tools/progressobserver.h> #include <QCoreApplication> #include <QDir> @@ -130,22 +131,24 @@ private: QSet<QString> m_directories; }; -ArtifactCleaner::ArtifactCleaner(const Logger &logger) : m_logger(logger) +ArtifactCleaner::ArtifactCleaner(const Logger &logger, ProgressObserver *observer) + : m_logger(logger), m_observer(observer) { } void ArtifactCleaner::cleanup(const QList<BuildProductPtr> &products, const CleanOptions &options) { m_hasError = false; - TimedActivityLogger logger(m_logger, QLatin1String("Cleaning up")); QSet<QString> directories; + m_observer->initialize(Tr::tr("Cleaning up"), products.count() + 1); foreach (const BuildProductConstPtr &product, products) { CleanupVisitor visitor(options, m_logger); visitor.visitProduct(product); directories.unite(visitor.directories()); if (visitor.hasError()) m_hasError = true; + m_observer->incrementProgressValue(); } // Directories created during the build are not artifacts (TODO: should they be?), @@ -154,9 +157,11 @@ void ArtifactCleaner::cleanup(const QList<BuildProductPtr> &products, const Clea if (FileInfo(dir).exists()) removeEmptyDirectories(dir, options); } + m_observer->incrementProgressValue(); if (m_hasError) throw Error(Tr::tr("Failed to remove some files.")); + m_observer->setFinished(); } void ArtifactCleaner::removeEmptyDirectories(const QString &rootDir, const CleanOptions &options, |
