antlr / stringtemplate4

StringTemplate 4
http://www.stringtemplate.org
Other
956 stars 231 forks source link

Revapi #238

Closed Clashsoft closed 4 years ago

Clashsoft commented 4 years ago

Revapi (https://revapi.org/) is a tool that checks for binary and source incompatibilies (breaking changes) between two versions of a project. This PR adds its configuration to pom.xml and makes it ignore some "breaking" changes from #233, #235 and #237 that were already discussed to be acceptable.

parrt commented 4 years ago

hi. what exactly does this do to the build or provide etc? Not familiar with that tool.

Clashsoft commented 4 years ago

It notifies you when a commit introduces breaking changes in that it fails the build. In particular, there is a new maven task that compares the API and ABI of the current build and the previous release jar, and if it finds breaking changes, reports them and fails the build (like when tests fail). This would be visible in Travis for example, and by extension you can see which PRs break compatibility.

parrt commented 4 years ago

ok, that sounds useful. merging.

parrt commented 4 years ago

maven sees a revapi failure i think now:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.993 s
[INFO] Finished at: 2020-01-11T17:06:32Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.revapi:revapi-maven-plugin:0.11.2:check (default) on project ST4: The following API problems caused the build to fail:
[ERROR] java.class.superTypeTypeParametersChanged: class org.stringtemplate.v4.NumberRenderer: Super type's type parameters changed from 'org.stringtemplate.v4.AttributeRenderer' to 'org.stringtemplate.v4.AttributeRenderer<java.lang.Object>'.
[ERROR] java.class.superTypeTypeParametersChanged: class org.stringtemplate.v4.StringRenderer: Super type's type parameters changed from 'org.stringtemplate.v4.AttributeRenderer' to 'org.stringtemplate.v4.AttributeRenderer<java.lang.Object>'.
[ERROR] 
[ERROR] Consult the plugin output above for suggestions on how to ignore the found problems.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "eval mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V " failed 3 times.
The command "mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V" failed and exited with 1 during .
Your build has been stopped.
parrt commented 4 years ago

your recent fix?

Clashsoft commented 4 years ago

Yes thats from #241 . I'll update and submit a new PR in a bit.

Clashsoft commented 4 years ago

243 fixes the issue.