version

open override val version: String

A version that is used as input of the Gradle task. Since OperationOutputGenerator cannot easily be serialized and influences the output of the task, we need a way to mark the task out-of-date when the implementation changes.

Two different implementations must have different versions.

When using the compiler outside of a Gradle context, version is not used, making it the empty string is fine.