Claudenw commented on PR #433: URL: https://github.com/apache/creadur-rat/pull/433#issuecomment-2906623663
The RAT process assumes all files are included by default. So the exclude files do just that list exceptions. Then there is the exception to the exception, where a file is explicitly added back. Once added back we do not support removing them again. This is the basic process for RAT inclusion/exclusion. In order to provide scoped include/exclude and precedence of more specificity over less specificity the process splits the include/exclude into 2 sets internally. So if we have 3 layers of specificity we have 3 sets of include rules and 3 sets of exclude rules. When we execute the rules we execute the include rules first in order of most specific to least specific set we then execute the exclude rules in the same order. The first rule that fires determines how the files is treated. If no rule fires than we include it (default). As I write this, I do not have the code in front of me. So the above may be slightly incorrect. If label the includes as I1- I3 with I3 having the highest precedence, and similarly excludes as E1-E3. I think we execute I3, I2, I1, E3, E2, E1 But it may actually be coded as I3, E3, I2, E2, I1, E1. Using the decomposition example I provided earlier we should be able to determine how it actually executes. It also should not be too much work to put them in a different order. If we need to change the ordering let's do that with a different issue and PR please -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@creadur.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org