import org.gradle.internal.os.OperatingSystem apply plugin: 'java' description = "A utility for doing compile or runtime code generation targeting Android's Dalvik VM" targetCompatibility = '1.7' sourceCompatibility = '1.7' repositories { jcenter() } dependencies { compileOnly project(':dalvikdx') } task makeDex(type: Exec) { dependsOn jar def dexName = "classes.dex" workingDir jar.destinationDir if (OperatingSystem.current().isWindows()) { executable "dx.bat" args "--dex", "--output", dexName, "${jar.archiveName}" } else { executable "bash" args rootProject.ext.dxPath.trim(), "--dex", "--output", dexName, "${jar.archiveName}" } } task dex(type: Copy) { dependsOn makeDex from (jar.destinationDir) { include "classes.dex" rename "classes.dex", "eddexmaker.dex" } destinationDir new File(projectDir, "dex") } task dexInJar(type: Jar) { dependsOn makeDex from "${jar.destinationDir}/classes.dex" destinationDir jar.destinationDir baseName "eddexmaker" onlyIf { !jar.state.upToDate || !file(archiveName).exists() } }