Achaius
Achaius

Reputation: 6124

How to exclude particular class from a jar in gradle

I want to exclude particular class from a jar in gradle dependency

dependencies {
    compile("com.example:myapp") {
        exclude("org/springframework/**")
    }
}

Any suggestions? I am stuck with the dirty class.

Upvotes: 5

Views: 10398

Answers (1)

tomasulo
tomasulo

Reputation: 1330

You can unzip a jar using the Copy task, exclude the desired class and then add a file dependency on the extracted classes.

For example:

task unzipJar(type: Copy) {
   from zipTree('commons-collections-3.2.jar')
   into ("$buildDir/libs/commons-collection")
   include "**/*.class"
   exclude "**/Unmodifiable.class"
}

dependencies {
   compile files("$buildDir/libs/commons-collection") {
      builtBy "unzipJar"
   }
}

Upvotes: 6

Related Questions