Paul Verest
Paul Verest

Reputation: 63952

Gradle task does not take sourceSet configuration

There is snippet from template

sourceSets {
    main {
        java {
            srcDir 'src'
        }
        resources {
            srcDir 'src'
        }
    }
}
task initSourceFolders { // add << before { to prevent executing during configuration phase
   sourceSets*.java.srcDirs*.each { it.mkdirs() }
   sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}

Problem: folders are created as src/main/java, not as just src

Upvotes: 0

Views: 200

Answers (1)

Peter Niederwieser
Peter Niederwieser

Reputation: 123950

Your code is adding additional source directories, rather than overriding the defaults. To do the latter, use:

sourceSets {
    main {
        java {
            srcDirs = ['src']
        }
        resources {
            srcDirs = ['src']
        }
    }
}

For more information, see SourceSet in the Gradle Build Language Reference.

Upvotes: 1

Related Questions