We currently allow returning string|NULL from methods such as getSchemaDefinition and getExtensionDefinition. However, that does not allow providing location information which is very useful in debugging.
To ensure SDL can always be traced back to its origins we should force plugins to return a Source instance. The only required value for Source is the actual string, but it's very easy to provide a name such as "Automatically Generated by {plugin ID}".
Since this is a change of return type for something that's implemented in user land it's a breaking change and can only be done in 5.x.
We currently allow returning
string|NULL
from methods such asgetSchemaDefinition
andgetExtensionDefinition
. However, that does not allow providing location information which is very useful in debugging.To ensure SDL can always be traced back to its origins we should force plugins to return a
Source
instance. The only required value forSource
is the actual string, but it's very easy to provide a name such as "Automatically Generated by {plugin ID}".Since this is a change of return type for something that's implemented in user land it's a breaking change and can only be done in 5.x.