This report shows a user the total number of Dependencies in a detailed form. This report has to be used in conjunction with a report template such as the HTML Template.
Meta-Data Script:
import com.urbancode.anthill3.domain.reporting.*;
ReportMetaData rmd = new ReportMetaData();
rmd.addColumn("Project");
rmd.addColumn("Workflow");
rmd.addColumn("Dependencies");
return rmd;
Context Script:
import com.urbancode.anthill3.domain.profile.*;
import com.urbancode.anthill3.domain.project.*;
import com.urbancode.anthill3.domain.reporting.*;
import com.urbancode.anthill3.domain.workflow.*;
import com.urbancode.anthill3.persistence.*;
import com.urbancode.codestation2.domain.artifacts.*;
Project[] projects = ProjectFactory.getInstance().restoreAll();
ReportOutput output = new ReportOutput(metaData);
for (int i = 0; i < projects.length; i++) {
Workflow[] workflows = projects[i].getOriginatingWorkflowArray();
for (int j = 0; j < workflows.length; j++) {
ReportRow row = new ReportRow(output, "1");
row.setColumnValue("Project", projects[i].getName());
row.setColumnValue("Workflow", workflows[j].getName());
StringBuffer depBuf = new StringBuffer();
Dependency[] deps = workflows[j].getBuildProfile().getDependencyArray();
for (int k = 0; k < deps.length; k++) {
depBuf.append(deps[k].getDependency().toString());
int buildCondition = deps[k].getBuildConditionId();
switch (buildCondition) {
case Dependency.PULL_BUILD:
depBuf.append(" - Pull");
break;
case Dependency.PUSH_BUILD:
depBuf.append(" - Push");
break;
case Dependency.LATEST_BUILD:
if (deps[k].getStatus() != null) {
depBuf.append(" - Use Latest ");
depBuf.append(deps[k].getStatus().toString());
}
else if (deps[k].getStampValue() != null) {
depBuf.append(" - Use ");
depBuf.append(deps[k].getStampValue());
}
else {
depBuf.append(" - Use Latest ");
}
break;
}
depBuf.append("<br><ul>");
CodestationCompatableArtifactSet[] sets = deps[k].getArtifactSets();
for (int l = 0; l < sets.length; l++) {
depBuf.append("<li>");
depBuf.append("'" + sets[l].getName() + "' to '");
String[] setDirs = deps[k].getSetDirs(sets[l]);
for (int m=0; m<setDirs.length; m++) {
depBuf.append(setDirs[m]);
if (m < setDirs.length - 1) {
depBuf.append(", ");
}
}
depBuf.append("'");
if (deps[k].isSetTransitive(sets[l])) {
depBuf.append(" with transitive dependencies");
}
depBuf.append("</li>");
}
depBuf.append("</ul>");
if (k < deps.length - 1) {
depBuf.append("<br>");
}
}
row.setColumnValue("Dependencies", depBuf.toString());
output.addRow(row);
}
}
return output;
Related Content