Some notes on the differences between the commited version and Aaron's original:
This version uses project.resolveFile to better cope with relative filenames - at least I hope it does. Aaron used to resolve the files and read the patterns inside the init method of the task while my version does the same inside the setter method. This means, if a file is unparseable or cannot be found, the task can't throw an Exception - only a warning message is printed. I've chosen this path over init because I think (1) we are on track to remove init and (2) should permit the setter methods to raise Exceptions. Stefan
