/*
 * This file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java project to get you started.
 * For more details take a look at the Java Quickstart chapter in the Gradle
 * User Manual available at https://docs.gradle.org/5.6.3/userguide/tutorial_java_projects.html
 */

plugins {
    // Apply the java plugin to add support for Java
    id 'java'

    // Apply the application plugin to add support for building a CLI application
    id 'application'
}

sourceCompatibility = 16
targetCompatibility = 16

repositories {
    mavenCentral()
}

dependencies {
    implementation fileTree(dir: 'lib', include: ['*.jar'])
    
	implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.32'
	implementation group: 'ch.qos.logback', name: 'logback-core', version: '1.2.9'
    implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.9'
    implementation group: 'io.netty', name: 'netty-all', version: '4.1.71.Final'
    
	implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.8'
	implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.18.2'
	
	implementation group: 'org.reflections', name: 'reflections', version: '0.10.2'

	implementation group: 'dev.morphia.morphia', name: 'morphia-core', version: '2.2.6'

    implementation group: 'org.greenrobot', name: 'eventbus-java', version: '3.3.1'
}

application {
    // Define the main class for the application
    mainClassName = 'emu.grasscutter.Grasscutter'
}

jar {
    manifest {
        attributes 'Main-Class': 'emu.grasscutter.Grasscutter'
    }

    jar.baseName = 'grasscutter'

    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
    
    duplicatesStrategy = DuplicatesStrategy.INCLUDE

    from('src/main/java') {
		include '*.xml'
	}

    destinationDir = file(".")
}

