146 lines
5 KiB
Groovy
146 lines
5 KiB
Groovy
/*
|
|
* This file was generated by the Gradle 'init' task.
|
|
*
|
|
* This project uses @Incubating APIs which are subject to change.
|
|
*/
|
|
|
|
plugins {
|
|
id 'org.jdrupes.vmoperator.java-application-conventions'
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'org.jgrapes:org.jgrapes.core:[1.19.0,2)'
|
|
implementation 'org.jgrapes:org.jgrapes.io:[2.7.0,3)'
|
|
implementation 'org.jgrapes:org.jgrapes.http:[3.1.0,4)'
|
|
implementation 'org.jgrapes:org.jgrapes.util:[1.31.0,2)'
|
|
implementation project(':org.jdrupes.vmoperator.common')
|
|
|
|
implementation 'commons-cli:commons-cli:1.5.0'
|
|
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:[2.16.1]'
|
|
|
|
runtimeOnly 'org.slf4j:slf4j-jdk14:[2.0.7,3)'
|
|
}
|
|
|
|
application {
|
|
applicationName = 'vm-runner.qemu'
|
|
// Keep sync'd with deploy/vmop-deployment.yaml
|
|
applicationDefaultJvmArgs = ['-Xmx32m', '-XX:+UseParallelGC',
|
|
'-Djava.util.logging.manager=org.jdrupes.vmoperator.util.LongLoggingManager'
|
|
]
|
|
// Define the main class for the application.
|
|
mainClass = 'org.jdrupes.vmoperator.runner.qemu.Runner'
|
|
}
|
|
|
|
task buildArchImage(type: Exec) {
|
|
dependsOn installDist
|
|
inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch'
|
|
|
|
commandLine 'podman', 'build', '--pull',
|
|
'-t', "${project.name}-arch:${project.version}",\
|
|
'-f', 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch', '.'
|
|
}
|
|
|
|
task tagLatestArchImage(type: Exec) {
|
|
dependsOn buildArchImage
|
|
|
|
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', 'tag', "${project.name}-arch:${project.version}",\
|
|
"${project.name}-arch:latest"
|
|
}
|
|
|
|
task buildLatestArchImage {
|
|
dependsOn buildArchImage
|
|
dependsOn tagLatestArchImage
|
|
}
|
|
|
|
task pushArchImage(type: Exec) {
|
|
dependsOn buildArchImage
|
|
|
|
commandLine 'podman', 'push', '--tls-verify=false', \
|
|
"localhost/${project.name}-arch:${project.version}", \
|
|
"${project.rootProject.properties['docker.registry']}" \
|
|
+ "/${project.name}-arch:${project.version}"
|
|
}
|
|
|
|
task pushArchLatestImage(type: Exec) {
|
|
dependsOn buildLatestArchImage
|
|
|
|
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', '--tls-verify=false', \
|
|
"localhost/${project.name}-arch:${project.version}", \
|
|
"${project.rootProject.properties['docker.registry']}" \
|
|
+ "/${project.name}-arch:latest"
|
|
}
|
|
|
|
task buildAlpineImage(type: Exec) {
|
|
dependsOn installDist
|
|
inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.alpine'
|
|
|
|
commandLine 'podman', 'build', '--pull',
|
|
'-t', "${project.name}-alpine:${project.version}",\
|
|
'-f', 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.alpine', '.'
|
|
}
|
|
|
|
task tagLatestAlpineImage(type: Exec) {
|
|
dependsOn buildAlpineImage
|
|
|
|
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', 'tag', "${project.name}-alpine:${project.version}",\
|
|
"${project.name}-alpine:latest"
|
|
}
|
|
|
|
task buildLatestAlpineImage {
|
|
dependsOn buildAlpineImage
|
|
dependsOn tagLatestAlpineImage
|
|
}
|
|
|
|
task pushAlpineImage(type: Exec) {
|
|
dependsOn buildAlpineImage
|
|
|
|
commandLine 'podman', 'push', '--tls-verify=false', \
|
|
"localhost/${project.name}-alpine:${project.version}", \
|
|
"${project.rootProject.properties['docker.registry']}" \
|
|
+ "/${project.name}-alpine:${project.version}"
|
|
}
|
|
|
|
task pushAlpineLatestImage(type: Exec) {
|
|
dependsOn buildLatestAlpineImage
|
|
|
|
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', '--tls-verify=false', \
|
|
"localhost/${project.name}-alpine:${project.version}", \
|
|
"${project.rootProject.properties['docker.registry']}" \
|
|
+ "/${project.name}-alpine:latest"
|
|
}
|
|
|
|
task pushImages {
|
|
dependsOn pushArchImage
|
|
dependsOn pushArchLatestImage
|
|
dependsOn pushAlpineImage
|
|
dependsOn pushAlpineLatestImage
|
|
}
|
|
|