plugins {
    id 'java'
    id 'java-library'
}

sourceSets {
    main {
        java {
            srcDirs 'src/main/base', 'src/main/analysis', 'src/main/asm', 'src/main/crypto', 'src/main/entry', 'src/main/gen', 'src/main/pythongen', 'src/main/DOIP', 'src/main/config'
        }
        resources {
            srcDir 'src/main/resources'
        }
    }
    test {
        java {
            srcDir 'src/test/java'
        }
        resources {
            srcDir 'src/test/resources'
        }
    }
}
sourceCompatibility = 1.8

dependencies {
    api project(":gmhelper")

    api 'berkeleydb:je:3.2.76'
    api 'com.fifesoft:rsyntaxtextarea:3.1.3'
    api 'commons-io:commons-io:2.11.0'
    api 'io.netty:netty-all:4.1.63.Final'
    api 'org.antlr:antlr4:4.9.2'
    api 'commons-codec:commons-codec:1.5'
    api 'org.apache.logging.log4j:log4j-core:2.17.0'
    api 'org.apache.logging.log4j:log4j-api:2.17.0'
    //api 'org.apache.velocity:velocity-engine-core:2.3'
    api 'org.rocksdb:rocksdbjni:6.22.1'

    api fileTree(dir: 'lib', include: '*.jar')

    testImplementation 'junit:junit:4.13.2'
}

tasks.processResources.setDuplicatesStrategy(DuplicatesStrategy.INCLUDE)

task copyLibs(type: Copy) {
    from configurations.runtimeClasspath
    into "./build/output/libs/"
}

task copyJar(type: Copy) {
    from "./build/libs/$project.name-${version}.jar"
    into "./build/output/"
    rename { String fileName -> "yjs.jar" }
}
