plugins {
    id 'java'
}

sourceSets {
    main {
         java {
            srcDirs = ['src']
         }
    }
}

jar {
    manifest {
        attributes("Main-Class": "Main")
    }
    from {
        configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

sourceCompatibility = '1.8'
targetCompatibility = '1.8'

tasks.withType(AbstractArchiveTask).configureEach {
    preserveFileTimestamps = false
    reproducibleFileOrder = true
}

def getVersionGit() {
    def versionGit = ""
    try {
        def gitAvailable = "command -v git".execute()
        gitAvailable.waitFor()
        if(gitAvailable.exitValue() == 0) {
            def commit = "git rev-parse --short HEAD".execute().text.trim()
            def commitDate = "git show -s --format=%cs ".concat(commit).execute().text.trim()
            versionGit = "_" + commitDate + '_' + commit
        } else {
            println("git is unavailable")
        }
    } catch (Exception e) {
        println("unable to check for git")
    }
    return versionGit
}
version = '0.7.0' + getVersionGit()
