asciidoctor / asciidoctor-intellij-plugin

AsciiDoc plugin for products on the IntelliJ platform (IDEA, RubyMine, etc)
https://intellij-asciidoc-plugin.ahus1.de/
Apache License 2.0
349 stars 146 forks source link

NoMethodError rendering Structurizr diagram #1364

Closed timw closed 8 months ago

timw commented 1 year ago

Observed vs. expected behavior

Attempting to include a Structurizr diagram in an Asciidoc file. Support for this was added to asciidoctor-diagram in 2.2.8 (https://github.com/asciidoctor/asciidoctor-diagram/issues/386).

The [structurizr] diagram type is detected, but rendering fails with the following error in the logs:

2023-05-27 09:18:24,216 [ 124293] SEVERE - org.asciidoctor.jruby.internal.JRubyAsciidoctor - org.jruby.RubyNoMethodError 2023-05-27 09:18:24,217 [ 124294] WARN - #org.asciidoc.intellij.AsciiDocWrapper - unable to render AsciiDoc document org.asciidoctor.jruby.internal.AsciidoctorCoreException: org.jruby.exceptions.NoMethodError: (NoMethodError) asciidoctor: FAILED: /Users/timw/projects/indexity/empi/indexing/backend/dev/doc/struct_test.adoc: Failed to load AsciiDoc document - undefined method gsub' for #<Asciidoctor::Reader:0x4c216325> at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convert(JRubyAsciidoctor.java:330) at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convert(JRubyAsciidoctor.java:346) at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convert(JRubyAsciidoctor.java:341) at org.asciidoc.intellij.AsciiDocWrapper.render(AsciiDocWrapper.java:816) at org.asciidoc.intellij.AsciiDocWrapper.render(AsciiDocWrapper.java:782) at org.asciidoc.intellij.annotator.AsciiDocExternalAnnotatorProcessor.doAnnotate(AsciiDocExternalAnnotatorProcessor.java:98) at org.asciidoc.intellij.annotator.AsciiDocExternalAnnotatorProcessor.doAnnotate(AsciiDocExternalAnnotatorProcessor.java:52) at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:204) at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:198) at com.intellij.codeInsight.daemon.impl.ExternalToolPass.runChangeAware(ExternalToolPass.java:274) at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.lambda$run$1(ExternalToolPass.java:176) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173) at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:361) at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:339) at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.run(ExternalToolPass.java:175) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:350) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:340) at com.intellij.util.ui.update.MergingUpdateQueue.doExecute(MergingUpdateQueue.java:297) at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:280) at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:245) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:249) at com.intellij.util.Alarm$Request.runSafely(Alarm.java:365) at com.intellij.util.Alarm$Request.run(Alarm.java:354) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:272) at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:248) at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:28) at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:221) at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:227) at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:210) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: org.jruby.exceptions.NoMethodError: (NoMethodError) asciidoctor: FAILED: /Users/timw/projects/indexity/empi/indexing/backend/dev/doc/struct_test.adoc: Failed to load AsciiDoc document - undefined methodgsub' for # at RUBY.load(uri:classloader:/gems/asciidoctor-2.0.18/lib/asciidoctor/load.rb:104) at RUBY.convert(uri:classloader:/gems/asciidoctor-2.0.18/lib/asciidoctor/convert.rb:78) Caused by: org.jruby.exceptions.NoMethodError: (NoMethodError) undefined method `gsub' for # at RUBY.sub_attributes(uri:classloader:/gems/asciidoctor-2.0.18/lib/asciidoctor/substitutors.rb:214) at RUBY.apply_target_subs(uri:classloader:/gems/asciidoctor-diagram-2.2.8/lib/asciidoctor-diagram/diagram_processor.rb:384) at RUBY.create_source(uri:classloader:/gems/asciidoctor-diagram-2.2.8/lib/asciidoctor-diagram/diagram_processor.rb:394) at RUBY.process(uri:classloader:/gems/asciidoctor-diagram-2.2.8/lib/asciidoctor-diagram/diagram_processor.rb:71) at RUBY.process( Githubissues.

  • Githubissues is a development platform for aggregating issues.