asciidoctorj
asciidoctorj copied to clipboard
Asciidoctor does not work OOTB in Quarkus Uber JARs
Same as https://github.com/asciidoctor/asciidoctorj/issues/666 and https://github.com/asciidoctor/asciidoctorj/issues/647 but for Quarkus Uber JARs. I assume that Quarkus would use the same fix as SpringBoot. There just need in some docs on Asciidoctor side, similar to https://github.com/asciidoctor/asciidoctorj/pull/995 from @abelsromero. I will prototype that and submit a pull request
Reproduction: https://github.com/oleg-nenashev/FaaScinator/pull/8
Suggested resolution:
- Most likely a proper resolution is to create the JRuby extension for Quarkus so that the Ruby kernel gets properly configured in Build-time.
- It will still require some docs on the Asciidoctor side. I do not expect any code changes
Error output:
2021-07-04 08:16:52,122 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /doc failed, error id: abbf5053-b900-4498-8cb3-29f29104b52f-1: org.jboss.resteasy.spi.UnhandledException: org.jruby.exceptions.LoadError: (LoadError) no such file to load -- asciidoctor
at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:106)
at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:372)
at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:218)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:519)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:261)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:247)
at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:73)
at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:138)
at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.access$000(VertxRequestHandler.java:41)
at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:93)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2415)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
at java.base/java.lang.Thread.run(Thread.java:834)
at org.jboss.threads.JBossThread.run(JBossThread.java:501)
Caused by: org.jruby.exceptions.LoadError: (LoadError) no such file to load -- asciidoctor
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:974)
at RUBY.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83)
at RUBY.<main>(<script>:12)
Hi @oleg-nenashev ! That would be awesome if you could contribute some documentation for integrating AsciidoctorJ with Quarkus! I haven't done anything with Quarkus yet myself, so I am not really aware how that would work.
I have got it working in PoC. I will create docs once I have something finalized. Will likely also create Quarkus extensions for Asciidoctor and JRuby
On Tue, Jul 6, 2021, 09:27 Robert Panzer @.***> wrote:
Hi @oleg-nenashev https://github.com/oleg-nenashev ! That would be awesome if you could contribute some documentation for integrating AsciidoctorJ with Quarkus! I haven't done anything with Quarkus yet myself, so I am not really aware how that would work.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/asciidoctor/asciidoctorj/issues/1047#issuecomment-874527182, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAW4RIBCPUEXJPWUGZLUSBTTWKV43ANCNFSM47Y4ALRA .
@oleg-nenashev did you manage to create the docs and clean example? We added an integrated test for SpringBoot, so I think we could add another for quarkus to ensure everything works fine.
Hi. My apologies, it slipped my mind after a few personal things that month. I would still be feeling to create documentation, especially after the recent Quarkus 3.0.release
Would it be possible to add me as external contributor and assign the issue to me so that it appears on my backlog?
Sure things, but there's not much else to do other than assigning this to you. Is this ok? The docs are in https://github.com/asciidoctor/asciidoctorj/tree/main/docs/modules/guides/pages build with Antora, (the final result here https://docs.asciidoctor.org/asciidoctorj/latest/) if there's any doubt let us know.
Thanks!