NOISSUE reimplement package dependencies

It is now stored as a hashmap
There is also a parentUid to limit depsolving by encapsulating by version
This commit is contained in:
Petr Mrázek
2017-03-24 02:26:06 +01:00
parent 77f27a628f
commit da4ae1bc1e
10 changed files with 118 additions and 143 deletions

View File

@ -65,6 +65,10 @@ void Meta::Version::merge(const std::shared_ptr<BaseEntity> &other)
{
setRequires(version->m_requires);
}
if (m_parentUid != version->m_parentUid)
{
setParentUid(version->m_parentUid);
}
setData(version->m_data);
}
@ -74,21 +78,30 @@ QString Meta::Version::localFilename() const
return m_uid + '/' + m_version + ".json";
}
void Meta::Version::setParentUid(const QString& parentUid)
{
m_parentUid = parentUid;
emit requiresChanged();
}
void Meta::Version::setType(const QString &type)
{
m_type = type;
emit typeChanged();
}
void Meta::Version::setTime(const qint64 time)
{
m_time = time;
emit timeChanged();
}
void Meta::Version::setRequires(const QVector<Reference> &requires)
void Meta::Version::setRequires(const QHash<QString, QString> &requires)
{
m_requires = requires;
emit requiresChanged();
}
void Meta::Version::setData(const VersionFilePtr &data)
{
m_data = data;