/*
 * 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'

task testJar(type: Jar, dependsOn: testClasses) {
    from sourceSets.test.output
    classifier = 'test'
}

configurations {
    testOutput.extendsFrom(testCompile)
}

artifacts {
    testOutput testJar
}

dependencies {
    compile project(':az-core')

    // todo kunkun-tang: consolidate dependencies in azkaban-common and azkaban-db
    compile deps.dbutils
    compile deps.dbcp2
    compile deps.io

    testCompile project(path: ':az-core', configuration: 'testOutput')
    testRuntime deps.h2
}

/**
 * concat task
 * Concatenate all the sql queries / files (except upgrade.*.sql) and collect it into a single
 * SQL file.
 */
task concat() {
    doLast {
        ext.destFile = "$buildDir/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')
                exclude(name: 'upgrade.*.sql')
            }
        }
    }
}

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

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