Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- apply plugin: JavaFilterPlugin
- class JavaFilterPlugin implements Plugin<Project> {
- void apply(Project project) {
- project.afterEvaluate {
- if (project.file('filter.properties').exists()) {
- def processResources = project.tasks.findByName("processResources")
- processResources.configure {
- from(processResources.source) {
- filesMatching('*') {
- Properties properties = new Properties()
- properties.load(new FileInputStream(project.file('filter.properties')))
- filter(ReplaceTokens, tokens: properties, beginToken: '${', endToken: '}')
- }
- }
- }
- def compileJava = project.tasks.findByName("compileJava")
- def filterJavaSources = project.tasks.create("filterJavaSources", Copy) {
- from(compileJava.source) {
- filesMatching('**/*.java') {
- Properties properties = new Properties()
- properties.load(new FileInputStream(project.file('filter.properties')))
- filter(ReplaceTokens, tokens: properties, beginToken: '${', endToken: '}')
- }
- }
- into "$project.buildDir/generated-java-src"
- }
- compileJava.configure {
- dependsOn filterJavaSources
- setSource(filterJavaSources.outputs.files)
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement