private void validateNotOutsideSandbox() { String dest = this.getFolder(); if (dest == null) { return; } if (!(FilenameUtil.isNormalizedPathOutsideWorkingDir(dest))) { addError(FOLDER, String.format("Dest folder '%s' is not valid. It must be a sub-directory of the working folder.", dest)); } }
public void validateNotSubdirectoryOf(String otherSCMMaterialFolder) { String myDirPath = this.getFolder(); if (myDirPath == null || otherSCMMaterialFolder == null) { return; } if (FilenameUtil.isNormalizedDirectoryPathInsideNormalizedParentDirectory(myDirPath, otherSCMMaterialFolder)) { addError(FOLDER, "Invalid Destination Directory. Every material needs a different destination directory and the directories should not be nested."); } }
private void validateDestFolderPath() { if (StringUtils.isBlank(folder)) { return; } if (!new FilePathTypeValidator().isPathValid(folder)) { addError(FOLDER, FilePathTypeValidator.errorMessage("directory", getFolder())); } }
public PluggableSCMMaterial(PluggableSCMMaterialConfig config) { this(); this.name = config.getName(); this.scmId = config.getScmId(); this.scmConfig = config.getSCMConfig(); this.folder = config.getFolder(); this.filter = config.filter(); }
private CRPluggableScmMaterial pluggableScmMaterialConfigToCRPluggableScmMaterial(PluggableSCMMaterialConfig pluggableScmMaterialConfig) { SCMs scms = getSCMs(); String id = pluggableScmMaterialConfig.getScmId(); SCM scmConfig = scms.find(id); if (scmConfig == null) throw new ConfigConvertionException( String.format("Failed to find referenced scm '%s'", id)); return new CRPluggableScmMaterial(pluggableScmMaterialConfig.getName().toString(), id, pluggableScmMaterialConfig.getFolder(), pluggableScmMaterialConfig.filter().ignoredFileNames()); }
@Test public void shouldSetConfigAttributesForSCMMaterialWhenDataIsEmpty() throws Exception { Map<String, String> attributes = new HashMap<>(); attributes.put(PluggableSCMMaterialConfig.SCM_ID, "scm-id"); attributes.put(PluggableSCMMaterialConfig.FOLDER, ""); attributes.put(PluggableSCMMaterialConfig.FILTER, ""); PluggableSCMMaterialConfig pluggableSCMMaterialConfig = new PluggableSCMMaterialConfig(); pluggableSCMMaterialConfig.setFolder("dest"); pluggableSCMMaterialConfig.setFilter(new Filter(new IgnoredFiles("/foo/**.*"))); pluggableSCMMaterialConfig.setConfigAttributes(attributes); assertThat(pluggableSCMMaterialConfig.getScmId(), is("scm-id")); assertThat(pluggableSCMMaterialConfig.getFolder(), is(nullValue())); assertThat(pluggableSCMMaterialConfig.filter(), is(new Filter())); }
public static void toJSON(OutputWriter jsonWriter, PluggableSCMMaterialConfig pluggableSCMMaterialConfig) { jsonWriter.add("ref", pluggableSCMMaterialConfig.getScmId()); if (pluggableSCMMaterialConfig.filter().isEmpty()) { jsonWriter.renderNull("filter"); } else { jsonWriter.addChild("filter", filterWriter -> FilterRepresenter.toJSON(filterWriter, pluggableSCMMaterialConfig.filter())); } jsonWriter.add("destination", pluggableSCMMaterialConfig.getFolder()); }
public static void toJSON(OutputWriter jsonWriter, PluggableSCMMaterialConfig pluggableSCMMaterialConfig) { jsonWriter.add("ref", pluggableSCMMaterialConfig.getScmId()); if (pluggableSCMMaterialConfig.filter().isEmpty()) { jsonWriter.renderNull("filter"); } else { jsonWriter.addChild("filter", filterWriter -> FilterRepresenter.toJSON(filterWriter, pluggableSCMMaterialConfig.filter())); } jsonWriter.add("destination", pluggableSCMMaterialConfig.getFolder()); }
@Test public void shouldSetConfigAttributesForSCMMaterial() throws Exception { Map<String, String> attributes = new HashMap<>(); attributes.put(PluggableSCMMaterialConfig.SCM_ID, "scm-id"); attributes.put(PluggableSCMMaterialConfig.FOLDER, "dest"); attributes.put(PluggableSCMMaterialConfig.FILTER, "/foo/**.*,/another/**.*,bar"); PluggableSCMMaterialConfig pluggableSCMMaterialConfig = new PluggableSCMMaterialConfig(); pluggableSCMMaterialConfig.setConfigAttributes(attributes); assertThat(pluggableSCMMaterialConfig.getScmId(), is("scm-id")); assertThat(pluggableSCMMaterialConfig.getFolder(), is("dest")); assertThat(pluggableSCMMaterialConfig.filter(), is(new Filter(new IgnoredFiles("/foo/**.*"), new IgnoredFiles("/another/**.*"), new IgnoredFiles("bar")))); }
PluggableSCMMaterialConfig pluggableSCMMaterialConfig = (PluggableSCMMaterialConfig) pipelineConfig.materialConfigs().get(0); assertThat(pluggableSCMMaterialConfig.getSCMConfig(), is(goConfigHolder.config.getSCMs().get(0))); assertThat(pluggableSCMMaterialConfig.getFolder(), is(nullValue())); assertThat(pluggableSCMMaterialConfig.filter(), is(new Filter()));
PluggableSCMMaterialConfig pluggableSCMMaterialConfig = (PluggableSCMMaterialConfig) pipelineConfig.materialConfigs().get(0); assertThat(pluggableSCMMaterialConfig.getSCMConfig(), is(goConfigHolder.config.getSCMs().get(0))); assertThat(pluggableSCMMaterialConfig.getFolder(), is("dest")); assertThat(pluggableSCMMaterialConfig.filter(), is(new Filter(new IgnoredFiles("x"), new IgnoredFiles("y"))));