Hello,

I was suspecting the remote build cache in S3 [1] but I guess this is
covered by the --no-build-cache argument so since you tried it probably
it's not the case.

Nevertheless worth trying setting  s3.build.cache=false just in case they
are handled differently (cannot check right now).

Best,
Stamatis


[1]
https://github.com/apache/calcite/blob/94dc303ed0a5ccd4e4f972abf7a41f155cbe5546/gradle.properties#L22

On Fri, Jul 15, 2022, 3:25 AM Julian Hyde <[email protected]> wrote:

> As you may know, we use the FMPP templating engine and the JavaCC
> parser generator to generate the parser. Steps are as follows:
>
> 1. The source file is core/src/main/codegen/templates/Parser.jj.
> 2. FMPP generates /core/build/fmpp/fmppMain/javacc/Parser.jj and also
> babel/build/fmpp/fmppMain/javacc/Parser.jj
> 3. JavaCC converts these to
>
> core/build/javacc/javaCCMain/org/apache/calcite/sql/parser/impl/SqlParserImpl.java
> and
> babel/build/javacc/javaCCMain/org/apache/calcite/sql/parser/babel/SqlBabelParserImpl.java
> 4. Javac compiles these .java files
>
> The problem is that the babel/build/fmpp/fmppMain/javacc/Parser.jj
> seems to be generated from core/src/main/codegen/templates/Parser.jj
> as it was a few days ago. Hence I get an error:
>
> $ ./gradlew clean test
>
> > Configure project :
> Building Apache Calcite 1.31.0-SNAPSHOT
>
> > Task :linq4j:jandexMain
> Could not load entry 744885c2058d06968876b159ce2a1453 from remote
> build cache: Bucket 'calcite-gradle-cache' not found
>
> > Task :babel:javaCCMain FAILED
> Could not load entry 3d3a41847fa27348c04b50b437780c7a from remote
> build cache: Bucket 'calcite-gradle-cache' not found
> Java Compiler Compiler Version 4.0 (Parser Generator)
> (type "javacc" with no arguments for help)
> Reading from file
> /Users/julianhyde/dev/calcite.2/babel/build/fmpp/fmppMain/javacc/Parser.jj
> . . .
> Warning: Output directory
>
> "/Users/julianhyde/dev/calcite.2/babel/build/javacc/javaCCMain/org/apache/calcite/sql/parser/babel"
> does not exist. Creating the directory.
> Note: UNICODE_INPUT option is specified. Please make sure you create
> the parser/lexer using a Reader with the correct character encoding.
> Warning: Lookahead adequacy checking not being performed since option
> LOOKAHEAD is more than 1.  Set option FORCE_LA_CHECK to true to force
> checking.
> Error: Line 1323, Column 5: Non-terminal AddExpression2b has not been
> defined.
> Detected 1 errors and 2 warnings.
>
> The error is 'incorrect' - the latest version of Parser.jj does
> contain AddExpression2b, but somehow the generated Parser.jj does not
> contain it.
>
> Has anyone else seen this stateful behavior from FMPP? Any ideas where
> the state might reside? I have tried clearing my gradle cache,
> rebooting my machine, killing gradle daemons, running gradle with the
> --no-build-cache flag, but no luck.
>
> Julian
>

Reply via email to