Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[native, build] Depend on interop klibs inside local build/, not in d…
…ist/ Interop klibs are built into two steps: 1. Compile interop klibs in kotlin-native/platformLibs/build/konan/libs This is done in KonanInteropTasks with names like: 'compileKonanAndroid_arm64-mediaAndroid_arm64' 2. Move them to kotlin-native/dist/klib/platform This is done in regular Sync-tasks with names like: 'android_arm64-media' Some interop klibs depend on other interop klibs (e.g. android_arm64/media library depends on android_arm64/posix). This commit changes how this dependency is declared; Before: - KonanInteropTasks declared dependencies on raw files in kotlin-native/dist/klib/platform. Example: 'compileKonanAndroid_arm64-mediaAndroid_arm64' declared a dependency on 'kotlin-native/dist/klib/platform/android_arm64/o.j.k.n.p.posix'-dir - KonanInteropTasks declared dependencies on Sync-tasks, i.e. tasks from #1 declare dependencies on tasks from #2. Example: 'compileKonanAndroid_arm64-mediaAndroid_arm64' declared a dependency on 'android_arm64-posix' After: - KonanInteropTasks declare dependencies on raw files in kotlin-native/platformLibs/build/konan/libs. Example: 'compileKonanAndroid_arm64-mediaAndroid_arm64' declares a dependency on 'kotlin-native/platformLibs/build/konan/libs/android_arm64/o.j.k.n.p.posix' - KonanInteropTasks declare dependencies on other KonanInteropTasks. Example: 'compileKonanAndroid_arm64-mediaAndroid_arm64' declares a dependency on 'compileKonanAndroid_arm64-posixAndroid_arm64' This improves incapsulation and makes it less likely for inputs of these tasks to overlap with outputs of other tasks that write into dist/ (and overlapping outputs lead to error in Gradle)
- Loading branch information