Skip to content

[SDK] Adjust dependency script & regenerate dependencies #25425

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

Merged
merged 3 commits into from
Jun 27, 2019

Conversation

lorentey
Copy link
Member

The overlay dependencies are a bit out date with the SDKs that are in Xcode 11 beta 1, and this causes CI issues. Adjust the script to reduce the amount of noise it generates and regenerate overlay dependencies.

rdar://problem/51634433

@lorentey
Copy link
Member Author

@swift-ci clean test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 329872fadbd74569e2afa426975590478a99e4c7

@benlangmuir
Copy link
Contributor

@swift-ci clean test macOS

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 329872fadbd74569e2afa426975590478a99e4c7

@jrose-apple
Copy link
Contributor

Make sure you do the generation against the internal SDKs. Better to have too many dependencies than not enough.

@lorentey
Copy link
Member Author

11281 failures are a few more than I expected.

@lorentey
Copy link
Member Author

@swift-ci clean test macOS platform

@lorentey
Copy link
Member Author

@swift-ci test

@swift-ci

This comment has been minimized.

@swift-ci

This comment has been minimized.

@lorentey
Copy link
Member Author

@swift-ci clean test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 304500655fbcb15fb54f5d643818524fdaa210b1

@lorentey
Copy link
Member Author

That was slightly too many additions -- we have two cycles now:

Dispatch → os → Dispatch
ObjectiveC → os → ObjectiveC

CMake Error: The inter-target dependency graph contains the following strongly connected component (cycle):
  "swiftDispatch-swiftmodule-iphonesimulator-i386" of type UTILITY
    depends on "lib-swift-iphonesimulator-Dispatch.swiftmodule-i386.swiftmodule" (strong)
  "lib-swift-iphonesimulator-Dispatch.swiftmodule-i386.swiftmodule" of type UTILITY
    depends on "swiftObjectiveC-swiftmodule-iphonesimulator-i386" (strong)
    depends on "swiftos-swiftmodule-iphonesimulator-i386" (strong)
  "swiftObjectiveC-swiftmodule-iphonesimulator-i386" of type UTILITY
    depends on "lib-swift-iphonesimulator-ObjectiveC.swiftmodule-i386.swiftmodule" (strong)
  "lib-swift-iphonesimulator-ObjectiveC.swiftmodule-i386.swiftmodule" of type UTILITY
    depends on "swiftos-swiftmodule-iphonesimulator-i386" (strong)
  "swiftos-swiftmodule-iphonesimulator-i386" of type UTILITY
    depends on "lib-swift-iphonesimulator-os.swiftmodule-i386.swiftmodule" (strong)
  "lib-swift-iphonesimulator-os.swiftmodule-i386.swiftmodule" of type UTILITY
    depends on "swiftDispatch-swiftmodule-iphonesimulator-i386" (strong)
    depends on "swiftObjectiveC-swiftmodule-iphonesimulator-i386" (strong)

@jrose-apple
Copy link
Contributor

Hm, ObjectiveC definitely shouldn't depend on os. And I think os depend on Dispatch but not the other way around.

@benlangmuir
Copy link
Contributor

@jrose-apple did you mean Dispatch depends on os?

<snip>/usr/include/dispatch/dispatch.h:
26:#include <os/availability.h>
28:#include <os/base.h>
30:#include <os/generic_win_base.h>
32:#include <os/generic_unix_base.h>
59:#include <os/object.h>

@jrose-apple
Copy link
Contributor

jrose-apple commented Jun 19, 2019

No, os.object and os.base were broken out into their own modules to break this circularity.

module os [system] [extern_c] {
 module base {
  export Darwin.os.base
 }
 module lock {
  export Darwin.os.lock
 }
 module object {
  export os_object
 }
 // ...
}

lorentey added 3 commits June 27, 2019 12:14
- Don’t special-case Foundation.
- Don’t update files if the only change is in the ordering.
- Match for a space after CMAKE_DEPENDS_NAME.
This isn’t hardcoded into the dependency detection script anymore.
@lorentey
Copy link
Member Author

Rebased and reverted back to the public SDK.

@swift-ci test

@lorentey lorentey merged commit 6aa313b into swiftlang:master Jun 27, 2019
@lorentey lorentey deleted the regenerate-deps branch June 27, 2019 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants