List projectsNodes = configurationXmlDocument.selectNodes("/deployer/project");
if (null != projectsNodes) {
for (int i = 0; i < projectsNodes.size(); i++) {
DeployerProject project = new DeployerProject(globalSettings);
loadSettingsSection("./settings", projectsNodes.get(i), project.settings);
Node projectNode = (Node)projectsNodes.get(i);
project.path = XmlUtils.getAttributeValue(projectNode, "path");
JavaUtils.checkDirectoryExists(project.path);
List sources = projectNode.selectNodes("./sources");
if (null != sources) {
for (int j = 0; j < sources.size(); j++) {
DeployerSourcesInfo sourcesInfo = new DeployerSourcesInfo();
Node sourcesNode = (Node)sources.get(j);
sourcesInfo.path = XmlUtils.getAttributeValue(sourcesNode, "path");
sourcesInfo.binariesFolder = XmlUtils.getAttributeValue(sourcesNode, "output");
loadDeploymentPaths(sourcesInfo, sourcesNode, true);
project.sources.add(sourcesInfo);
}
}
List resources = projectNode.selectNodes("./resources");
if (null != resources) {
for (int j = 0; j < resources.size(); j++) {
DeployerResourceInfo resourceInfo = new DeployerResourceInfo();
Node resourceNode = (Node)resources.get(j);
resourceInfo.path = XmlUtils.getAttributeValue(resourceNode, "path");
File resourcePath = new File(FilenameUtils.concat(project.path, resourceInfo.path));
if (!resourcePath.exists()) {
throw new ApplicationException("Resource path \"" + resourceInfo.path + "\" doesn't exists in the project \""
+ project.path + "\" ");