diff options
author | Tobias Hunger <tobias.hunger@digia.com> | 2012-11-29 15:45:34 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2012-11-29 18:03:20 +0100 |
commit | ba97abad7e72d528fdc363ad87e33a70ec0c4657 (patch) | |
tree | 140c48adf154adabfc483f2ceaa0b27646d48fa3 | |
parent | 1268926177367dc9bab31e031261cf3e234858d8 (diff) |
Sort products, groups and files
This makes the output more stable, so that you can e.g. do
meaningful comparisons based on qbs status output.
Change-Id: I7d8121d832da1b7e4768c89b038b44f5056af549
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
-rw-r--r-- | src/lib/api/project.cpp | 4 | ||||
-rw-r--r-- | src/lib/api/projectdata.cpp | 10 | ||||
-rw-r--r-- | src/lib/api/projectdata.h | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/lib/api/project.cpp b/src/lib/api/project.cpp index 74ded4afe..1269f7baf 100644 --- a/src/lib/api/project.cpp +++ b/src/lib/api/project.cpp @@ -258,11 +258,15 @@ void ProjectPrivate::retrieveProjectData() foreach (const SourceArtifactConstPtr &sa, resolvedGroup->wildcards->files) group.m_expandedWildcards << sa->absoluteFilePath; } + qSort(group.m_filePaths); + qSort(group.m_expandedWildcards); group.m_properties = resolvedGroup->properties->value(); product.m_groups << group; } + qSort(product.m_groups); m_projectData.m_products << product; } + qSort(m_projectData.m_products); m_projectDataRetrieved = true; } diff --git a/src/lib/api/projectdata.cpp b/src/lib/api/projectdata.cpp index 830c5a5a7..45288d94b 100644 --- a/src/lib/api/projectdata.cpp +++ b/src/lib/api/projectdata.cpp @@ -64,6 +64,11 @@ bool operator!=(const ProductData &lhs, const ProductData &rhs) return !(lhs == rhs); } +bool operator<(const GroupData &lhs, const GroupData &rhs) +{ + return lhs.name() < rhs.name(); +} + ProjectData::ProjectData() { } bool operator==(const ProjectData &lhs, const ProjectData &rhs) @@ -77,6 +82,11 @@ bool operator!=(const ProjectData &lhs, const ProjectData &rhs) return !(lhs == rhs); } +bool operator<(const ProductData &lhs, const ProductData &rhs) +{ + return lhs.name() < rhs.name(); +} + /*! * \class GroupData * \brief The \c GroupData class corresponds to the Group item in a qbs source file. diff --git a/src/lib/api/projectdata.h b/src/lib/api/projectdata.h index f08e1def7..872c89d49 100644 --- a/src/lib/api/projectdata.h +++ b/src/lib/api/projectdata.h @@ -65,6 +65,7 @@ private: bool operator==(const GroupData &lhs, const GroupData &rhs); bool operator!=(const GroupData &lhs, const GroupData &rhs); +bool operator<(const GroupData &lhs, const GroupData &rhs); class ProductData { @@ -90,6 +91,7 @@ private: bool operator==(const ProductData &lhs, const ProductData &rhs); bool operator!=(const ProductData &lhs, const ProductData &rhs); +bool operator<(const ProductData &lhs, const ProductData &rhs); class ProjectData { |