Search in sources :

Example 1 with Project

use of org.jboss.pnc.model.Project in project pnc by project-ncl.

the class AbstractDependentBuildTest method buildConfig.

protected BuildConfiguration buildConfig(String name, BuildConfiguration... dependencies) {
    int id = configIdSequence.getAndIncrement();
    Project project = Project.Builder.newBuilder().id(1).name("Mock project").build();
    BuildConfiguration config = BuildConfiguration.Builder.newBuilder().id(id).name(name).project(project).repositoryConfiguration(RepositoryConfigurationMock.newTestRepository()).buildEnvironment(BuildEnvironmentMock.newTest()).build();
    Stream.of(dependencies).forEach(config::addDependency);
    return config;
}
Also used : BuildConfiguration(org.jboss.pnc.model.BuildConfiguration) Project(org.jboss.pnc.model.Project)

Example 2 with Project

use of org.jboss.pnc.model.Project in project pnc by project-ncl.

the class DefaultBuildCoordinatorTest method mockBuildTask.

private BuildTask mockBuildTask() {
    BuildConfiguration buildConfiguration = new BuildConfiguration();
    buildConfiguration.setId(12);
    buildConfiguration.setProject(new Project());
    buildConfiguration.setRepositoryConfiguration(RepositoryConfigurationMock.newTestRepository());
    buildConfiguration.setBuildEnvironment(BuildEnvironmentMock.newTest());
    BuildOptions buildOptions = new BuildOptions(false, true, false, false, RebuildMode.IMPLICIT_DEPENDENCY_CHECK, AlignmentPreference.PREFER_PERSISTENT);
    BuildTask buildTask = BuildTask.build(BuildConfigurationAudited.fromBuildConfiguration(buildConfiguration, 13), buildOptions, MockUser.newTestUser(1), "1", null, new Date(), null, "context-id", Optional.empty());
    buildTask.setStatus(BuildCoordinationStatus.DONE);
    return buildTask;
}
Also used : BuildConfiguration(org.jboss.pnc.model.BuildConfiguration) Project(org.jboss.pnc.model.Project) BuildTask(org.jboss.pnc.spi.coordinator.BuildTask) BuildOptions(org.jboss.pnc.spi.BuildOptions) Date(java.util.Date)

Example 3 with Project

use of org.jboss.pnc.model.Project in project pnc by project-ncl.

the class DatastoreAdapterTest method mockBuildTask.

private BuildTask mockBuildTask() {
    BuildConfiguration buildConfiguration = new BuildConfiguration();
    buildConfiguration.setId(12);
    buildConfiguration.setName("Configuration.");
    buildConfiguration.setProject(new Project());
    BuildOptions buildOptions = new BuildOptions(false, true, false, false, RebuildMode.IMPLICIT_DEPENDENCY_CHECK, AlignmentPreference.PREFER_PERSISTENT);
    BuildTask buildTask = BuildTask.build(BuildConfigurationAudited.fromBuildConfiguration(buildConfiguration, 13), buildOptions, MockUser.newTestUser(1), "123", null, new Date(), null, "context-id", Optional.empty());
    buildTask.setStatus(BuildCoordinationStatus.DONE);
    return buildTask;
}
Also used : BuildConfiguration(org.jboss.pnc.model.BuildConfiguration) Project(org.jboss.pnc.model.Project) BuildTask(org.jboss.pnc.spi.coordinator.BuildTask) BuildOptions(org.jboss.pnc.spi.BuildOptions) Date(java.util.Date)

Example 4 with Project

use of org.jboss.pnc.model.Project in project pnc by project-ncl.

