import org.ajoberstar.grgit.Grgit

buildscript {
    repositories {
        mavenCentral()
        maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
        jcenter()
    }
    dependencies {
        classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.2'
        classpath 'org.ajoberstar.grgit:grgit-gradle:3.0.0'
    }
    configurations.all {
        resolutionStrategy {
            force 'org.ow2.asm:asm:7.0'
        }
    }
}

plugins {
    id 'io.franzbecker.gradle-lombok' version '1.14'
}

group = 'com.github.intellectualsites.plotsquared'

def rootVersion = "4"
def revision = ""
def buildNumber = ""
def date = ""
ext {
    git = Grgit.open(dir: '.git')
    date = git.head().getDate().format("yy.MM.dd")
    revision = "-${git.head().abbreviatedId}"
    parents = git.head().parentIds;
    index = -2048;  // Offset to match CI
    for (; parents != null && !parents.isEmpty(); index++) {
        parents = git.getResolve().toCommit(parents.get(0)).getParentIds()
    }
    buildNumber = "${index}"
}

// version = String.format("%s.%s%s%s", rootVersion, date, revision, buildNumber)
version = String.format("%s.%s", rootVersion, buildNumber)

description = rootProject.name

subprojects {
    apply plugin: 'java'
    apply plugin: 'maven'
    apply plugin: 'eclipse'
    apply plugin: 'idea'
    apply plugin: 'com.github.johnrengelman.shadow'

    group = 'com.github.intellectualsites,plotsquared'

    lombok {
        version = '1.18.4'
        sha256 = ""
    }

    dependencies {
        compile(group: 'com.sk89q.worldedit', name: 'worldedit-core', version: '7.0.0-SNAPSHOT') {
            exclude(module: 'bukkit-classloader-check')
            exclude(module: 'mockito-core')
            exclude(module: 'dummypermscompat')
        }
        compile 'com.google.guava:guava:27.0.1-jre'
        compileOnly 'org.projectlombok:lombok:1.18.4'
        testImplementation "junit:junit:4.12"
    }
    clean {
        delete file("../target")
    }
    repositories {
        mavenCentral()
        maven { url "http://maven.sk89q.com/repo/" }
        maven { url "http://repo.maven.apache.org/maven2" }
    }
}