Hack Classpath In Gradle

I recently tried this to fix the Classpath in Gradle for compiling and testing. Works for compiling, bombs for the testing though. The Gradle plugin integration using jna-3.2.7 blows up during unit testing when the older API is not loaded. What a mess. At least this snippet should help for other scenarios.

[code language=”groovy”]
def fixTheCp(fc) {
def jnaGoodJars = fc.filter {
it.name == “jna-4.2.1.jar”
}
return jnaGoodJars.plus(fc.minus(jnaGoodJars))
}

task(“fixCompileCp”) << { sourceSets.main.compileClasspath = fixTheCp(sourceSets.main.compileClasspath) sourceSets.main.runtimeClasspath = fixTheCp(sourceSets.main.runtimeClasspath) } task("fixTestCp") << { sourceSets.test.compileClasspath = fixTheCp(sourceSets.test.compileClasspath) sourceSets.test.runtimeClasspath = fixTheCp(sourceSets.test.runtimeClasspath) } compileJava.dependsOn fixCompileCp testClasses.dependsOn fixTestCp [/code]

This entry was posted in Gradle, Snippets. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *