Cómo pasar parámetros o argumentos a una tarea de Gradle

Tengo un script de compilación de Gradle en el que estoy tratando de incluir el complemento css de Eric Wendelin -http://eriwen.github.io/gradle-css-plugin/

Es bastante fácil de implementar, y como solo quiero minificación (en lugar de combinar y gzipping), tengo las partes pertinentes del script de compilación con el siguiente aspecto:

minifyCss {
    source = "src/main/webapp/css/brandA/styles.css"
    dest = "${buildDir}/brandA/styles.css"
    yuicompressor {
        lineBreakPos = -1
    }
}

war {
    baseName = 'ex-ren'
}

war.doFirst {
    tasks.myTask.minifyCss.execute()
}

Esto es perfecto: cuando ejecuto la tarea gradle war, llama a la tarea minifyCss, toma el archivo css de origen y crea una versión minified en buildDir

Sin embargo, tengo un puñado de archivos css que necesitan reducción, pero no se combinan en un solo archivo (por lo tanto, no estoy usando la tarea combineCss)

Lo que me gustaría poder hacer es hacer que las propiedades de origen y destino (suponiendo que esa es la terminología correcta) de las variables de referencia de tarea minifyCss de algún tipo, ya sean variables pasadas a la tarea en la firma, o variables globales, o alguna cosa ...

Algo así, supongo (que no funciona):

minifyCss(sourceFile, destFile) {
    source = sourceFile
    dest = destFile
    yuicompressor {
        lineBreakPos = -1
    }
}

war {
    baseName = 'ex-ren'
}

war.doFirst {
    tasks.myTask.minifyCss.execute("src/main/webapp/css/brandA/styles.css", "${buildDir}/brandA/styles.css")
    tasks.myTask.minifyCss.execute("src/main/webapp/css/brandB/styles.css", "${buildDir}/brandB/styles.css")
    tasks.myTask.minifyCss.execute("src/main/webapp/css/brandC/styles.css", "${buildDir}/brandC/styles.css")
}

Esto tampoco funciona:

def sourceFile = null
def destFile = null

minifyCss {
    source = sourceFile
    dest = destFile
    yuicompressor {
        lineBreakPos = -1
    }
}

war {
    baseName = 'ex-ren'
}

war.doFirst {
    sourceFile = "src/main/webapp/css/brandA/styles.css"
    destFile = "${buildDir}/brandA/styles.css"
    tasks.myTask.minifyCss.execute()
}

Por mi vida, no puedo averiguar cómo llamar una tarea y pasar variables en :(

Cualquier ayuda muy apreciada;

Respuestas a la pregunta(5)

Su respuesta a la pregunta