in clearcase-server/src/jetbrains/buildServer/buildTriggers/vcs/clearcase/ClearCaseSupport.java [1030:1067]
public void updateParameters(@NotNull BuildStartContext context) {
final SRunningBuild build = context.getBuild();
try {
//collect all clearcase's roots and populate current ConfigSpecs for each
for (final VcsRootEntry entry : build.getVcsRootEntries()) {
if (getName().equals(entry.getVcsRoot().getVcsName())) { //looking for clearcase only
final String viewPath = trim(entry.getVcsRoot().getProperty(Constants.CC_VIEW_PATH));
final File viewRoot = new File(viewPath);
if (viewRoot.exists()) {
try {
final CCSnapshotView ccView = CCSnapshotView.init(viewRoot);
LOG.debug(String.format("The \"%s\" view initialized", ccView));
final StringBuffer specsBuffer = new StringBuffer();
for (String spec : ccView.getConfigSpec()) {
specsBuffer.append(spec).append("\n");
}
//pass config spec to agents
final String configSpecParameterName = getConfigSpecParameterName(entry.getVcsRoot());
final String configSpecParameterValue = specsBuffer.toString();
context.addSharedParameter(configSpecParameterName, configSpecParameterValue);
LOG.debug(String.format("added SharedParameter: %s=\"%s\"", configSpecParameterName, configSpecParameterValue));
//pass tag to agents
final String originalViewTagParameterName = getOriginalViewTagParameterName(entry.getVcsRoot());
String originalViewTagParameterValue = ccView.getTag().trim();
context.addSharedParameter(originalViewTagParameterName, originalViewTagParameterValue);
LOG.debug(String.format("added SharedParameter: %s=\"%s\"", originalViewTagParameterName, originalViewTagParameterValue));
} catch (CCException e) {
LOG.error(e.getMessage(), e);
}
} else {
LOG.error(String.format("The view's root directory \"%s\" does not exist. Could not get ConfigSpec of this VcsRoot", viewPath));
}
}
}
} catch (Throwable e) {
LOG.error(e.getMessage(), e);
}
}