示例#1
0
void addUsedFilesFromActivePackageMaps(MapStringTo<bool> &usedFileMap, const char *process)
{
    Owned<IPropertyTree> packageSet = resolvePackageSetRegistry(process, true);
    if (!packageSet)
        throw MakeStringException(ECLWATCH_PACKAGEMAP_NOTRESOLVED, "Unable to retrieve package information from dali /PackageMaps");
    Owned<IPropertyTreeIterator> activeMaps = packageSet->getElements("PackageMap[@active='1']");
    //Add files referenced in all active maps, for all targets configured for this process cluster
    ForEach(*activeMaps)
    {
        Owned<IPropertyTree> packageMap = getPackageMapById(activeMaps->query().queryProp("@id"), true);
        if (packageMap)
        {
            Owned<IPropertyTreeIterator> subFiles = packageMap->getElements("//SubFile");
            ForEach(*subFiles)
                addLfnToUsedFileMap(usedFileMap, subFiles->query().queryProp("@value"));
        }
    }
}
示例#2
0
CHpccPackageSet::CHpccPackageSet(const char *_process) : process(_process)
{
    Owned<IPropertyTree> ps = resolvePackageSetRegistry(process, true);
    if (ps)
        load(ps);
}