Uses InvalidUserDataException from Gradle API instead if IllegalArgumentException.
Interrupts build if at least one design fails to compile.
Filters out-of-date inputs by expected source extension.
Adds exception to return value when compilation fails.
Enhances failure message information.
Enhances failure message information.
Removes redundant logger.
Makes failureMessage a closure.
Computes outfile when building compilation tasks.
Adds tasks description.
Adds group to compile task.