Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility of refaster rules file not documented #1318

Open
PhilippWendler opened this issue Jul 29, 2019 · 1 comment
Open

Compatibility of refaster rules file not documented #1318

PhilippWendler opened this issue Jul 29, 2019 · 1 comment

Comments

@PhilippWendler
Copy link

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.

@Stephan202
Copy link
Contributor

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 #552 (comment)).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants