-
-
Notifications
You must be signed in to change notification settings - Fork 357
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
chore(maven): Change pom.xml to add revapi #1115
Conversation
…xml to support comparison with last snapshot.
Note that it's also possible to automatically change the version number of the future release to respect the semantic versioning:
|
Cool. I propose to extensively comment |
@surli,
in order not to have PR failures while this one is not merged. |
…stead of a JSON string.
Analysis results Old API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-20170124.234602-14 New API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-SNAPSHOT old: new: interface spoon.compiler.SpoonCompiler java.class.added: Class was added. (breaks semantic versioning) SOURCE: NON_BREAKING, OTHER: BREAKING, BINARY: NON_BREAKING old: class spoon.support.compiler.jdt.JDTTreeBuilderHelper new: class spoon.support.compiler.jdt.JDTTreeBuilderHelper java.class.nonPublicPartOfAPI: Class 'spoon.support.compiler.jdt.JDTTreeBuilderHelper' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected). Use chain of the type in the old API: spoon.support.compiler.jdt.JDTTreeBuilderHelper is returned from method spoon.support.compiler.jdt.JDTTreeBuilderHelper spoon.support.compiler.jdt.JDTTreeBuilder::getHelper() (method spoon.support.compiler.jdt.JDTTreeBuilderHelper spoon.support.compiler.jdt.JDTTreeBuilder::getHelper() is part of the API) Use chain of the type in the new API: spoon.support.compiler.jdt.JDTTreeBuilderHelper is returned from method spoon.support.compiler.jdt.JDTTreeBuilderHelper spoon.support.compiler.jdt.JDTTreeBuilder::getHelper() (method spoon.support.compiler.jdt.JDTTreeBuilderHelper spoon.support.compiler.jdt.JDTTreeBuilder::getHelper() is part of the API) (breaks semantic versioning) SOURCE: NON_BREAKING, OTHER: BREAKING, SEMANTIC: BREAKING, BINARY: NON_BREAKING old: field spoon.support.DefaultCoreFactory.serialVersionUID new: field spoon.support.DefaultCoreFactory.serialVersionUID java.field.serialVersionUIDUnchanged: The class changed in an incompatible way with regards to serialization but the serialVersionUID field stayed unchanged. This might be ok and/or desired but is suspicious. (breaks semantic versioning) SOURCE: EQUIVALENT, OTHER: BREAKING, SEMANTIC: POTENTIALLY_BREAKING, BINARY: EQUIVALENT old: new: method boolean spoon.support.compiler.jdt.JDTBasedSpoonCompiler::compileInputSources() java.method.added: Method was added. (breaks semantic versioning) SOURCE: NON_BREAKING, OTHER: BREAKING, BINARY: NON_BREAKING old: new: method spoon.reflect.cu.SourcePosition spoon.reflect.factory.CoreFactory::createSourcePosition(spoon.reflect.cu.CompilationUnit, int, int, int, int[]) java.method.addedToInterface: Method was added to an interface. (breaks semantic versioning) SOURCE: BREAKING, OTHER: BREAKING, SEMANTIC: POTENTIALLY_BREAKING, BINARY: NON_BREAKING old: method R spoon.reflect.visitor.chain.CtQuery::first() new: java.method.removed: Method was removed. (breaks semantic versioning) SOURCE: BREAKING, OTHER: BREAKING, BINARY: BREAKING old: method R spoon.reflect.visitor.chain.CtQuery::first(java.lang.Class) new: java.method.removed: Method was removed. (breaks semantic versioning) SOURCE: BREAKING, OTHER: BREAKING, BINARY: BREAKING old: new: method java.lang.ClassLoader spoon.compiler.Environment::getClassLoader() java.method.addedToInterface: Method was added to an interface. (breaks semantic versioning) SOURCE: BREAKING, OTHER: BREAKING, SEMANTIC: POTENTIALLY_BREAKING, BINARY: NON_BREAKING old: new: method java.util.List spoon.reflect.declaration.CtElement::getReferences(spoon.reflect.visitor.Filter) java.method.addedToInterface: Method was added to an interface. (breaks semantic versioning) SOURCE: BREAKING, OTHER: BREAKING, SEMANTIC: POTENTIALLY_BREAKING, BINARY: NON_BREAKING old: new: method boolean spoon.reflect.declaration.CtTypeInformation::isAssignableFrom(spoon.reflect.reference.CtTypeReference<?>) java.method.addedToInterface: Method was added to an interface. (breaks semantic versioning) SOURCE: BREAKING, OTHER: BREAKING, SEMANTIC: POTENTIALLY_BREAKING, BINARY: NON_BREAKING old: method boolean spoon.reflect.visitor.EarlyTerminatingScanner::isTerminated() new: java.method.removed: Method was removed. (breaks semantic versioning) SOURCE: BREAKING, OTHER: BREAKING, BINARY: BREAKING old: method spoon.reflect.visitor.chain.CtQuery spoon.reflect.visitor.chain.CtQuery::select(spoon.reflect.visitor.Filter) new: java.method.removed: Method was removed. (breaks semantic versioning) SOURCE: BREAKING, OTHER: BREAKING, BINARY: BREAKING |
@monperrus for now the Gakoci hook only use the branch of the PR creator which is quite inconveniant as old API can be considered. Just have a look at the beginning of the last comment and you'll see... |
Revapi Analysis resultsOld API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-20170130.234600-20 New API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-SNAPSHOT Detected changes: 15. Change 1
Change 2
Change 3
Change 4
Change 5
Change 6
Change 7
Change 8
Change 9
Change 10
Change 11
Change 12
Change 13
Change 14
Change 15
|
Revapi Analysis resultsOld API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-20170130.234600-20 New API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-SNAPSHOT Detected changes: 1. Change 1
|
Revapi Analysis resultsOld API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-20170130.234600-20 New API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-SNAPSHOT Detected changes: 0. |
Revapi Analysis resultsOld API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-20170130.234600-20 New API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-SNAPSHOT Detected changes: 0. |
1 similar comment
Revapi Analysis resultsOld API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-20170130.234600-20 New API: fr.inria.gforge.spoon:spoon-core:jar:5.6.0-SNAPSHOT Detected changes: 0. |
Use revapi to compare Spoon API against the last published snapshot. Fix #1023.
Thanks a lot @metlos for the support and quick changes on revapi.
Launched today and obtain the following result:
It currently breaks a
mvn install
and so, it should break a Travis build if a change in the API is not documented.We can still ignore some changes in the API editing revapi.json file. Maybe it should be good to document our process concerning changes in the API and the usage of revapi (add justification to breaks inside the revapi.json).