Yes, I checked, the Drill plugin is the best there is. (Freemarker is
now an Apache project, but I don't see any sign of them wanting to
adopt FMPP.)
On Sat, Sep 15, 2018 at 12:24 PM Michael Mior <[email protected]> wrote:
>
> +1 Thanks Vladimir!
>
> --
> Michael Mior
> [email protected]
>
>
> Le sam. 15 sept. 2018 à 14:37, Vladimir Sitnikov <
> [email protected]> 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
> >

Reply via email to