public void prepareBuildProjects( Map<Integer, Integer> projectsBuildDefinitionsMap, BuildTrigger buildTrigger,
int projectGroupId, String projectGroupName, String scmRootAddress, int scmRootId,
List<ProjectScmRoot> scmRoots )
throws ContinuumException, NoBuildAgentException, NoBuildAgentInGroupException
{
PrepareBuildProjectsTask task = new PrepareBuildProjectsTask( projectsBuildDefinitionsMap, buildTrigger,
projectGroupId, projectGroupName, scmRootAddress,
scmRootId );
if ( buildTrigger.getTrigger() == ContinuumProjectState.TRIGGER_FORCED )
{
log.debug( "Build project (projectGroupId={}) triggered manually by {}", projectGroupId,
buildTrigger.getTriggeredBy() );
}
else
{
log.debug( "Build project (projectGroupId={}) triggered by schedule {}", projectGroupId,
buildTrigger.getTriggeredBy() );
}
if ( log.isDebugEnabled() )
{
Map<String, BuildProjectTask> buildTasks = getProjectsCurrentlyBuilding();
for ( String key : buildTasks.keySet() )
{
log.debug( "Current build of agent {} :: Project {}", key, buildTasks.get( key ).getProjectName() );
}
Map<String, List<BuildProjectTask>> buildQueues = getProjectsInBuildQueue();
for ( String key : buildQueues.keySet() )
{
for ( BuildProjectTask buildTask : buildQueues.get( key ) )
{
log.debug( "Build Queue of agent {} :: Project {}", key, buildTask.getProjectName() );
}
}
Map<String, PrepareBuildProjectsTask> prepareBuildTasks = getProjectsCurrentlyPreparingBuild();
for ( String key : prepareBuildTasks.keySet() )
{
PrepareBuildProjectsTask prepareBuildTask = prepareBuildTasks.get( key );
log.debug( "Current prepare build of agent {} :: Project Group {} - Scm Root {}",
new Object[]{key, prepareBuildTask.getProjectGroupName(),
prepareBuildTask.getProjectScmRootId()} );
}
Map<String, List<PrepareBuildProjectsTask>> prepareBuildQueues = getProjectsInPrepareBuildQueue();
for ( String key : prepareBuildQueues.keySet() )
{
for ( PrepareBuildProjectsTask prepareBuildTask : prepareBuildQueues.get( key ) )
{
log.debug( "Prepare Build Queue of agent {} : Project Group {} - Scm Root {}",
new Object[]{key, prepareBuildTask.getProjectGroupName(),
prepareBuildTask.getProjectScmRootId()} );
}
}
}
log.debug( "Determining which build agent should build the project..." );