How to run a task for a subset of multiproject-build

I think you can use a task rule

Eg:

tasks.addRule('Pattern: report<ID>') { taskName ->
   if (taskName.startsWith('report')) {
      String pathToken = ":${taskName.substring(6).toLowerCase()}:" 
      def matchingTasks = getTasksByName("report", true)
         .findAll { it.path.toLowerCase().contains(pathToken) } 
      if (matchingTasks) {
         task(taskName) {
            dependsOn matchingTasks
         }        
      } 
   } 
}      

Then you could run

gradle reportXxx
gradle reportYyy
gradle reportReportA
1 Like