According to Cédric in this this post on the dev mailing list, it should be possible to have a managed internal view of a binary spec that is an abstract class, not just an interface. However, when I tried this with Gradle 2.11, I got the error:
* What went wrong:
A problem occurred configuring root project 'junit5347301453175566604'.
> Exception thrown while executing model rule: AsciidoctorPlugin.Rules#registerHtmlBinaryType
> AsciidoctorPlugin.Rules#registerHtmlBinaryType is not a valid binary model rule method.
> Internal view org.asciidoctor.gradle.model.HtmlBinarySpecInternal must be an interface.
I’ve posted the code to a dedicated GitHub branch bug-01
. You can grab that and run ./gradlew intTest
. The error appears in the test reports.