Make rat excludes a lazy closure
diff --git a/build.gradle b/build.gradle
index aba92c2..2351b90 100644
--- a/build.gradle
+++ b/build.gradle
@@ -97,31 +97,34 @@
     // Exclude everything under the directory that git should be ignoring via .gitignore or that isn't checked in. These
     // restrict us only to files that are checked in or are staged.
     def repo = Grgit.open(currentDir: project.getRootDir())
-    excludes = new ArrayList<String>(repo.clean(ignore: false, directories: true, dryRun: true))
-    // And some of the files that we have checked in should also be excluded from this check
-    excludes.addAll([
-      '.*\\.asc',
-      '\\w+/out/.*',
-      'eth-reference-tests/**',
-      'build',
-      '.*/build/**',
-      '.editorconfig',
-      '.idea/**',
-      'gradlew.bat',
-      'gradlew',
-      'io/src/test/resources/org/apache/tuweni/io/file/**',
-      'toml/src/test/resources/**',
-      '.gitattributes',
-      'test1.txt',
-      'test2.txt',
-      'test3.yaml',
-      '.*\\.kotlin_module',
-      'example-v0.4.0.toml',
-      'hard_example.toml',
-      'toml-v0.5.0-spec-example.toml',
-      'test.txt',
-      'resourceresolver-test.jar'
-    ])
+    excludes = {
+      def list = new ArrayList<String>(repo.clean(ignore: false, directories: true, dryRun: true))
+      // And some of the files that we have checked in should also be excluded from this check
+      list.addAll([
+        '.*\\.asc',
+        '\\w+/out/.*',
+        'eth-reference-tests/**',
+        'build',
+        '.*/build/**',
+        '.editorconfig',
+        '.idea/**',
+        'gradlew.bat',
+        'gradlew',
+        'io/src/test/resources/org/apache/tuweni/io/file/**',
+        'toml/src/test/resources/**',
+        '.gitattributes',
+        'test1.txt',
+        'test2.txt',
+        'test3.yaml',
+        '.*\\.kotlin_module',
+        'example-v0.4.0.toml',
+        'hard_example.toml',
+        'toml-v0.5.0-spec-example.toml',
+        'test.txt',
+        'resourceresolver-test.jar'
+      ])
+      return list
+    }
   }
 }
 
diff --git a/gradle/rat.gradle b/gradle/rat.gradle
index 8679584..070797e 100644
--- a/gradle/rat.gradle
+++ b/gradle/rat.gradle
@@ -27,7 +27,7 @@
 
 class RatTask extends DefaultTask {
   @Input
-  List<String> excludes
+  Closure<List<String>> excludes
 
   def reportDir = project.file('build/rat')
   def stylesheet = project.file('gradle/resources/rat-output-to-html.xsl').getAbsolutePath()
@@ -35,6 +35,7 @@
   def htmlReport = new File(reportDir, 'rat-report.html')
 
   def generateXmlReport(File reportDir) {
+    def excludeList = excludes()
     def antBuilder = services.get(IsolatedAntBuilder)
     def ratClasspath = project.configurations.rat
     def projectPath = project.getRootDir().getAbsolutePath()
@@ -43,7 +44,7 @@
       ant.report(format: 'xml', reportFile: xmlReport) {
         fileset(dir: projectPath) {
           patternset {
-            excludes.each { exclude(name: it) }
+            excludeList.each { exclude(name: it) }
           }
         }
       }