public boolean isConfigOriginFromRevision(String revision) { if (!(isConfigDefinedRemotely())) return false; RepoConfigOrigin repoConfigOrigin = (RepoConfigOrigin) this.origin; return repoConfigOrigin.isFromRevision(revision); }
public boolean hasSameConfigOrigin(PipelineConfig other) { if (!(isConfigDefinedRemotely())) return false; return this.origin.equals(other.getOrigin()); }
public boolean isConfigOriginSameAsOneOfMaterials() { if (!(isConfigDefinedRemotely())) return false; RepoConfigOrigin repoConfigOrigin = (RepoConfigOrigin) this.origin; MaterialConfig configMaterial = repoConfigOrigin.getMaterial(); for (MaterialConfig material : this.materialConfigs()) { if (material.getFingerprint().equals(configMaterial.getFingerprint())) return true; } return false; }
private WaitForPipelineMaterialUpdate(CaseInsensitiveString pipelineName, BuildType buildType, ScheduleOptions scheduleOptions) { this.pipelineConfig = goConfigService.pipelineConfigNamed(pipelineName); this.buildType = buildType; this.scheduleOptions = scheduleOptions; pendingMaterials = new ConcurrentHashMap<>(); if (this.pipelineConfig.isConfigDefinedRemotely()) { // Then we must update config first and then continue as usual. // it is also possible that config will disappear at update RepoConfigOrigin configRepo = (RepoConfigOrigin) this.pipelineConfig.getOrigin(); MaterialConfig materialConfig = configRepo.getMaterial(); configMaterial = materialConfigConverter.toMaterial(materialConfig); pendingMaterials.putIfAbsent(materialConfig.getFingerprint(), configMaterial); } if (scheduleOptions.shouldPerformMDUBeforeScheduling()) { for (MaterialConfig materialConfig : pipelineConfig.materialConfigs()) { pendingMaterials.putIfAbsent(materialConfig.getFingerprint(), materialConfigConverter.toMaterial(materialConfig)); } } }