Matthew Pope
05/13/2022, 6:09 PMIgnat Beresnev
05/13/2022, 6:13 PMMatthew Pope
05/13/2022, 6:13 PMapiDump
task?Ignat Beresnev
05/13/2022, 6:16 PMmbonnin
05/13/2022, 6:20 PMapiCheck
is added as a dependency to build
so you don't have much to dobuild
you should be coveredMatthew Pope
05/13/2022, 6:28 PMapiDump
in the PR, then the apiCheck
task is questionably useful because it will always pass because you're always regenerating the baseline API to whatever you are committing. If you do not include the apiDump
in the PR, then you don't have a clear way to re-baseline the API checks.mbonnin
05/13/2022, 6:29 PM./gradlew apiDumpSafe
that fails on breaking changes but that looks pretty hard to do: https://github.com/Kotlin/binary-compatibility-validator/issues/70Ignat Beresnev
05/13/2022, 6:41 PMMatthew Pope
05/13/2022, 6:43 PMIt will also fail if you accidentally expose something as public API without noticingI don't think it does. I just tested it out by adding a new public function to my library, and
apiCheck
passed even without updating the api dump.mbonnin
05/13/2022, 6:44 PMIgnat Beresnev
05/13/2022, 6:44 PMMatthew Pope
05/13/2022, 6:47 PMfun foo() = 1
) then apiCheck
catches it.apiCheck
fails on additive changes, then it all makes sense.altavir
05/14/2022, 8:18 PM