/*
 * Copyright 2017 LinkedIn Corp.
 *
 * 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.
 *
 */
apply plugin: 'distribution'

dependencies {

    // todo kunkun-tang: consolidate dependencies in azkaban-common and azkaban-db
    compile('log4j:log4j:1.2.16')
    compile('com.google.inject:guice:4.1.0')

    compile('commons-dbutils:commons-dbutils:1.5')
    compile('org.apache.commons:commons-dbcp2:2.1.1')

    testCompile('org.mockito:mockito-all:1.10.19')
    testRuntime('com.h2database:h2:1.4.193')
}

/**
 * concat task
 * Concatenate all the sql queries / files (except update.*.sql) and collect it into a single
 * SQL file.
 */
task concat() {
    doLast {
        ext.destFile = 'build/sql/create-all-sql-' + version + '.sql';
        ant.concat(destfile: destFile, fixlastline: 'yes') {
            logger.info('Concating create scripts to ' + destFile)
            fileset(dir: 'src/main/sql') {
                exclude(name: 'database.properties')
            }
        }
    }
}

installDist.dependsOn concat
distTar.dependsOn concat
distZip.dependsOn concat

distributions {
    main {
        contents {
            from('src/main/sql')
            from("$buildDir/sql")
        }
    }
}
