build.gradle 2.43 KB
/*
 * This software is in the public domain under CC0 1.0 Universal plus a 
 * Grant of Patent License.
 * 
 * To the extent possible under law, the author(s) have dedicated all
 * copyright and related and neighboring rights to this software to the
 * public domain worldwide. This software is distributed without any
 * warranty.
 * 
 * You should have received a copy of the CC0 Public Domain Dedication
 * along with this software (see the LICENSE.md file). If not, see
 * <http://creativecommons.org/publicdomain/zero/1.0/>.
 */

apply plugin: 'groovy'

version = '3.0.0'
// sourceCompatibility = '1.8'
def moquiDir = file(projectDir.absolutePath + '/../../..')
def frameworkDir = file(moquiDir.absolutePath + '/framework')

repositories {
    flatDir name: 'localLib', dirs: frameworkDir.absolutePath + '/lib'
    mavenCentral()
}

// Log4J has annotation processors, disable to avoid warning
tasks.withType(JavaCompile) { options.compilerArgs << "-proc:none" }
tasks.withType(GroovyCompile) { options.compilerArgs << "-proc:none" }

dependencies {
    implementation project(':framework')
    testImplementation project(':framework').configurations.testImplementation.allDependencies
}

// by default the Java plugin runs test on build, change to not do that (only run test if explicit task)
// no longer workds as of gradle 4.8 or possibly earlier, use clear() instead: check.dependsOn.remove(test)
check.dependsOn.clear()

jar {
    destinationDirectory = file(projectDir.absolutePath + '/lib')
    // this is required to change from the default that includes the path to this module (ie 'runtime/component/mjml')
    archiveBaseName = 'moqui-mjml'
}
task cleanLib(type: Delete) { delete file(jar.archivePath) }
clean.dependsOn cleanLib

test {
    useJUnitPlatform()
    testLogging { events "passed", "skipped", "failed" }
    testLogging.showStandardStreams = true; testLogging.showExceptions = true
    maxParallelForks 1

    dependsOn cleanTest

    systemProperty 'moqui.runtime', moquiDir.absolutePath + '/runtime'
    systemProperty 'moqui.conf', 'conf/MoquiDevConf.xml'
    systemProperty 'moqui.init.static', 'true'
    maxHeapSize = "512M"

    classpath += files(sourceSets.main.output.classesDirs)
    // filter out classpath entries that don't exist (gradle adds a bunch of these), or ElasticSearch JarHell will blow up
    classpath = classpath.filter { it.exists() }

    beforeTest { descriptor ->
        logger.lifecycle("Running test: ${descriptor}")
    }
}