konsoletyper/teavm-flavour

Project does not compile with latest changes in TeaVM - 0.5.x

liraz opened this issue · 6 comments

liraz commented

Latest build from master branch 1.0.0-SNAPSHOT does not fit into latest flavour.
TeaVM has completely changed, from what i've investigated.
And it seems very hard to pick up the pieces, so many concepts that i don't fully understand their equivalent 1.0.0-SNAPSHOT class versions.

Is there any chance for you to spend time for making this project at least compile with latest version?
Latest TeaVM updates are crucial, making the framework a lot better and mature.
Or is this project discontinued?

I tried to port this project to TeaVM 0.5.x (1.0.0-SNAPSHOT does not mean I'll publish TeaVM under 1.0.0 version, it's just to simplify cherry-picking between releases), but it's a little more work than expected. Eventually, I'll port this project to latest TeaVM. I work on TeaVM in my spare time, and I have to maintain TeaVM itself, together with many other things (IDEA plugin, WebAssembly backend, etc), so I can't provide exact terms, sorry.

liraz commented

Still can't compile the project

Error:(34, 36) java: package org.teavm.flavour.expr.antlr does not exist
Error:(35, 36) java: package org.teavm.flavour.expr.antlr does not exist
Error:(114, 19) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser
Error:(482, 19) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser
Error:(494, 19) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser
Error:(601, 19) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser
Error:(406, 45) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser
Error:(429, 52) java: package ExprParser does not exist
Error:(436, 55) java: package ExprParser does not exist
Error:(72, 13) java: cannot find symbol
  symbol:   class ExprLexer
  location: class org.teavm.flavour.expr.Parser
Error:(72, 35) java: cannot find symbol
  symbol:   class ExprLexer
  location: class org.teavm.flavour.expr.Parser
Error:(75, 13) java: cannot find symbol
  symbol:   class ExprParser
  location: class org.teavm.flavour.expr.Parser
Error:(75, 41) java: cannot find symbol
  symbol:   class ExprParser
  location: class org.teavm.flavour.expr.Parser
Error:(114, 65) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser
Error:(428, 9) java: method does not override or implement a method from a supertype
Error:(435, 9) java: method does not override or implement a method from a supertype
Error:(482, 72) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser
Error:(494, 64) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser
Error:(601, 69) java: cannot find symbol
  symbol:   class ExprBaseVisitor
  location: class org.teavm.flavour.expr.Parser```

I just checked, everything successfully compiles via mvn clean install. How do you compile? Looks like for some reason maven-antlr-plugin does not run in your build.

liraz commented

It works great.
Intellij doesn't pick this up since it only arranges dependency jars for compilation by reading the maven files.
The antlr needs to be run each time you make a change? Or this is just a one time thing? You are using this for template parsing right?
Because if it needs to be run each time I guess it would be great to have a plugin build this generation of code before project make, not sure how complicated it is tough.

The antlr needs to be run each time you make a change?

You should re-run antlr every time you modify grammar file, which I believe is not very often.

You are using this for template parsing right?

I use it to parse expressions inside templates. Templates themselves (i.e. HTML files) are parsed by Jericho.

Because if it needs to be run each time I guess it would be great to have a plugin build this generation of code before project make, not sure how complicated it is tough.

Sorry, I can't do anything. It's a problem of antlr. If authors implemented such plugin for IDEA or implemented antlr codegen as some form of annotation processing, life would be better.

liraz commented

Seems ok then - closing this issue.
Just so you know, huge fan of your work :)