I'm the package maintainer for Liquibase in Fedora (a Linux distribution) and when I build Liquibase in the impending version of Fedora I'm getting some compilation errors.
Compilation failure
[ERROR] /builddir/build/BUILD/liquibase-liquibase-parent-3.5.3/liquibase-core/src/main/java/liquibase/util/SqlParser.java:[54,19] liquibase.util.SqlParser.SqlCharStream is not abstract and does not override abstract method setTrackLineColumn(boolean) in liquibase.util.grammar.CharStream
Javacc 5.x, used by current Fedora releases, works just fine but the impeding release uses Javacc 6.1.3. In Javacc 6.1.3, it looks like the CharStream interface added some new methods with setTrackLineColumn and getTrackLineColumn among them. The documentation on these interfaces on the javacc site is very spotty, but I found some random javadoc that appears to reflect the new interface. If the Liquibase team could implement those missing methods, I can get Liquibase built for upstream Fedora.
TODO
Either lock the version of javacc used by Liquibase to 5.x or configure the maven plugin to generate compatible code.
Environment
Fedora (latest as of October 2016)
Attachments
1
27 Nov 2017, 02:29 PM
Activity
Show:
Alex Wood November 27, 2017 at 2:29 PM
I've attached a proposed patch.
Alex Wood August 2, 2017 at 5:52 PM
Is there any chance of getting this addressed soon? Fedora 26 was released in the past few weeks and Liquibase isn't available for it due to this issue. I would like to keep Liquibase available in Fedora.
Posted to Liquibase forums by Alex Wood:
I'm the package maintainer for Liquibase in Fedora (a Linux distribution) and when I build Liquibase in the impending version of Fedora I'm getting some compilation errors.
Compilation failure
[ERROR] /builddir/build/BUILD/liquibase-liquibase-parent-3.5.3/liquibase-core/src/main/java/liquibase/util/SqlParser.java:[54,19] liquibase.util.SqlParser.SqlCharStream is not abstract and does not override abstract method setTrackLineColumn(boolean) in liquibase.util.grammar.CharStream
Javacc 5.x, used by current Fedora releases, works just fine but the impeding release uses Javacc 6.1.3. In Javacc 6.1.3, it looks like the CharStream interface added some new methods with setTrackLineColumn and getTrackLineColumn among them. The documentation on these interfaces on the javacc site is very spotty, but I found some random javadoc that appears to reflect the new interface. If the Liquibase team could implement those missing methods, I can get Liquibase built for upstream Fedora.
TODO
Either lock the version of javacc used by Liquibase to 5.x or configure the maven plugin to generate compatible code.