Tests in BuildPluginIT copy the workspace but exclude the build directories based on whether the directory string representation includes `/build/` or not. This check is problematic if the directory of the project has a parent directory also named `build`. The change in this commit checks to see if the path relative to the project directory has any path parts equal to `build`.
This commit is contained in:
parent
fee1a9528c
commit
ccf3e443b5
|
@ -31,6 +31,7 @@ import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
|
@ -84,7 +85,16 @@ public class BuildPluginIT extends GradleIntegrationTestCase {
|
||||||
|
|
||||||
private void runInsecureArtifactRepositoryTest(final String name, final String url, final List<String> lines) throws IOException {
|
private void runInsecureArtifactRepositoryTest(final String name, final String url, final List<String> lines) throws IOException {
|
||||||
final File projectDir = getProjectDir("elasticsearch.build");
|
final File projectDir = getProjectDir("elasticsearch.build");
|
||||||
FileUtils.copyDirectory(projectDir, tmpDir.getRoot(), pathname -> pathname.getPath().contains("/build/") == false);
|
final Path projectDirPath = projectDir.toPath();
|
||||||
|
FileUtils.copyDirectory(projectDir, tmpDir.getRoot(), file -> {
|
||||||
|
final Path relativePath = projectDirPath.relativize(file.toPath());
|
||||||
|
for (Path segment : relativePath) {
|
||||||
|
if (segment.toString().equals("build")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
final List<String> buildGradleLines = Files.readAllLines(tmpDir.getRoot().toPath().resolve("build.gradle"), StandardCharsets.UTF_8);
|
final List<String> buildGradleLines = Files.readAllLines(tmpDir.getRoot().toPath().resolve("build.gradle"), StandardCharsets.UTF_8);
|
||||||
buildGradleLines.addAll(lines);
|
buildGradleLines.addAll(lines);
|
||||||
Files.write(tmpDir.getRoot().toPath().resolve("build.gradle"), buildGradleLines, StandardCharsets.UTF_8);
|
Files.write(tmpDir.getRoot().toPath().resolve("build.gradle"), buildGradleLines, StandardCharsets.UTF_8);
|
||||||
|
|
Loading…
Reference in New Issue