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

Reply via email to