-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introducing Revapi into build system (#6381)
* Introducing Revapi into build system. Currently it is configured to not fail the build (because it is comparing the 1.0.0-preview.N releases rather than 1.0.0). Once this versioning issue is fixed, we should flip this to fail the build. * Add revapi versions to external-dependencies.txt * Ignore packages that are under implementation. * Fail build if there are API inconsistencies. * Add versionFormat string to compare. * Skip revapi in azure-core-test * Use resource file in sdk-build-tools instead of having to resolve relative path based on pom. * Revapi not needed for aggregate report.
- Loading branch information
1 parent
a7775d6
commit fdf67a2
Showing
6 changed files
with
186 additions
and
9 deletions.
There are no files selected for viewing
89 changes: 89 additions & 0 deletions
89
eng/code-quality-reports/src/main/resources/revapi/revapi.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
[ | ||
{ | ||
"extension": "revapi.java", | ||
"configuration": { | ||
"filter": { | ||
"packages": { | ||
"regex": true, | ||
"exclude": [ "com\\.azure\\..+\\.implementation(\\..+)?" ] | ||
} | ||
} | ||
} | ||
}, | ||
{ | ||
"extension": "revapi.semver.ignore", | ||
"configuration": { | ||
"enabled": true, | ||
"versionIncreaseAllows": { | ||
"major": "breaking", | ||
"minor": "nonBreaking", | ||
"patch": "equivalent" | ||
}, | ||
"passThroughDifferences": [ "java.class.nonPublicPartOfAPI" ] | ||
} | ||
}, | ||
{ | ||
"extension": "revapi.ignore", | ||
"configuration": [ | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class org\\.reactivestreams\\.Publisher", | ||
"justification": "This class is part of the reactive streams initiative in Java." | ||
}, | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class reactor\\.util\\.context\\.Context", | ||
"justification": "Reactor is allowed in the public API. Since we don't analyze dependencies, these show up as being unresolved." | ||
}, | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class com\\.fasterxml\\.jackson\\.databind\\.ObjectMapper", | ||
"exampleUseChainInNewApi": ".*com\\.azure\\.core\\.util\\.serializer\\.JacksonAdapter.*", | ||
"justification": "We allow this in com.azure.core.util.serializer.JacksonAdapter." | ||
}, | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class reactor\\.core(\\..+)?", | ||
"justification": "Reactor is allowed in the public API. Since we don't analyze dependencies, these show up as being unresolved." | ||
}, | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class com\\.azure\\.core(?!\\.implementation)(\\..+)?", | ||
"justification": "com.azure.core.* classes are allowed in the public API. Since we don't analyze dependencies, these show up as being unresolved." | ||
}, | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class (io|reactor)\\.netty\\..+", | ||
"exampleUseChainInOldApi": ".*com\\.azure\\.core\\.http\\.netty\\.NettyAsyncHttpClientBuilder.*", | ||
"justification": "Dependencies are not checked. io.netty and reactor.netty are allowed in azure-core-http-netty." | ||
}, | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class okhttp3\\..+", | ||
"exampleUseChainInOldApi": ".*com\\.azure\\.core\\.http\\.okhttp\\.OkHttpAsyncHttpClientBuilder.*", | ||
"justification": "Dependencies are not checked. okhttp3 is allowed in azure-core-http-okhttp." | ||
}, | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class com\\.azure\\.storage\\..+", | ||
"exampleUseChainInOldApi": ".*com\\.azure\\.storage\\..*", | ||
"justification": "Dependencies are not checked. azure-storage-common is used in the storage modules." | ||
}, | ||
{ | ||
"regex": true, | ||
"code": "java\\.missing\\.(oldClass|newClass)", | ||
"new": "missing\\-class ((com\\.azure\\.messaging\\.eventhubs\\.models\\..+)|(com\\.azure\\.storage\\.blob\\.BlobContainerAsyncClient))", | ||
"exampleUseChainInNewApi": ".*com\\.azure\\.messaging\\.eventhubs\\.checkpointstore\\.blob\\..*", | ||
"justification": "azure-messaging-eventhubs and azure-storage-blob are used in the Event Hubs checkpoint store." | ||
} | ||
] | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters