import org.gradle.plugins.ide.idea.model.IdeaLanguageLevel

plugins {
    id 'java'
    id 'java-library'
    id 'com.fr.common' version '1.0-SNAPSHOT'
}

// 模块参数
ext {
    frVersion = ""
    outputPath = "build"
    ignoreTestFailureSetting = true
    languageLevelSetting = 1.8
}

applyGlobalConfigPathIfExist()

if (versions.frVersion) {
    frVersion = versions.frVersion
}
def frDevVersion = "DEV" + frVersion

dependencies {
    api project(':designer-base')
    api project(':designer-chart')
    api project(':designer-form')
    api project(':designer-realize')
}

allprojects {
    apply plugin: 'java'
    apply plugin: 'java-library'
    apply plugin: 'idea'

    group 'com.fr.design'
    version frDevVersion
    sourceCompatibility = languageLevelSetting
    targetCompatibility  = languageLevelSetting

    tasks.withType(JavaCompile) {
        options.encoding = "UTF-8"
    }

    repositories {
        mavenLocal()
    }

    idea {
        module {
            inheritOutputDirs = false
            outputDir = file(outputPath +"/classes")
            testOutputDir = file(outputPath +"/test-classes")
            languageLevel = new IdeaLanguageLevel(sourceCompatibility)
            targetBytecodeVersion = targetCompatibility
        }
    }

    dependencies {
        implementation 'com.fr.third:jxbrowser:6.23'
        implementation 'com.fr.third:jxbrowser-mac:6.23'
        implementation 'com.fr.third:jxbrowser-win64:6.23'
        implementation 'com.fr.third.server:servlet-api:3.0'
        implementation 'org.swingexplorer:swexpl:2.0.1'
        implementation 'org.swingexplorer:swag:1.0'
        implementation 'net.java.dev.jna:jna:5.4.0'
        implementation 'org.apache.tomcat:tomcat-catalina:8.5.57'
        implementation 'io.socket:socket.io-client:0.7.0'
        implementation 'com.fr.third:fine-third:' + frVersion
        implementation 'com.fr.core:fine-core:' + frDevVersion
        implementation 'com.fr.activator:fine-activator:' + frVersion
        implementation 'com.fr.datasource:fine-datasource:' + frVersion
        implementation 'com.fr.decision:fine-decision:' + frVersion
        implementation 'com.fr.schedule:fine-schedule:' + frVersion
        implementation 'com.fr.report:engine-report:' + frDevVersion
        implementation 'com.fr.report:engine-chart:' + frDevVersion
        implementation 'com.fr.report:engine-i18n:' + frDevVersion
        implementation 'com.fr.design:design-i18n:' + frDevVersion
        testImplementation 'org.easymock:easymock:3.5.1'
        testImplementation 'org.powermock:powermock-module-junit4:1.7.1'
        testImplementation 'org.powermock:powermock-api-easymock:1.7.1'
        testImplementation 'junit:junit:4.12'
    }
}