schwa / punic

[DEPRECATED] Clean room reimplementation of Carthage tool
0 stars 1 forks source link

PromiseKit framework detection #37

Open leoMehlig opened 7 years ago

leoMehlig commented 7 years ago

I'm trying to build the PromiseKit with punic. The problem is that PromiseKit has a Extension folder which contains a lot of project with extension to some system frameworks. Carthage doesn't build thees projects and only build the main project. Is this a problem with the framework detection or does Carthage do something else?

For me building all of them sort of is expected behaviour, but many of them fail. I added all of them to my skip list, but thats a lot of project to at there.

To test the behaviour please remove the skips.

punic.yaml

defaults:
  configuration: Release
  platform: iOS
  xcode-version: 8.2.1
skips:
  - [ iOS, PromiseKit, PMKAccounts.xcodeproj]
  - [ iOS, PromiseKit, PMKAlamofire.xcodeproj]
  - [ iOS, PromiseKit, PMKAddressBook.xcodeproj]
  - [ iOS, PromiseKit, PMKAssetsLibrary.xcodeproj]
  - [ iOS, PromiseKit, PMKAVFoundation.xcodeproj]
  - [ iOS, PromiseKit, PMKBolts.xcodeproj]
  - [ iOS, PromiseKit, PMKCloudKit.xcodeproj]
  - [ iOS, PromiseKit, PMKCoreBluetooth.xcodeproj]
  - [ iOS, PromiseKit, PMKCoreLocation.xcodeproj]
  - [ iOS, PromiseKit, PMKEventKit.xcodeproj]
  - [ iOS, PromiseKit, PMKFoundation.xcodeproj]
  - [ iOS, PromiseKit, PMKMapKit.xcodeproj]
  - [ iOS, PromiseKit, PMKMessagesUI.xcodeproj]
  - [ iOS, PromiseKit, PMKOMGHTTPURLRQ.xcodeproj]
  - [ iOS, PromiseKit, PMKPhotos.xcodeproj]
  - [ iOS, PromiseKit, PMKQuartzCore.xcodeproj]
  - [ iOS, PromiseKit, PMKSocial.xcodeproj]
  - [ iOS, PromiseKit, PMKStoreKit.xcodeproj]
  - [ iOS, PromiseKit, PMKSystemConfiguration.xcodeproj]
  - [ iOS, PromiseKit, PMKUIKit.xcodeproj]
  - [ iOS, PromiseKit, PMKWatchConnectivity.xcodeproj]

Cartfile

github "hyperoslo/Whisper"
github "onevcat/Kingfisher"
github "marmelroy/PhoneNumberKit"
github "marmelroy/Interpolate"s
github "Alamofire/Alamofire"
github "mxcl/PromiseKit"
github "realm/realm-cocoa"
github "bustoutsolutions/siesta"
github "JohnSundell/Unbox"

Cartfile.resolved

github "Alamofire/Alamofire" "4.2.0"
github "marmelroy/Interpolate" "0.4.0"
github "onevcat/Kingfisher" "3.2.4"
github "marmelroy/PhoneNumberKit" "1.2.1"
github "mxcl/PromiseKit" "4.1.3"
github "JohnSundell/Unbox" "2.3.0"
github "hyperoslo/Whisper" "4.0.0"
github "realm/realm-cocoa" "v2.1.2"
github "bustoutsolutions/siesta" "1.0.1"

Thanks a lot for your work btw. This is much nice, cleaner and most importantly faster than Carthage.

schwa commented 7 years ago

Thanks for all the issues and pull requests. They're very much appreciated. I've been on vacation and am only now able to resolve PRs and issues. Thanks for your patience.

schwa commented 7 years ago

PromiseKit is a very strange project and of a type I haven't seen before. Each extension has its own Cartfile. I need to figure out how to support this but it won't necessarily be soon I'm afraid.

leoMehlig commented 7 years ago

No problems. One can still add skip lists.

schwa commented 7 years ago

Ah I see. You don't want the extensions built. OK. Definitely low priority for now - but interesting. Seems they've added support for this to Carthage but not sure if it's documented yet.