use of org.jboss.pnc.spi.BuildOptions in project pnc by project-ncl.
the class SkippingBuiltConfigsTest method shouldNotBuildTheSameBuildConfigurationSetTwice.
@Test
public void shouldNotBuildTheSameBuildConfigurationSetTwice() throws Exception {
// when
BuildOptions buildOptions1 = new BuildOptions();
// first build
coordinator.build(configSet, user, buildOptions1);
waitForEmptyBuildQueue();
BuildOptions buildOptions2 = new BuildOptions();
// rebuild build
coordinator.build(configSet, user, buildOptions2);
waitForEmptyBuildQueue();
// then
List<BuildRecord> buildRecords = getNonRejectedBuildRecords();
logRecords(buildRecords);
assertThat(buildRecords.size()).isEqualTo(configSet.getBuildConfigurations().size());
}
use of org.jboss.pnc.spi.BuildOptions in project pnc by project-ncl.
the class StatusUpdatesTest method createBuildSetTask.
public BuildSetTask createBuildSetTask(BuildConfigurationSet buildConfigurationSet, User user) throws CoreException {
BuildTasksInitializer buildTasksInitializer = new BuildTasksInitializer(datastoreAdapter, 1L);
AtomicInteger atomicInteger = new AtomicInteger(1);
BuildOptions buildOptions = new BuildOptions();
buildOptions.setRebuildMode(RebuildMode.FORCE);
return buildTasksInitializer.createBuildSetTask(buildConfigurationSet, user, buildOptions, () -> Sequence.nextBase32Id(), buildQueue.getUnfinishedTasks());
}
use of org.jboss.pnc.spi.BuildOptions in project pnc by project-ncl.
the class ProjectBuilder method buildProjectsAndWaitForUpdates.
private BuildSetTask buildProjectsAndWaitForUpdates(BuildConfigurationSet buildConfigurationSet, BuildCoordinator buildCoordinator, int nStatusUpdates, Consumer<BuildStatusChangedEvent> onStatusUpdate, List<BuildStatusChangedEvent> receivedStatuses, List<BuildSetStatusChangedEvent> receivedSetStatuses) throws InterruptedException, CoreException {
Consumer<BuildStatusChangedEvent> onStatusUpdateInternal = (statusUpdate) -> {
log.debug("Received status change event [" + (i++) + "]: {}.", statusUpdate);
receivedStatuses.add(statusUpdate);
onStatusUpdate.accept(statusUpdate);
};
final Semaphore semaphore = registerReleaseListenersAndAcquireSemaphore(onStatusUpdateInternal, nStatusUpdates);
final Semaphore buildSetSemaphore = registerBuildSetListeners(receivedSetStatuses, BUILD_SET_STATUS_UPDATES);
BuildOptions buildOptions = new BuildOptions();
buildOptions.setRebuildMode(RebuildMode.FORCE);
BuildSetTask buildSetTask = buildCoordinator.build(buildConfigurationSet, MockUser.newTestUser(1), buildOptions);
assertBuildStartedSuccessfully(buildSetTask);
log.info("Waiting to receive all {} status updates...", nStatusUpdates);
waitForStatusUpdates(nStatusUpdates, semaphore, "");
log.debug("All status updates should be received. Semaphore has {} free entries.", semaphore.availablePermits());
log.info("Waiting to receive all {} build set status updates...", BUILD_SET_STATUS_UPDATES);
waitForStatusUpdates(BUILD_SET_STATUS_UPDATES, buildSetSemaphore, "build set task: " + buildSetTask);
log.debug("All status updates should be received. Semaphore has {} free entries.", semaphore.availablePermits());
return buildSetTask;
}
use of org.jboss.pnc.spi.BuildOptions in project pnc by project-ncl.
the class SingleProjectBuildTest method buildWithAdvancedOptionsTest.
@Test
public void buildWithAdvancedOptionsTest() throws Exception {
// given
BuildOptions originalBuildOptions = new BuildOptions(true, true, true, true, RebuildMode.FORCE, AlignmentPreference.PREFER_PERSISTENT);
DatastoreMock datastoreMock = new DatastoreMock();
TestProjectConfigurationBuilder configurationBuilder = new TestProjectConfigurationBuilder(datastoreMock);
List<BuildStatusChangedEvent> receivedStatuses = new CopyOnWriteArrayList<>();
// when
BuildCoordinator coordinator = buildCoordinatorFactory.createBuildCoordinator(datastoreMock).coordinator;
BuildTask buildTask = buildProject(configurationBuilder.build(1, "c1-java"), coordinator, receivedStatuses::add, originalBuildOptions);
// then
List<BuildRecord> buildRecords = datastoreMock.getBuildRecords();
Assert.assertEquals("Wrong datastore results count.", 1, buildRecords.size());
Assert.assertEquals(originalBuildOptions, buildTask.getBuildOptions());
}
use of org.jboss.pnc.spi.BuildOptions in project pnc by project-ncl.
the class SingleProjectBuildTest method buildWithBasicOptionsTest.
@Test
public void buildWithBasicOptionsTest() throws Exception {
// given
DatastoreMock datastoreMock = new DatastoreMock();
TestProjectConfigurationBuilder configurationBuilder = new TestProjectConfigurationBuilder(datastoreMock);
List<BuildStatusChangedEvent> receivedStatuses = new CopyOnWriteArrayList<>();
// when
BuildCoordinator coordinator = buildCoordinatorFactory.createBuildCoordinator(datastoreMock).coordinator;
BuildTask buildTask = buildProject(configurationBuilder.build(1, "c1-java"), coordinator, receivedStatuses::add);
// then
List<BuildRecord> buildRecords = datastoreMock.getBuildRecords();
Assert.assertEquals("Wrong datastore results count.", 1, buildRecords.size());
Assert.assertEquals(new BuildOptions(), buildTask.getBuildOptions());
}
Aggregations