buildscript {
    repositories {
        jcenter()
        maven {
            name = "forge"
            url = "http://files.minecraftforge.net/maven"
        }
        maven {url = "https://oss.sonatype.org/content/repositories/snapshots/"}
    }
    dependencies {
        classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
    }
}

apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'

dependencies {
    compile project(":DynmapCore")
    compile project(":DynmapCoreAPI")
    minecraft 'net.minecraftforge:forge:1.13.2-25.0.191'
}

sourceCompatibility = 1.8
targetCompatibility = 1.8
ext.buildNumber = System.getenv().BUILD_NUMBER ?: "Dev"

repositories {
    maven {
        name = 'forge'
        url = 'http://files.minecraftforge.net/maven'
    }
}

minecraft {
   mappings channel: 'snapshot', version: '20190415-1.13.2'
   runs {
        server {
            workingDirectory project.file('run').canonicalPath
        }
    }
}

project.archivesBaseName = "${project.archivesBaseName}-forge-1.13.2"

processResources
{
    inputs.property "version", project.version + '-' + project.ext.buildNumber
    
    // replace stuff in mcmod.info, nothing else
    from(sourceSets.main.resources.srcDirs) {
        include 'META-INF/mods.toml'
                
        // replace version and mcversion
        expand version: project.version + '-' + project.ext.buildNumber
    }
        
    // copy everything else, thats not the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        include 'META-INF/mods.toml'
    }
}

shadowJar {
    dependencies {
        include(dependency('com.googlecode.json-simple:json-simple:'))
		include(dependency('org.yaml:snakeyaml:'))
		include(dependency('com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:'))
        include(dependency('org.eclipse.jetty::'))
        include(dependency('org.eclipse.jetty.orbit:javax.servlet:'))
        include(dependency(':DynmapCore'))
        include(dependency(':DynmapCoreAPI'))
	}
	relocate('org.json.simple', 'org.dynmap.json.simple')
	relocate('org.yaml.snakeyaml', 'org.dynmap.snakeyaml')
	relocate('org.eclipse.jetty', 'org.dynmap.jetty')
	relocate('org.owasp.html', 'org.dynmap.org.owasp.html')
	relocate('javax.servlet', 'org.dynmap.javax.servlet' )
    archiveName = "Dynmap-${parent.version}-forge-1.13.2.jar"
    destinationDir = file '../target'
}

shadowJar.doLast {
    task ->
        ant.checksum file: task.archivePath
}

afterEvaluate {
reobf {
    shadowJar {
        mappings = createMcpToSrg.output
    }
}
}

task deobfJar(type: Jar) {
    from sourceSets.main.output
    classifier = 'dev'
}

artifacts {
    archives deobfJar
}

build.dependsOn(shadowJar)