the class DatabaseDataInitializer method initiliazeProjectProductData.

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public void initiliazeProjectProductData() {
    BuildEnvironment environment1Unsaved = BuildEnvironment.Builder.newBuilder().name("Demo Environment 1").description("Basic Java and Maven Environment").attribute("JDK", "1.7.0").attribute("OS", "Linux").systemImageId("12345678").systemImageRepositoryUrl("my.registry/newcastle").systemImageType(SystemImageType.DOCKER_IMAGE).deprecated(false).build();
    BuildEnvironment environment1 = environmentRepository.save(environment1Unsaved);
    BuildEnvironment environment2Unsaved = BuildEnvironment.Builder.newBuilder().name("Demo Environment 2").description("Basic Java and Maven Environment").attribute("JDK", "1.7.0").attribute("OS", "Linux").systemImageId("12345679").systemImageRepositoryUrl("my.registry/newcastle").systemImageType(SystemImageType.DOCKER_IMAGE).deprecated(true).build();
    BuildEnvironment environment2 = environmentRepository.save(environment2Unsaved);
    /*
         * All the bi-directional mapping settings are managed inside the Builders
         */
    // Example product and product version
    Product product = Product.Builder.newBuilder().name(PNC_PRODUCT_NAME).abbreviation("PNC").description("Example Product for Project Newcastle Demo").build();
    product = productRepository.save(product);
    // Example product version, release, and milestone of the product
    ProductVersion productVersion1 = ProductVersion.Builder.newBuilder().version(PNC_PRODUCT_VERSION_1).product(product).generateBrewTagPrefix(product.getAbbreviation(), PNC_PRODUCT_VERSION_1, systemConfig.getBrewTagPattern()).build();
    productVersion1 = productVersionRepository.save(productVersion1);
    ProductVersion productVersion2 = ProductVersion.Builder.newBuilder().version(PNC_PRODUCT_VERSION_2).product(product).generateBrewTagPrefix(product.getAbbreviation(), PNC_PRODUCT_VERSION_2, systemConfig.getBrewTagPattern()).build();
    productVersion2 = productVersionRepository.save(productVersion2);
    demoProductMilestone1 = ProductMilestone.Builder.newBuilder().version(PNC_PRODUCT_MILESTONE1).startingDate(ONE_WEEK_BEFORE_TODAY).plannedEndDate(TODAY).productVersion(productVersion1).build();
    demoProductMilestone1 = productMilestoneRepository.save(demoProductMilestone1);
    ProductMilestone demoProductMilestone2 = ProductMilestone.Builder.newBuilder().version(PNC_PRODUCT_MILESTONE2).startingDate(TODAY).plannedEndDate(ONE_WEEK_AFTER_TODAY).productVersion(productVersion1).build();
    demoProductMilestone2 = productMilestoneRepository.save(demoProductMilestone2);
    Instant t0 = TODAY.toInstant();
    Instant successTime = t0.plus(10, ChronoUnit.MINUTES);
    ProductMilestone demoProductMilestone3 = ProductMilestone.Builder.newBuilder().version(PNC_PRODUCT_MILESTONE3).startingDate(TODAY).plannedEndDate(ONE_WEEK_AFTER_TODAY).endDate(ONE_WEEK_AFTER_TODAY).productVersion(productVersion1).build();
    demoProductMilestone3 = productMilestoneRepository.save(demoProductMilestone3);
    ProductMilestone demoProductMilestone4 = ProductMilestone.Builder.newBuilder().version(PNC_PRODUCT_MILESTONE4).startingDate(TODAY).plannedEndDate(ONE_WEEK_AFTER_TODAY).endDate(ONE_WEEK_AFTER_TODAY).productVersion(productVersion1).build();
    demoProductMilestone4 = productMilestoneRepository.save(demoProductMilestone4);
    ProductMilestoneRelease milestoneRelease1 = new ProductMilestoneRelease();
    milestoneRelease1.setId(Sequence.nextId());
    milestoneRelease1.setMilestone(demoProductMilestone3);
    // first store with latter starting date to test sort function
    milestoneRelease1.setStartingDate(Date.from(t0.plus(2, ChronoUnit.MINUTES)));
    milestoneRelease1.setStatus(MilestoneCloseStatus.SYSTEM_ERROR);
    productMilestoneReleaseRepository.save(milestoneRelease1);
    ProductMilestoneRelease milestoneRelease2 = new ProductMilestoneRelease();
    milestoneRelease2.setId(Sequence.nextId());
    milestoneRelease2.setMilestone(demoProductMilestone3);
    milestoneRelease2.setStartingDate(Date.from(t0));
    milestoneRelease2.setStatus(MilestoneCloseStatus.FAILED);
    productMilestoneReleaseRepository.save(milestoneRelease2);
    ProductMilestoneRelease milestoneRelease3 = new ProductMilestoneRelease();
    milestoneRelease3.setId(Sequence.nextId());
    milestoneRelease3.setMilestone(demoProductMilestone3);
    milestoneRelease3.setStartingDate(Date.from(successTime));
    milestoneRelease3.setStatus(MilestoneCloseStatus.SUCCEEDED);
    productMilestoneReleaseRepository.save(milestoneRelease3);
    ProductRelease productRelease = ProductRelease.Builder.newBuilder().version(PNC_PRODUCT_RELEASE).productMilestone(demoProductMilestone1).supportLevel(SupportLevel.EARLYACCESS).build();
    productRelease = productReleaseRepository.save(productRelease);
    productVersion1.setCurrentProductMilestone(demoProductMilestone3);
    productVersion1 = productVersionRepository.save(productVersion1);
    // Example projects
    Project project1 = Project.Builder.newBuilder().name(PNC_PROJECT_1_NAME).description("Example Project for Newcastle Demo").projectUrl("https://github.com/project-ncl/pnc").build();
    Project project2 = Project.Builder.newBuilder().name("Causeway").description("Causeway - Koji integration").projectUrl("https://github.com/project-ncl/causeway").build();
    Project project3 = Project.Builder.newBuilder().name("Pnc Build Agent").description("Pnc Build Agent - remote client to execute commands.").projectUrl("https://github.com/project-ncl/pnc-build-agent").build();
    Project project4 = Project.Builder.newBuilder().name("Dependency Analysis").description("Dependency Analysis - Analise project dependencies.").projectUrl("https://github.com/project-ncl/dependency-analysis").build();
    Project project5 = Project.Builder.newBuilder().name("termd").description("Remote shell.").projectUrl("https://github.com/project-ncl/termd").build();
    projectRepository.save(project1);
    projectRepository.save(project2);
    projectRepository.save(project3);
    projectRepository.save(project4);
    projectRepository.save(project5);
    RepositoryConfiguration repositoryConfiguration1 = createRepositoryConfiguration(demoDataConfig.getInternalRepo(0), "https://github.com/project-ncl/pnc.git");
    RepositoryConfiguration repositoryConfiguration2 = createRepositoryConfiguration(demoDataConfig.getInternalRepo(1), null);
    RepositoryConfiguration repositoryConfiguration3 = createRepositoryConfiguration(demoDataConfig.getInternalRepo(2), null);
    RepositoryConfiguration repositoryConfiguration4 = createRepositoryConfiguration(demoDataConfig.getInternalRepo(3), null);
    RepositoryConfiguration repositoryConfiguration5 = createRepositoryConfiguration(demoDataConfig.getInternalRepo(4), null);
    repositoryConfigurationRepository.save(repositoryConfiguration1);
    repositoryConfigurationRepository.save(repositoryConfiguration2);
    repositoryConfigurationRepository.save(repositoryConfiguration3);
    repositoryConfigurationRepository.save(repositoryConfiguration4);
    repositoryConfigurationRepository.save(repositoryConfiguration5);
    // Example build configurations
    Map<String, String> genericParameters = new HashMap<>();
    genericParameters.put("KEY", "VALUE");
    buildConfiguration1 = BuildConfiguration.Builder.newBuilder().id(sequenceHandlerRepository.getNextID(BuildConfiguration.SEQUENCE_NAME).intValue()).name(PNC_PROJECT_BUILD_CFG_ID).project(project1).description("Test build config for project newcastle").buildType(BuildType.MVN).buildEnvironment(environment1).buildScript("mvn deploy -DskipTests=true").repositoryConfiguration(repositoryConfiguration1).productVersion(productVersion1).scmRevision("*/v0.2").genericParameters(genericParameters).build();
    buildConfiguration1 = buildConfigurationRepository.save(buildConfiguration1);
    buildConfiguration2 = BuildConfiguration.Builder.newBuilder().id(sequenceHandlerRepository.getNextID(BuildConfiguration.SEQUENCE_NAME).intValue()).name("termd").project(project2).buildType(BuildType.MVN).description("Test configueration for Termd.").buildEnvironment(environment1).buildScript("mvn deploy -DskipTests=true").productVersion(productVersion1).repositoryConfiguration(repositoryConfiguration2).scmRevision("master").build();
    buildConfiguration2 = buildConfigurationRepository.save(buildConfiguration2);
    BuildConfiguration buildConfiguration3 = BuildConfiguration.Builder.newBuilder().id(sequenceHandlerRepository.getNextID(BuildConfiguration.SEQUENCE_NAME).intValue()).name("pnc-build-agent-0.4").project(project3).description("Test config for Pnc Build Agent.").buildType(BuildType.MVN).buildEnvironment(environment1).buildScript("mvn deploy -DskipTests=true").productVersion(productVersion2).repositoryConfiguration(repositoryConfiguration3).dependency(buildConfiguration2).build();
    buildConfiguration3 = buildConfigurationRepository.save(buildConfiguration3);
    BuildConfiguration buildConfiguration4 = BuildConfiguration.Builder.newBuilder().id(sequenceHandlerRepository.getNextID(BuildConfiguration.SEQUENCE_NAME).intValue()).name("dependency-analysis-1.3").project(project4).description("Test config for Dependency Analysis.").buildType(BuildType.MVN).buildEnvironment(environment1).buildScript("mvn deploy -DskipTests=true").repositoryConfiguration(repositoryConfiguration4).dependency(buildConfiguration1).build();
    buildConfiguration4 = buildConfigurationRepository.save(buildConfiguration4);
    BuildConfiguration buildConfiguration5 = BuildConfiguration.Builder.newBuilder().id(sequenceHandlerRepository.getNextID(BuildConfiguration.SEQUENCE_NAME).intValue()).name("maven-plugin-test").project(project5).description("Test build for Plugins with external downloads").buildType(BuildType.MVN).buildEnvironment(environment1).buildScript("mvn clean deploy").repositoryConfiguration(repositoryConfiguration5).build();
    buildConfiguration5 = buildConfigurationRepository.save(buildConfiguration5);
    // Build config set containing the three example build configs
    buildConfigurationSet1 = BuildConfigurationSet.Builder.newBuilder().name("Example-Build-Group-1").buildConfiguration(buildConfiguration1).buildConfiguration(buildConfiguration2).buildConfiguration(buildConfiguration3).productVersion(productVersion1).build();
    BuildConfigurationSet buildConfigurationSet2 = BuildConfigurationSet.Builder.newBuilder().name("Fabric-Build-Group").buildConfiguration(buildConfiguration4).productVersion(productVersion1).build();
    demoUser = User.Builder.newBuilder().username("demo-user").firstName("Demo First Name").lastName("Demo Last Name").email("demo-user@pnc.com").build();
    pncAdminUser = User.Builder.newBuilder().username("pnc-admin").firstName("pnc-admin").lastName("pnc-admin").email("pnc-admin@pnc.com").build();
    buildConfigurationSetRepository.save(buildConfigurationSet1);
    buildConfigurationSetRepository.save(buildConfigurationSet2);
    demoUser = userRepository.save(demoUser);
    pncAdminUser = userRepository.save(pncAdminUser);
}
Also used : ProductMilestone(org.jboss.pnc.model.ProductMilestone) HashMap(java.util.HashMap) Instant(java.time.Instant) Product(org.jboss.pnc.model.Product) ProductVersion(org.jboss.pnc.model.ProductVersion) BuildConfiguration(org.jboss.pnc.model.BuildConfiguration) Project(org.jboss.pnc.model.Project) BuildConfigurationSet(org.jboss.pnc.model.BuildConfigurationSet) BuildEnvironment(org.jboss.pnc.model.BuildEnvironment) ProductRelease(org.jboss.pnc.model.ProductRelease) RepositoryConfiguration(org.jboss.pnc.model.RepositoryConfiguration) ProductMilestoneRelease(org.jboss.pnc.model.ProductMilestoneRelease) TransactionAttribute(javax.ejb.TransactionAttribute)

