Added compact syntax for package dependencies:

"depends on: package version"

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@777 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2007-12-21 18:14:51 +00:00
parent 1ee9eeb578
commit 1cb5700a00
3 changed files with 30 additions and 4 deletions
+19 -3
View File
@@ -436,9 +436,25 @@ String Package::toStandardName(const String& name) {
// ----------------------------------------------------------------------------- : Packaged
IMPLEMENT_REFLECTION(PackageDependency) {
REFLECT(package);
REFLECT(version);
template <> void Reader::handle(PackageDependency& dep) {
if (!isComplex()) {
handle(dep.package);
size_t pos = dep.package.find_first_of(_(' '));
if (pos != String::npos) {
dep.version = Version::fromString(dep.package.substr(pos+1));
dep.package = dep.package.substr(0,pos);
}
} else {
handle(_("package"), dep.package);
handle(_("version"), dep.version);
}
}
template <> void Writer::handle(const PackageDependency& dep) {
if (dep.version != Version()) {
handle(dep.package + _(" ") + dep.version.toString());
} else {
handle(dep.package);
}
}
// note: reflection must be declared before it is used