plugins { id 'org.jdrupes.vmoperator.java-application-conventions' } dependencies { } project.ext.gitBranch = grgit.branch.current.name.replace('/', '-') def registry = "${project.rootProject.properties['docker.registry']}" task buildImage(type: Exec) { inputs.files 'Containerfile' commandLine 'podman', 'build', '--pull', '-t', "${project.name}:${project.gitBranch}",\ '-f', 'Containerfile', '.' } task pushImage(type: Exec) { dependsOn buildImage commandLine 'podman', 'push', '--tls-verify=false', \ "${project.name}:${project.gitBranch}", \ "${registry}/${project.name}:${project.gitBranch}" } task tagWithVersion(type: Exec) { dependsOn pushImage enabled = !project.version.contains("SNAPSHOT") commandLine 'podman', 'push', \ "${project.name}:${project.gitBranch}",\ "${registry}/${project.name}:${project.version}" } task tagAsLatest(type: Exec) { dependsOn tagWithVersion enabled = !project.version.contains("SNAPSHOT") && !project.version.contains("alpha") \ && !project.version.contains("beta") \ || project.rootProject.properties['docker.testRegistry'] \ && project.rootProject.properties['docker.registry'] \ == project.rootProject.properties['docker.testRegistry'] commandLine 'podman', 'push', \ "${project.name}:${project.gitBranch}",\ "${registry}/${project.name}:latest" } task publishImage { dependsOn pushImage dependsOn tagWithVersion dependsOn tagAsLatest } test { enabled = project.hasProperty("k8s.testCluster") useJUnitPlatform() testLogging { showStandardStreams = true } systemProperty "k8s.testCluster", project.hasProperty("k8s.testCluster") ? project.getProperty("k8s.testCluster") : null }