Skip to content

Commit

Permalink
Added workaround for v2.12 DefaultSourceDirectorySet
Browse files Browse the repository at this point in the history
  • Loading branch information
dlew committed Mar 16, 2016
1 parent b81b052 commit 53ac251
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion victor/src/main/groovy/com/trello/victor/VictorPlugin.groovy
Expand Up @@ -20,15 +20,32 @@ import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.file.FileCollection
import org.gradle.api.internal.file.DefaultSourceDirectorySet
import org.gradle.util.GradleVersion

class VictorPlugin implements Plugin<Project> {

void apply(Project project) {
project.extensions.create('victor', VictorPluginExtension)

// We can either implement our own SourceDirectorySet (which is a PITA)
// or we can suffer the lesser pains of accessing internal APIs
final boolean useNewSourceDirectorySet =
GradleVersion.current().compareTo(GradleVersion.version("2.12")) >= 0

// Add 'svg' as a source set extension
project.android.sourceSets.all { sourceSet ->
sourceSet.extensions.create('svg', DefaultSourceDirectorySet, 'svg', project.fileResolver)
if (useNewSourceDirectorySet) {
Class defaultFileTreeFactoryClass =
Class.forName("org.gradle.api.internal.file.collections.DefaultDirectoryFileTreeFactory")

sourceSet.extensions.create('svg', DefaultSourceDirectorySet, 'svg',
project.fileResolver,
defaultFileTreeFactoryClass.getConstructor().newInstance())
}
else {
sourceSet.extensions.create('svg', DefaultSourceDirectorySet, 'svg',
project.fileResolver)
}
}

project.afterEvaluate {
Expand Down

0 comments on commit 53ac251

Please sign in to comment.