Open PhilippWendler opened 5 years ago
The templates rely on Java's built-in serialization framework and thus come with the usual java.io.Serializable
caveats. Last week I found that the templates are not compatible between versions 2.3.2 and 2.3.3.
I agree that having such compatibility between versions would be a boon; this would eventually allow libraries to share best-practice usages as compiled Refaster templates (using tooling such as alluded to in https://github.com/google/error-prone/issues/552#issuecomment-516054278).
Description of the feature request:
Refaster writes serialized data into a file which then needs to be given to Error-Prone. As far as I could see it is nowhere documented whether this rule file is compatible between different versions. I.e., can I pass a rule file created with an older version to a newer error-prone, or vice versa? If yes, for which version ranges is this guaranteed (e.g., same minor version, or just same major version)?
Please document the compatibility rules.
What underlying problem are you trying to solve with this feature?
I am creating a set of refaster rules that would be useful for all of my organization's Java projects. I am trying to define a workflow of getting the rules to the users, and for this I would like to know whether I can pass around the binary rule file or whether the refaster rules should be distributed as source code and compiled just before they are applied.