private void copyMissingRevisions(MaterialRevisions srcRevisions, MaterialRevisions destRevisions) { for (MaterialRevision actualRevision : srcRevisions) { if (!alreadyAdded(destRevisions, actualRevision.getMaterial())) { destRevisions.addRevision(actualRevision); } } }
public static MaterialRevisions createMaterialRevisions(SvnMaterial svnMaterial, Modification modification) { List<Modification> modifications = new ArrayList<>(); modifications.add(modification); MaterialRevisions revisions = new MaterialRevisions(); revisions.addRevision(svnMaterial, modifications); return revisions; }
private MaterialRevisions restoreOriginalOrder(MaterialRevisions actualRevisions, MaterialRevisions computedRevisions) { MaterialRevisions orderedComputedRevisions = new MaterialRevisions(); for (MaterialRevision actualRevision : actualRevisions) { orderedComputedRevisions.addRevision(computedRevisions.findRevisionFor(actualRevision.getMaterial())); } return orderedComputedRevisions; }
@SuppressWarnings("unchecked") public MaterialRevisions findMaterialRevisionsForPipeline(long pipelineId) { List<PipelineMaterialRevision> revisions = findPipelineMaterialRevisions(pipelineId); MaterialRevisions materialRevisions = new MaterialRevisions(); for (PipelineMaterialRevision revision : revisions) { List<Modification> modifications = findModificationsFor(revision); materialRevisions.addRevision(new MaterialRevision(revision.getMaterial(), revision.getChanged(), modifications.toArray(new Modification[modifications.size()]))); } return materialRevisions; }
private MaterialRevisions filter(MaterialRevisions other) { MaterialRevisions filtered = new MaterialRevisions(); for (MaterialRevision myRevision : revisions) { MaterialRevision originalRevision = other.findRevisionFor(myRevision.getMaterial()); filtered.addRevision(myRevision.filter(originalRevision)); } return filtered; }
public static MaterialRevisions getMaterialRevisions(HashMap<Material, String> checkins) { MaterialRevisions revisions = new MaterialRevisions(); for (Material material : checkins.keySet()) { revisions.addRevision(material, aCheckIn(checkins.get(material), "file1.txt")); } return revisions; }
private void fillUpNonOverridableRevisions(MaterialRevisions actualRevisions, MaterialRevisions computedRevisions) { for (int i = 0; i < actualRevisions.numberOfRevisions(); i++) { MaterialRevision actualRev = actualRevisions.getMaterialRevision(i); MaterialRevision computedRevision = computedRevisions.findRevisionFor(actualRev.getMaterial()); if (computedRevision == null) { computedRevisions.addRevision(actualRev); } } }
public MaterialRevisions findLatestRevisions(MaterialRevisions peggedRevisions, Materials materials) { MaterialRevisions revisions = new MaterialRevisions(); for (Material material : materials) { if (ensureHasRevisionForMaterial(peggedRevisions, revisions, material)) { continue; } for (MaterialRevision revision : materialRepository.findLatestModification(material)) { revision.markAsChanged(); revisions.addRevision(revision); } } return revisions; }
public static MaterialRevisions createP4MaterialRevisions(Modification modification) { List<Modification> modifications = new ArrayList<>(); modifications.add(modification); Material svnMaterial = MaterialsMother.p4Material(); MaterialRevisions revisions = new MaterialRevisions(); revisions.addRevision(svnMaterial, modifications); return revisions; }
public static MaterialRevisions multipleRevisions(Material material, long id, Modification... modifications) { material.setId(id); MaterialRevisions revisions = new MaterialRevisions(); revisions.addRevision(material, modifications); return revisions; }
public static MaterialRevisions multipleModifications(Material material) { MaterialRevisions materialRevisions = new MaterialRevisions(); materialRevisions.addRevision(material, multipleModificationList()); return materialRevisions; }
public static MaterialRevisions createHgMaterialRevisions() { MaterialRevisions materialRevisions = new MaterialRevisions(); materialRevisions.addRevision(MaterialsMother.hgMaterial(), multipleModificationsInHg()); return materialRevisions; }
private PipelineInstanceModel hgMaterialWithNoModifications() { MaterialRevisions revisions = new MaterialRevisions(); revisions.addRevision(MaterialsMother.hgMaterial(), new ArrayList<>()); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", null, new StageInstanceModels()); model.setLatestRevisions(revisions); return model; }
@Test public void shouldGetCurrentRevisionForMaterialByName() { MaterialRevisions revisions = new MaterialRevisions(); HgMaterial material = MaterialsMother.hgMaterial(); SvnMaterial svnMaterial = MaterialsMother.svnMaterial(); material.setName(new CaseInsensitiveString("hg_material")); revisions.addRevision(svnMaterial, new Modification(new Date(), "1024", "MOCK_LABEL-12", null)); revisions.addRevision(material, HG_MATERIAL_MODIFICATION); BuildCause buildCause = BuildCause.createWithModifications(revisions, ""); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", buildCause, new StageInstanceModels()); assertThat(model.getCurrentRevision("hg_material").getRevision(), is("a087402bd2a7828a130c1bdf43f2d9ef8f48fd46")); }
public static MaterialRevisions multipleModifications(PipelineConfig pipelineConfig) { MaterialRevisions materialRevisions = new MaterialRevisions(); for (Material material : new MaterialConfigConverter().toMaterials(pipelineConfig.materialConfigs())) { materialRevisions.addRevision(material, multipleModificationList()); } return materialRevisions; }
@Test public void shouldReturnBuildCauseMessageForLegacyDependencyRevision() { MaterialRevisions revisions = new MaterialRevisions(); Modification modification = new Modification(new Date(), "pipelineName/10/stageName/1", "MOCK_LABEL-12", null); revisions.addRevision(new DependencyMaterial(new CaseInsensitiveString("cruise"), new CaseInsensitiveString("dev")), modification); BuildCause modificationBuildCause = BuildCause.createWithModifications(revisions, ""); String message = modificationBuildCause.getBuildCauseMessage(); assertThat(message, containsString("triggered by pipelineName/10/stageName/1")); }
public static MaterialRevisions multipleModificationsInHg(PipelineConfig pipelineConfig) { MaterialRevisions materialRevisions = new MaterialRevisions(); for (Material material : new MaterialConfigConverter().toMaterials(pipelineConfig.materialConfigs())) { materialRevisions.addRevision(material, multipleModificationsInHg()); } return materialRevisions; }
@Test public void shouldGetCurrentMaterialRevisionForMaterial() { MaterialRevisions revisions = new MaterialRevisions(); HgMaterial material = MaterialsMother.hgMaterial(); revisions.addRevision(material, HG_MATERIAL_MODIFICATION); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", BuildCause.createWithModifications(revisions, ""), new StageInstanceModels()); assertThat(model.findCurrentMaterialRevisionForUI(material.config()), is(revisions.getMaterialRevision(0))); }
@Test public void shouldFallbackToPipelineFingerpringWhenGettingCurrentMaterialRevisionForMaterialIsNull() { MaterialRevisions revisions = new MaterialRevisions(); HgMaterial material = MaterialsMother.hgMaterial(); HgMaterial materialWithDifferentDest = MaterialsMother.hgMaterial(); materialWithDifferentDest.setFolder("otherFolder"); revisions.addRevision(material, HG_MATERIAL_MODIFICATION); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", BuildCause.createWithModifications(revisions, ""), new StageInstanceModels()); assertThat(model.findCurrentMaterialRevisionForUI(materialWithDifferentDest.config()), is(revisions.getMaterialRevision(0))); }
@Test public void shouldReplaceTheTemplateWithGitMaterialRevision() { PipelineLabel label = PipelineLabel.create("release-${svnMaterial}-${git}", InsecureEnvironmentVariables.EMPTY_ENV_VARS); MaterialRevisions materialRevisions = ModificationsMother.oneUserOneFile(); ScmMaterial material = MaterialsMother.gitMaterial(""); material.setName(new CaseInsensitiveString("git")); Modification modification = new Modification(); modification.setRevision("8c8a273e12a45e57fed5ce978d830eb482f6f666"); materialRevisions.addRevision(material, modification); label.updateLabel(materialRevisions.getNamedRevisions(), 1); assertThat(label.toString(), is("release-" + ModificationsMother.currentRevision() + "-8c8a273e12a45e57fed5ce978d830eb482f6f666")); }