ai.digital.integration.server.common.tasks.database.DatabaseStopTask.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of integration-server-gradle-plugin Show documentation
Show all versions of integration-server-gradle-plugin Show documentation
The easy way to get custom setup for Deploy up and running
package ai.digital.integration.server.common.tasks.database
import ai.digital.integration.server.common.constant.PluginConstant.PLUGIN_GROUP
import ai.digital.integration.server.common.util.DbUtil
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.TaskAction
import java.io.File
open class DatabaseStopTask : DefaultTask() {
companion object {
const val NAME = "databaseStop"
}
init {
this.group = PLUGIN_GROUP
}
@InputFiles
fun getDockerComposeFile(): File {
DbUtil.assertNotDerby(project, "Docker compose tasks do not support Derby database.")
val resultComposeFilePath = DbUtil.getResolveDbFilePath(project)
DbUtil.getResolvedDBDockerComposeFile(resultComposeFilePath, project)
return project.file(resultComposeFilePath)
}
@TaskAction
fun run() {
project.exec {
executable = "docker-compose"
args = arrayListOf("-f", getDockerComposeFile().path, "down", "--remove-orphans")
}
}
}