< prev index next >

test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 33,43 **** import java.nio.file.StandardCopyOption; import java.nio.file.attribute.BasicFileAttributes; import java.util.ArrayList; import java.util.Collections; import java.util.List; - import jdk.test.lib.Platform; import jdk.test.lib.Utils; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools; --- 33,42 ----
*** 124,138 **** Path buildDir = Paths.get(".", buildDirName); if (Files.exists(buildDir)) { throw new RuntimeException("The docker build directory already exists: " + buildDir); } - // check for the existance of a platform specific docker file as well - String platformSpecificDockerfile = dockerfile + "-" + Platform.getOsArch(); - if (Files.exists(Paths.get(Utils.TEST_SRC, platformSpecificDockerfile))) { - dockerfile = platformSpecificDockerfile; - } Path jdkSrcDir = Paths.get(Utils.TEST_JDK); Path jdkDstDir = buildDir.resolve("jdk"); Files.createDirectories(jdkDstDir); --- 123,132 ----
*** 156,167 **** * @throws Exception */ public static void buildDockerImage(String imageName, Path dockerfile, Path buildDir) throws Exception { ! // Copy docker file to the build dir ! Files.copy(dockerfile, buildDir.resolve("Dockerfile")); // Build the docker execute("docker", "build", "--no-cache", "--tag", imageName, buildDir.toString()) .shouldHaveExitValue(0) .shouldContain("Successfully built"); --- 150,162 ---- * @throws Exception */ public static void buildDockerImage(String imageName, Path dockerfile, Path buildDir) throws Exception { ! generateDockerFile(buildDir.resolve("Dockerfile"), ! DockerfileConfig.getBaseImageName(), ! DockerfileConfig.getBaseImageVersion()); // Build the docker execute("docker", "build", "--no-cache", "--tag", imageName, buildDir.toString()) .shouldHaveExitValue(0) .shouldContain("Successfully built");
*** 248,257 **** --- 243,264 ---- return output; } + private static void generateDockerFile(Path dockerfile, String baseImage, + String baseImageVersion) throws Exception { + String template = + "FROM %s:%s\n" + + "COPY /jdk /jdk\n" + + "ENV JAVA_HOME=/jdk\n" + + "CMD [\"/bin/bash\"]\n"; + String dockerFileStr = String.format(template, baseImage, baseImageVersion); + Files.writeString(dockerfile, dockerFileStr); + } + + private static class CopyFileVisitor extends SimpleFileVisitor<Path> { private final Path src; private final Path dst; public CopyFileVisitor(Path src, Path dst) {
< prev index next >