//--------------------------------------------------------------------------- // addTask //--------------------------------------------------------------------------- IPropertyTree* addTask(IDeployTask& task) { // Get or add Component node IPropertyTree* compNode = addComponent(task.getCompName()); assertex(compNode); // Get Tasks node IPropertyTree* tasksNode = compNode->queryPropTree("Tasks"); assertex(tasksNode); // Add new task IPropertyTree* node = createPTree("Task"); node->addProp("@action", task.getCaption()); node->addProp("@source", task.getFileSpec(DT_SOURCE)); node->addProp("@target", task.getFileSpec(DT_TARGET)); CDateTime modifiedTime; Owned<IFile> pTargetFile = createIFile(task.getFileSpec(DT_TARGET)); if (pTargetFile->getTime(NULL, &modifiedTime, NULL)) { StringBuffer timestamp; modifiedTime.getString(timestamp); offset_t filesize = pTargetFile->size(); node->addProp("@date", timestamp.str()); node->addPropInt64("@size", filesize); } if (task.getErrorCode()) { node->addProp("@error", task.getErrorString()); compNode->setProp("@error", "true"); } return tasksNode->addPropTree("Task", node); }