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]