use of org.jboss.pnc.spi.repositorymanager.BuildExecution in project pnc by project-ncl.
the class DefaultBuildExecutor method configureRepository.
private RepositorySession configureRepository(DefaultBuildExecutionSession buildExecutionSession) {
if (buildExecutionSession.isCanceled()) {
return null;
}
ProcessStageUtils.logProcessStageBegin(BuildExecutionStatus.REPO_SETTING_UP.toString(), "Setting up repository...");
buildExecutionSession.setStatus(BuildExecutionStatus.REPO_SETTING_UP);
BuildType buildType = buildExecutionSession.getBuildExecutionConfiguration().getBuildType();
if (buildType == null) {
throw new BuildProcessException("Missing required value buildExecutionConfiguration.buildType");
}
RepositoryType repositoryType = BuildTypeToRepositoryType.getRepositoryType(buildType);
try {
RepositoryManager repositoryManager = repositoryManagerFactory.getRepositoryManager(repositoryType);
BuildExecution buildExecution = buildExecutionSession.getBuildExecutionConfiguration();
String serviceAccountToken = (serviceClient == null ? null : serviceClient.getAuthToken());
RepositorySession buildRepository = repositoryManager.createBuildRepositoryWithRetries(buildExecution, buildExecutionSession.getAccessToken(), serviceAccountToken, repositoryType, buildExecutionSession.getBuildExecutionConfiguration().getGenericParameters(), buildExecutionSession.getBuildExecutionConfiguration().isBrewPullActive());
return buildRepository;
} catch (Throwable e) {
throw new BuildProcessException(e);
} finally {
ProcessStageUtils.logProcessStageEnd(BuildExecutionStatus.REPO_SETTING_UP.toString(), "Repository setup complete.");
}
}
use of org.jboss.pnc.spi.repositorymanager.BuildExecution in project pnc by project-ncl.
the class BuildGroupIncludesProductVersionGroupTest method verifyGroupComposition_ProductVersion_NoConfSet.
@Test
public void verifyGroupComposition_ProductVersion_NoConfSet() throws Exception {
// create a dummy non-chained build execution and repo session based on it
BuildExecution execution = new TestBuildExecution("build_myproject_12345");
Indy indy = driver.getIndy(accessToken);
RepositorySession repositoryConfiguration = driver.createBuildRepository(execution, accessToken, accessToken, RepositoryType.MAVEN, Collections.emptyMap(), false);
String repoId = repositoryConfiguration.getBuildRepositoryId();
assertThat(repoId, equalTo(execution.getBuildContentId()));
// check that the build group includes:
// - the build's hosted repo
// - the product version repo group
// - the "shared-releases" repo group
// - the "shared-imports" repo
// - the public group
// ...in that order
Group buildGroup = indy.stores().load(new StoreKey(MAVEN_PKG_KEY, StoreType.group, repoId), Group.class);
System.out.printf("Constituents:\n %s\n", join(buildGroup.getConstituents(), "\n "));
assertGroupConstituents(buildGroup, new StoreKey(MAVEN_PKG_KEY, StoreType.hosted, execution.getBuildContentId()), new StoreKey(MAVEN_PKG_KEY, StoreType.group, IndyRepositoryConstants.COMMON_BUILD_GROUP_CONSTITUENTS_GROUP));
}
use of org.jboss.pnc.spi.repositorymanager.BuildExecution in project pnc by project-ncl.
the class BuildGroupIndySidecarActivatedTest method verifyGroupComposition_ProductVersion_WithConfSet.
@Test
public void verifyGroupComposition_ProductVersion_WithConfSet() throws Exception {
// create a dummy composed (chained) build execution and a repo session based on it
BuildExecution execution = new TestBuildExecution("build_myproject_1111");
Indy indy = driver.getIndy(accessToken);
RepositorySession repositoryConfiguration = driver.createBuildRepository(execution, accessToken, accessToken, RepositoryType.MAVEN, Collections.emptyMap(), false);
RepositoryConnectionInfo info = repositoryConfiguration.getConnectionInfo();
assertThat(info.getDependencyUrl()).startsWith(sideCarUrl);
assertThat(info.getDeployUrl()).startsWith(sideCarUrl);
}
use of org.jboss.pnc.spi.repositorymanager.BuildExecution in project pnc by project-ncl.
the class BuildGroupIndySidecarDeActivatedTest method verifyGroupComposition_ProductVersion_WithConfSet.
@Test
public void verifyGroupComposition_ProductVersion_WithConfSet() throws Exception {
// create a dummy composed (chained) build execution and a repo session based on it
BuildExecution execution = new TestBuildExecution("build_myproject_1111");
Indy indy = driver.getIndy(accessToken);
RepositorySession repositoryConfiguration = driver.createBuildRepository(execution, accessToken, accessToken, RepositoryType.MAVEN, Collections.emptyMap(), false);
RepositoryConnectionInfo info = repositoryConfiguration.getConnectionInfo();
assertThat(info.getDependencyUrl()).doesNotStartWith(sideCarUrl);
assertThat(info.getDeployUrl()).doesNotStartWith(sideCarUrl);
}
use of org.jboss.pnc.spi.repositorymanager.BuildExecution in project pnc by project-ncl.
the class DependencyUrlIncludesTrackingIdAndGeneratedBuildGroupNameTest method formatRepositoryURLForSimpleInfo_CheckDependencyURL.
@Test
public void formatRepositoryURLForSimpleInfo_CheckDependencyURL() throws Exception {
// create a dummy non-chained build execution and repo session based on it
BuildExecution execution = new TestBuildExecution();
RepositorySession repositoryConfiguration = driver.createBuildRepository(execution, accessToken, accessToken, RepositoryType.MAVEN, Collections.emptyMap(), false);
assertThat(repositoryConfiguration, notNullValue());
// verify the URLs in the connection info reference this build, and refer to a tracked repository group URL
RepositoryConnectionInfo connectionInfo = repositoryConfiguration.getConnectionInfo();
assertThat(connectionInfo, notNullValue());
String expectedUrlPrefix = String.format("%sfolo/track/%s", url, execution.getBuildContentId());
String expectedGroupPathPrefix = String.format("/group/%s", execution.getBuildContentId());
assertThat("Expected URL prefix: " + expectedUrlPrefix + "\nActual URL was: " + connectionInfo.getDependencyUrl(), connectionInfo.getDependencyUrl().startsWith(expectedUrlPrefix), equalTo(true));
assertThat("Expected URL to contain group path prefix: " + expectedGroupPathPrefix + "\nActual URL was: " + connectionInfo.getDependencyUrl(), connectionInfo.getDependencyUrl().contains(expectedGroupPathPrefix), equalTo(true));
}
Aggregations