VM-Operator/org.jdrupes.vmoperator.runner.qemu/build.gradle

133 lines
4.2 KiB
Groovy
Raw Permalink Normal View History

2023-05-23 21:38:32 +02:00
/*
* 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)'
2023-06-04 13:05:02 +02:00
implementation 'org.jgrapes:org.jgrapes.io:[2.7.0,3)'
2023-05-23 21:38:32 +02:00
implementation 'org.jgrapes:org.jgrapes.http:[3.1.0,4)'
2023-09-01 22:22:57 +02:00
implementation 'org.jgrapes:org.jgrapes.util:[1.31.0,2)'
implementation project(':org.jdrupes.vmoperator.common')
2023-05-23 21:38:32 +02:00
implementation 'commons-cli:commons-cli:1.5.0'
2023-05-28 21:35:13 +02:00
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:[2.15.1,3]'
2023-09-14 14:14:07 +02:00
runtimeOnly 'org.slf4j:slf4j-jdk14:[2.0.7,3)'
2023-05-23 21:38:32 +02:00
}
application {
applicationName = 'vm-runner.qemu'
2023-08-15 17:02:59 +02:00
// Keep sync'd with deploy/vmop-deployment.yaml
2023-08-24 13:25:25 +02:00
applicationDefaultJvmArgs = ['-Xmx32m', '-XX:+UseParallelGC',
2023-06-08 23:12:56 +02:00
'-Djava.util.logging.manager=org.jdrupes.vmoperator.util.LongLoggingManager'
]
2023-05-23 21:38:32 +02:00
// Define the main class for the application.
mainClass = 'org.jdrupes.vmoperator.runner.qemu.Runner'
}
2023-06-08 23:12:56 +02:00
2023-08-09 18:24:57 +02:00
task buildArchImage(type: Exec) {
2023-06-10 12:46:18 +02:00
dependsOn installDist
inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch'
commandLine 'podman', 'build', '-t', "${project.name}-arch:${project.version}",\
2023-06-10 12:46:18 +02:00
'-f', 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.arch', '.'
}
2023-08-09 18:24:57 +02:00
task tagLatestArchImage(type: Exec) {
dependsOn buildArchImage
2023-06-10 12:46:18 +02:00
enabled = !project.version.contains("SNAPSHOT")
&& !project.version.contains("alpha") \
&& !project.version.contains("beta") \
commandLine 'podman', 'tag', "${project.name}-arch:${project.version}",\
2023-10-09 22:13:33 +02:00
"${project.name}-arch:latest"
2023-06-10 12:46:18 +02:00
}
2023-08-09 18:24:57 +02:00
task buildLatestArchImage {
dependsOn buildArchImage
dependsOn tagLatestArchImage
2023-06-10 12:46:18 +02:00
}
2023-08-09 18:24:57 +02:00
task pushArchImage(type: Exec) {
dependsOn buildArchImage
2023-06-10 12:46:18 +02:00
commandLine 'podman', 'push', '--tls-verify=false', \
"localhost/${project.name}-arch:${project.version}", \
2023-06-10 12:46:18 +02:00
"${project.rootProject.properties['docker.registry']}" \
2023-06-11 21:56:41 +02:00
+ "/${project.name}-arch:${project.version}"
2023-06-10 12:46:18 +02:00
}
2023-08-09 18:24:57 +02:00
task pushArchLatestImage(type: Exec) {
dependsOn buildLatestArchImage
2023-06-10 12:46:18 +02:00
enabled = !project.version.contains("SNAPSHOT")
&& !project.version.contains("alpha") \
&& !project.version.contains("beta") \
2023-06-10 12:46:18 +02:00
commandLine 'podman', 'push', '--tls-verify=false', \
"localhost/${project.name}-arch:${project.version}", \
2023-06-10 12:46:18 +02:00
"${project.rootProject.properties['docker.registry']}" \
2023-06-11 21:56:41 +02:00
+ "/${project.name}-arch:latest"
2023-06-10 12:46:18 +02:00
}
task buildAlpineImage(type: Exec) {
dependsOn installDist
inputs.files 'src/org/jdrupes/vmoperator/runner/qemu/Containerfile.alpine'
commandLine 'podman', 'build', '-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") \
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") \
commandLine 'podman', 'push', '--tls-verify=false', \
"localhost/${project.name}-alpine:${project.version}", \
"${project.rootProject.properties['docker.registry']}" \
+ "/${project.name}-alpine:latest"
}
2023-08-09 18:24:57 +02:00
task pushImages {
dependsOn pushArchImage
dependsOn pushArchLatestImage
dependsOn pushAlpineImage
dependsOn pushAlpineLatestImage
2023-06-08 23:12:56 +02:00
}