org.liquibase.gradle.LiquibaseExtension.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of liquibase-gradle-plugin Show documentation
Show all versions of liquibase-gradle-plugin Show documentation
A Gradle plugin for running the Liquibase database upgrade tool.
/*
* Copyright 2011-2020 Tim Berglund and Steven C. Saliman
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.liquibase.gradle
import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.artifacts.Configuration
/**
* This is the Gradle extension that configures the Liquibase plugin. All
* configuration options will be in the {@code liquibase} block of the
* build.gradle file. This block consists of a list of activities and a run
* list.
*
* @author Steven C. Saliman
*/
class LiquibaseExtension {
final NamedDomainObjectContainer activities
/**
* Define the name of the Main class in Liquibase that the plugin should
* call to run Liquibase itself.
*/
def mainClassName = 'liquibase.integration.commandline.Main'
/**
* Define the list of activities that run for each liquibase task. This
* is a string of comma separated activity names. This is a string instead
* of an array to facilitate the use of Gradle properties. If no runList is
* defined, the plugin will run all activities.
*/
def runList
LiquibaseExtension(NamedDomainObjectContainer activities) {
this.activities = activities
}
def activities(Closure closure) {
activities.configure(closure)
}
}