32 lines
779 B
C++
32 lines
779 B
C++
#ifndef PACKAGEMANAGEMENT_RESOLVEBUILDORDER_H
|
|
#define PACKAGEMANAGEMENT_RESOLVEBUILDORDER_H
|
|
|
|
#include <c++utilities/application/argumentparser.h>
|
|
|
|
#include <QString>
|
|
#include <QList>
|
|
|
|
namespace RepoIndex {
|
|
|
|
class Manager;
|
|
class TaskInfo;
|
|
class Dependency;
|
|
|
|
class BuildOrderResolver
|
|
{
|
|
public:
|
|
BuildOrderResolver(const Manager &manager);
|
|
|
|
QStringList resolve(const ApplicationUtilities::StringVector &packages) const;
|
|
static void printResults(const QStringList &results);
|
|
|
|
private:
|
|
void addDeps(QList<TaskInfo *> &tasks, TaskInfo *task) const;
|
|
void addDeps(QList<TaskInfo *> &tasks, TaskInfo *task, const QList<Dependency> &dependencies) const;
|
|
const Manager &m_manager;
|
|
};
|
|
|
|
} // namespace PackageManagement
|
|
|
|
#endif // PACKAGEMANAGEMENT_RESOLVEBUILDORDER_H
|