diff --git a/libraries/.gitignore b/libraries/.gitignore index e2ae2315a83..ab804e658cc 100644 --- a/libraries/.gitignore +++ b/libraries/.gitignore @@ -1,5 +1,6 @@ target /doc/ -.idea +.idea/ +!.idea/runConfigurations *.iml *.ipr diff --git a/libraries/.idea/runConfigurations/Binary_compatibility_tests__overwrite_results.xml b/libraries/.idea/runConfigurations/Binary_compatibility_tests__overwrite_results.xml new file mode 100644 index 00000000000..427627cbfc4 --- /dev/null +++ b/libraries/.idea/runConfigurations/Binary_compatibility_tests__overwrite_results.xml @@ -0,0 +1,23 @@ + + + + + + + + + + \ No newline at end of file diff --git a/libraries/tools/binary-compatibility-validator/ReadMe.md b/libraries/tools/binary-compatibility-validator/ReadMe.md index 82ccaf8db91..dd36167b61b 100644 --- a/libraries/tools/binary-compatibility-validator/ReadMe.md +++ b/libraries/tools/binary-compatibility-validator/ReadMe.md @@ -1,7 +1,20 @@ # Kotlin Public API binary compatibility validation tool This tool allows to dump binary API of a Kotlin library that is public in sense of Kotlin visibilities -and ensure that the binary API wasn't changed in a way that make this change binary incompatible. +and ensure that the public binary API wasn't changed in a way that make this change binary incompatible. + +## How to run + +Compile and run tests. `CasesPublicAPITest` verifies the tool itself, +and `RuntimePublicAPITest` dumps the public API of `kotlin-runtime` and `kotlin-stdlib` jars, +which must be built beforehand with maven. + +When substantial changes are made to the public API, it may be convenient to overwrite +the entire dump and compare changes later before commiting: pass `-Doverwrite.output=true` +property to the test to do so. + +Also you can use shared run configuration "Binary compatibility tests", which also +overwrites the results when they differ. ## What constitutes the public API