mirror of
https://github.com/corda/corda.git
synced 2024-12-21 05:53:23 +00:00
103 lines
3.6 KiB
Groovy
103 lines
3.6 KiB
Groovy
evaluationDependsOn(":node:capsule")
|
|
|
|
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
|
|
import com.bmuschko.gradle.docker.tasks.image.DockerPushImage
|
|
|
|
import java.time.LocalDateTime
|
|
import java.time.format.DateTimeFormatter
|
|
|
|
apply plugin: 'kotlin'
|
|
apply plugin: 'application'
|
|
apply plugin: 'com.bmuschko.docker-remote-api'
|
|
|
|
// We need to set mainClassName before applying the shadow plugin.
|
|
mainClassName = 'net.corda.core.ConfigExporterMain'
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
|
|
dependencies{
|
|
compile project(':node')
|
|
}
|
|
|
|
shadowJar {
|
|
baseName = 'config-exporter'
|
|
classifier = null
|
|
version = null
|
|
zip64 true
|
|
exclude '**/Log4j2Plugins.dat'
|
|
}
|
|
|
|
docker{
|
|
registryCredentials {
|
|
url = System.env.DOCKER_URL ?: "hub.docker.com"
|
|
username = System.env.DOCKER_USERNAME
|
|
password = System.env.DOCKER_PASSWORD
|
|
}
|
|
}
|
|
|
|
final dockerTempDir = file("$buildDir/docker-temp")
|
|
|
|
task buildDockerFolder(type: Copy) {
|
|
into dockerTempDir
|
|
from "src/bash/run-corda.sh"
|
|
from(project(':node:capsule').tasks.buildCordaJAR) {
|
|
rename 'corda-(.*)', 'corda.jar'
|
|
}
|
|
from(shadowJar) {
|
|
rename 'config-exporter-(.*).jar', 'config-exporter.jar'
|
|
}
|
|
from "src/config/starting-node.conf"
|
|
from "src/bash/generate-config.sh"
|
|
from "src/docker/DockerfileAL"
|
|
from "src/docker/Dockerfile"
|
|
from "src/docker/Dockerfile11"
|
|
}
|
|
|
|
final String runTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))
|
|
final String suffix = project.version.toString().toLowerCase().contains("snapshot") ? runTime : "RELEASE"
|
|
final zuluBuildTags = ["corda/corda-zulu-java${JavaVersion.current()}-${project.version.toString().toLowerCase()}:${suffix}", "corda/corda-zulu-java${JavaVersion.current()}-${project.version.toString().toLowerCase()}:latest"]
|
|
final correttoBuildTags = ["corda/corda-corretto-java${JavaVersion.current()}-${project.version.toString().toLowerCase()}:${suffix}", "corda/corda-corretto-java${JavaVersion.current()}-${project.version.toString().toLowerCase()}:latest"]
|
|
|
|
task buildOfficialZuluDockerImage(type: DockerBuildImage, dependsOn: [buildDockerFolder]) {
|
|
inputDir = dockerTempDir
|
|
tags = zuluBuildTags
|
|
dockerFile = new File(dockerTempDir, "Dockerfile")
|
|
}
|
|
|
|
task buildOfficialZuluJDK11DockerImage(type: DockerBuildImage, dependsOn: [buildDockerFolder]) {
|
|
inputDir = dockerTempDir
|
|
tags = zuluBuildTags
|
|
dockerFile = new File(dockerTempDir, "Dockerfile11")
|
|
}
|
|
|
|
task buildOfficialCorrettoDockerImage(type: DockerBuildImage, dependsOn: [buildDockerFolder]) {
|
|
inputDir = dockerTempDir
|
|
tags = correttoBuildTags
|
|
dockerFile = new File(dockerTempDir, "DockerfileAL")
|
|
}
|
|
|
|
task pushZuluTimeStampedTag('type': DockerPushImage, dependsOn: [buildOfficialZuluDockerImage]){
|
|
imageName = zuluBuildTags[0]
|
|
}
|
|
|
|
task pushZuluLatestTag('type': DockerPushImage, dependsOn: [buildOfficialZuluDockerImage]){
|
|
imageName = zuluBuildTags[1]
|
|
}
|
|
|
|
task pushZulu11TimeStampedTag('type': DockerPushImage, dependsOn: [buildOfficialZuluJDK11DockerImage]){
|
|
imageName = zuluBuildTags[0]
|
|
}
|
|
|
|
task pushZulu11LatestTag('type': DockerPushImage, dependsOn: [buildOfficialZuluJDK11DockerImage]){
|
|
imageName = zuluBuildTags[1]
|
|
}
|
|
|
|
task pushCorrettoTimeStampedTag('type': DockerPushImage, dependsOn: [buildOfficialCorrettoDockerImage]){
|
|
imageName = correttoBuildTags[0]
|
|
}
|
|
|
|
task pushCorrettoLatestTag('type': DockerPushImage, dependsOn: [buildOfficialCorrettoDockerImage]){
|
|
imageName = correttoBuildTags[1]
|
|
}
|
|
|
|
task pushOfficialImages(dependsOn: [pushZuluTimeStampedTag, pushZuluLatestTag, pushCorrettoTimeStampedTag, pushCorrettoLatestTag])
|