-
Notifications
You must be signed in to change notification settings - Fork 67
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
Removing native targets did not cause API check to fail #234
Comments
@JakeWharton, thanks for reporting the issue! With native targets (points 1 and 2), there's a bug related to how we mitigate failures related to Apple targets being unavailable on Linux & Windows. |
As of an Android target removal, the task responsible for dump comparison ( So it finds either of I don't think it was implemented that way intentionally. |
For Klibs, the logic of target filtration should be inverted to exclude all unsupported targets (among those defined in a project) instead of leaving all supported targets (which does not include targets removed since the golden dump was created). |
Ah, nice. Thanks! For now I enabled this only on CI where we're always on a Mac. The message is not great, like you said, but it should be extremely rare (and it's probably only me making the changes). Adding the actual missing targets to the message would be a nice improvement. And I'm not sure whether it's worth the code to disambiguate between targets that are unavailable on the host OS, or those which are available but have been removed, but that also would be nice. |
* Improve exception message * Added a test reproducing the issue from Kotlin/binary-compatibility-validator#234 (p. 1 & 2) * Removed native targets should trigger validation failure Fixes Kotlin/binary-compatibility-validator#234 Pull request Kotlin/binary-compatibility-validator#236
* Improve exception message * Added a test reproducing the issue from Kotlin/binary-compatibility-validator#234 (p. 1 & 2) * Removed native targets should trigger validation failure Fixes Kotlin/binary-compatibility-validator#234 Pull request Kotlin/binary-compatibility-validator#236
* Improve exception message * Added a test reproducing the issue from Kotlin/binary-compatibility-validator#234 (p. 1 & 2) * Removed native targets should trigger validation failure Fixes Kotlin/binary-compatibility-validator#234 Pull request Kotlin/binary-compatibility-validator#236
* Improve exception message * Added a test reproducing the issue from Kotlin/binary-compatibility-validator#234 (p. 1 & 2) * Removed native targets should trigger validation failure Fixes Kotlin/binary-compatibility-validator#234 Pull request Kotlin/binary-compatibility-validator#236 Moved from Kotlin/binary-compatibility-validator@db8c335
* Improve exception message * Added a test reproducing the issue from Kotlin/binary-compatibility-validator#234 (p. 1 & 2) * Removed native targets should trigger validation failure Fixes Kotlin/binary-compatibility-validator#234 Pull request Kotlin/binary-compatibility-validator#236 Moved from Kotlin/binary-compatibility-validator@db8c335
I removed a bunch of multiplatform targets in cashapp/redwood#2070 but made no actual API changes.
There were three types of removals:
In all three cases the
apiCheck
task did not fail despite runningapiDump
producing significant changes to the API files (as seen in cashapp/redwood#2077).Points 1 and 2 are similar, both being cases of the targets in the API file being now incorrect. Point 3 is interesting because the API files in
android/
andjvm/
were now dead and the API file in the root was missing.I would have hoped all three cases to be detected, fail the build, and require an
apiDump
to update the files.The text was updated successfully, but these errors were encountered: