private void writeSimpleBuildScript()

in plugins/docker/base-image/src/integrationTest/java/co/elastic/gradle/dockerbase/DockerBaseImageMatrix.java [103:176]


    private void writeSimpleBuildScript(GradleTestkitHelper helper, String baseImages) {
        final String[] from = baseImages.split(":");
        assertEquals(2, from.length);
        final String fromType;
        if (baseImages.contains("chainguard")) {
            fromType = "Wolfi";
        } else {
            fromType = from[0].substring(0, 1).toUpperCase() + from[0].substring(1);
        }
        helper.buildScript(String.format("""
                import java.net.URL
                plugins {
                   id("base")
                   id("co.elastic.docker-base")
                   id("co.elastic.cli.jfrog")
                   id("co.elastic.vault")
                }
                vault {
                      address.set("https://vault-ci-prod.elastic.dev")
                      auth {
                        ghTokenFile()
                        ghTokenEnv()
                        tokenEnv()
                        roleAndSecretEnv()
                      }
                }
                val creds = vault.readAndCacheSecret("secret/ci/elastic-gradle-plugins/artifactory_creds").get()
                cli {
                    jfrog {
                        username.set(creds["username"])
                        password.set(creds["plaintext"])
                    }
                }
            
                dockerBaseImage {
                    dockerTagLocalPrefix.set("gradle-test-local")
                    osPackageRepository.set(URL("https://${creds["username"]}:${creds["plaintext"]}@artifactory.elastic.dev/artifactory/gradle-plugins-os-packages"))
                    from%s("%s", "%s")
                    install("patch")
                    copySpec("1234:1234") {
                       from(fileTree("image_content")) {
                          into("home/foobar")
                       }
                    }
                    copySpec() {
                        from(projectDir) {
                           include("build.gradle.kts")
                        }
                        into("home/foobar")
                    }
                    healthcheck("/home/foobar/foo.txt")
                    env("MYVAR_PROJECT" to project.name)
                    createUser("foobar", 1234, "foobar", 1234)
                    run(
                        "ls -Ral /home",
                        "echo \\"This plugin rocks on $architecture and ephemeral files are available at $dockerEphemeral!\\" > /home/foobar/bar.txt"
                    )
                    run(listOf(
                        "touch /home/foobar/run.listOf.1",
                        "touch /home/foobar/run.listOf.2",
                        "chmod -R 777 /home"
                    ))
                    setUser("foobar")
                    install("patch", "sudo", "bash")
                    if ("%s" == "centos") {
                       install("which")
                    }
                    run(
                        "whoami > /home/foobar/whoami",
                    )
                }
                """, fromType, from[0], from[1], from[0])
        );
    }