dweiss commented on a change in pull request #533:
URL: https://github.com/apache/lucene/pull/533#discussion_r771349651



##########
File path: gradle/validation/ecj-lint.gradle
##########
@@ -60,6 +61,16 @@ allprojects {
         def tmpDst = getTemporaryDir()
         workingDir tmpDst
 
+        // Place input files in an external file to dodge command line argument
+        // limits. We could pass a directory but ecj seems to be buggy: when it
+        // encounters a module-info.java file it no longer compiles other 
source files.
+        def inputsFile = file("${tmpDst}/ecj-inputs.txt")
+        inputsFile.setText(
+            srcDirs.collectMany { dir ->
+              project.fileTree(dir: dir, include: "**/*.java" ).files
+            }
+            .collect {file -> file.absolutePath.toString()}.join("\n"), 
"UTF-8")

Review comment:
       ECJ's code is quite terrible... It does wonderful things but under the 
hood... oh, God. 
   
   Separately from this, I gave up a long time ago on having my user home 
folder with a space inside... It just brings too much stress to life.
   
   > Do we still need to list all files since we removed the module-info.java 
excludes?
   
   ecj still has a bug which will prevent the Lucene code from compiling 
multi-release jars. It's trappy as hell. Now that log4j is gone it may work 
without the explicit file list - didn't check - but it also may not (because of 
that _other_ bug mentioned in bugzilla).




-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to