+1 Thanks Vladimir! -- Michael Mior mm...@apache.org
Le sam. 15 sept. 2018 à 14:37, Vladimir Sitnikov < sitnikov.vladi...@gmail.com> a écrit : > Hi, > > I'm sure lots of us have seen during Maven build even though the sources > were not changed: > Compiling 1155 source files to .../code/calcite/core/target/classes > > The issue there is FMPP generates Parser.jj no matter what, and it causes > JavaCC to re-generate parser which causes maven-compiler-plugin to compile > calcite-core again. > Note: Maven sends all the files to javac and it assumes javac is > intelligent enough to identify which files were modified and which need to > be recompiled. > > Unfortunately, regular javac is not incremental, and it basically builds > the whole source tree (see > https://issues.apache.org/jira/browse/MCOMPILER-209 ) > > I propose to use org.apache.drill.tools:drill-fmpp-maven-plugin instead of > com.googlecode.fmpp-maven-plugin:fmpp-maven-plugin. > Drill's fmpp plugin compares outputs, thus it skips overwrite of Parser.jj, > and it improves Calcite Core build times. > I'm sure IDEs would be happier since Parser.jj and the generated parser are > quite big and IDE won't have to re-parse it. > > JIRA: https://issues.apache.org/jira/browse/CALCITE-2558 > PR: https://github.com/apache/calcite/pull/832 > > From my point of view this is an improvement with no drawbacks. > Any thoughts? Objections? > > Vladimir >