Fixes the Gradle configuration caching issues originating from this project when executing org.asciidoctor.gradle.jvm.AsciidoctorTask. There are some remaining issues, but those are caused by the grolifant library.
Changes
The configuration caching issues in this project were primarily tasks referencing types incompatible with configuration caching. The references to these types were mostly held by AsciidoctorJExtension, which AbstractAsciidoctorTask held a reference to. To resolve this, AbstractAsciidoctorTask now reads the needed AsciidoctorJExtension properties through providers, so that holding a direct reference to AsciidoctorJExtension is no longer necessary. No input annotations were added to these providers to maintain parity with the current task behavior. The setters in AbstractAsciidoctorTask that write data through to AsciidoctorJExtension now obtain the AsciidoctorJExtension through an @Internal getter. This way, Gradle does not serialize AsciidoctorJExtension as part of the config cache entry.
Next Steps
The remaining configuration caching issues are shown in the following report.
The grolifant library will have to be updated or removed from this plugin to resolve these issues.
Overview
Fixes the Gradle configuration caching issues originating from this project when executing
org.asciidoctor.gradle.jvm.AsciidoctorTask
. There are some remaining issues, but those are caused by the grolifant library.Changes
The configuration caching issues in this project were primarily tasks referencing types incompatible with configuration caching. The references to these types were mostly held by
AsciidoctorJExtension
, whichAbstractAsciidoctorTask
held a reference to. To resolve this,AbstractAsciidoctorTask
now reads the neededAsciidoctorJExtension
properties through providers, so that holding a direct reference toAsciidoctorJExtension
is no longer necessary. No input annotations were added to these providers to maintain parity with the current task behavior. The setters inAbstractAsciidoctorTask
that write data through toAsciidoctorJExtension
now obtain theAsciidoctorJExtension
through an@Internal
getter. This way, Gradle does not serializeAsciidoctorJExtension
as part of the config cache entry.Next Steps
The remaining configuration caching issues are shown in the following report.
The grolifant library will have to be updated or removed from this plugin to resolve these issues.