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



##########
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:
       The problem is here. Like for Javadoc, the arguments in the options file 
need to be escaped and put into quotes. Interestingly, the ecj options file 
needs double quotes, while javadoc requires single quotes. I adapted the 
snippet from javadocs to do escaping and quoting if needed.




-- 
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