Example 5 with Project

use of org.jboss.pnc.model.Project in project pnc by project-ncl.

the class TestProjectConfigurationBuilder method build.

public BuildConfiguration build(int id, String name, BuildConfigurationSet buildConfigurationSet) {
    Project project = new Project();
    project.setId(id);
    project.setName(name);
    RepositoryConfiguration repositoryConfiguration = RepositoryConfiguration.Builder.newBuilder().id(id).internalUrl("github.com/" + name).build();
    BuildConfiguration buildConfiguration = new BuildConfiguration();
    buildConfiguration.setId(id);
    buildConfiguration.setBuildScript(PASS);
    buildConfiguration.setName(id + "");
    buildConfiguration.setRepositoryConfiguration(repositoryConfiguration);
    buildConfiguration.setBuildType(BuildType.MVN);
    buildConfiguration.setBuildEnvironment(javaBuildEnvironment);
    buildConfiguration.setProject(project);
    buildConfiguration.setProject(project);
    buildConfiguration.setArchived(false);
    project.addBuildConfiguration(buildConfiguration);
    if (buildConfigurationSet != null) {
        buildConfigurationSet.addBuildConfiguration(buildConfiguration);
    }
    datastore.save(buildConfiguration);
    return buildConfiguration;
}
Also used : BuildConfiguration(org.jboss.pnc.model.BuildConfiguration) Project(org.jboss.pnc.model.Project) RepositoryConfiguration(org.jboss.pnc.model.RepositoryConfiguration)

Aggregations

Project (org.jboss.pnc.model.Project)8 BuildConfiguration (org.jboss.pnc.model.BuildConfiguration)7 Date (java.util.Date)2 RepositoryConfiguration (org.jboss.pnc.model.RepositoryConfiguration)2 BuildOptions (org.jboss.pnc.spi.BuildOptions)2 BuildTask (org.jboss.pnc.spi.coordinator.BuildTask)2 Instant (java.time.Instant)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 Set (java.util.Set)1 Collectors (java.util.stream.Collectors)1 Stateless (javax.ejb.Stateless)1 TransactionAttribute (javax.ejb.TransactionAttribute)1 Inject (javax.inject.Inject)1 EntityManager (javax.persistence.EntityManager)1 CriteriaBuilder (javax.persistence.criteria.CriteriaBuilder)1 CriteriaQuery (javax.persistence.criteria.CriteriaQuery)1 Root (javax.persistence.criteria.Root)1 AuditReaderFactory (org.hibernate.envers.AuditReaderFactory)1