frgaal compilator throwing an exeption once you use record and in same time having dependency on lombok
Hi, just trying frgaal for my project on java 8. I did a simple implementation of record and failed with compilation error:
java.lang.ClassCastException: lombok.javac.apt.InterceptingJavaFileManager cannot be cast to com.sun.tools.javac.file.JavacFileManager at com.sun.tools.javac.main.JavaCompiler.compileSecondary(JavaCompiler.java:1745) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:963) at com.sun.tools.javac.main.Main.compile(Main.java:317) at com.sun.tools.javac.main.Main.compile(Main.java:176) at com.sun.tools.javac.Main.compile2(Main.java:108) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.frgaal.Main.lambda$compile$1(Main.java:32) at org.frgaal.AbstractMain.doRun(AbstractMain.java:27) at org.frgaal.Main.compile(Main.java:29) at org.frgaal.maven.FrgaalCompiler.compileInProcess(FrgaalCompiler.java:463) at org.frgaal.maven.FrgaalCompiler.performCompile(FrgaalCompiler.java:172) at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1134) at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:187) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289) at org.apache.maven.cli.MavenCli.main(MavenCli.java:193) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347) at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Tried different lombok versions - no luck :(
Record Code just in case:
public record SettlementLocation ( Integer id, String clientId, String name, String longName, String country, Timestamp lastModified, String modifiedBy, Boolean isDeleted) {}
You can easily reproduce the issue - create spring boot project from scratch and implement the record having the dependency on lombok in same time in your pom.
Can anybody check this?