Единый файл корзины для указания и установки зависимостей для нескольких целей

Есть ли способ написать один файл корзины, который можно использовать для установки зависимостей, необходимых для нескольких целей. Этого можно достичь, используя Cocoapods, как показано ниже:

# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'

def rx_swift
    pod 'RxSwift', '~> 4.0'
end

def rx_cocoa
    pod 'RxCocoa', '~> 4.0'
end

def test_pods
    pod 'RxTest'
    pod 'RxBlocking'
    pod 'Nimble'
end


target 'CleanArchitectureRxSwift' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  rx_cocoa
  rx_swift
  pod 'QueryKit'
  target 'CleanArchitectureRxSwiftTests' do
    inherit! :search_paths
    test_pods
  end

end

target 'CoreDataPlatform' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  rx_swift
  pod 'QueryKit'
  target 'CoreDataPlatformTests' do
    inherit! :search_paths
    test_pods
  end

end

target 'Domain' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  rx_swift

  target 'DomainTests' do
    inherit! :search_paths
    test_pods
  end

end

target 'NetworkPlatform' do
    # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
    use_frameworks!
    rx_swift
    pod 'Alamofire'
    pod 'RxAlamofire'

    target 'NetworkPlatformTests' do
        inherit! :search_paths
        test_pods
    end

end

target 'RealmPlatform' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  rx_swift
  pod 'RxRealm', '~> 0.7.1'
  pod 'QueryKit'
  pod 'RealmSwift', '~> 3.10'
  pod 'Realm', '~> 3.10'

  target 'RealmPlatformTests' do
    inherit! :search_paths
    test_pods
  end

end

Пожалуйста, дайте мне знать, можем ли мы добиться того же, используя Carthage? т.е. записав все зависимости, необходимые для всех целей, в один файл корзины, а затем установив их с помощью carthage?

Почему я хочу это сделать, я чувствую, что по мере того, как мы продолжаем добавлять зависимости к различным целям (фреймворкам), используемым в приложении, было бы легко поддерживать, если бы у нас были все зависимости, перечисленные в одном файле корзины. Заранее спасибо.


person iamyogish    schedule 19.04.2019    source источник
comment
Я недавно перешел на CocoaPod (из Карфагена), и я считаю, что намного проще заставить его работать с разными целями. Кроме того, никакой ручной фреймворк / двоичный файл / скрипт не требуется!   -  person Iman    schedule 20.04.2019


Ответы (1)


Это невозможно сделать в Карфагене, и , вероятно, никогда не будет поддерживаться .

Вы можете перечислить все зависимости в одном файле Cartfile, но вам все равно придется вручную выбирать и добавлять их в linked frameworks and libraries вашей цели.

person bonky fronk    schedule 19.04.2019