Liquibase does not compile against latest Fedora

Description

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.

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.

Details

Reporter

Affects versions

Priority

Created October 31, 2016 at 6:52 PM
Updated November 27, 2017 at 2:29 PM