2016-10-15 6 views
0

Ist es möglich, Flags wie die folgenden zu einer Package.swift-Datei hinzuzufügen?Benutzerdefinierte Zusammenstellung von Package.swift

#if DEBUG 
    ...Code 
#else 

Insbesondere ich versuche ein Paket für DEBUG und einen für RELEASE verpackt zu laden, indem jedes Paket innerhalb des bedingten Kompilierung Block jeweiligen deren Verwendung Fall platzieren (was nur die Nomenklatur für ich verwende CLIENT und SERVER vorausgesetzt, dass ich nicht herausfinden kann, wie man benutzerdefinierte Flags über DEBUG und RELEASE hinaus erstellt). Der Client verwendet SQLite und der Server verwendet PostgreSQL. Ich habe eine Testbibliothek geschrieben, die auf eine Datei verweist, die bedingt kompiliert ist, um die entsprechende SQL zu verwenden. Das einzige Problem ist nun, dass Package.swift auch bedingt kompiliert wird.

+0

http://stackoverflow.com/questions/24003291/ifdef-replacement-in-swift-language – th7nder

Antwort

1

Dies ist eine weniger vollständige Frage gegenüber: Swift package manager conditional compile not respecting flags aber die kurze Antwort ist nein, Sie können dies nicht in Ihrem Paket Manifest derzeit tun.

Für Ihren Anwendungsfall würde die Erwartung bestehen, dass Sie Ihren Client und Server einfach als parallele Produkte im Paket definieren. Für den Moment werden beide immer gebaut, aber in Zukunft erwarten wir Optionen, mit denen Sie Teile Ihres Pakets bauen können.

Wenn Sie wirklich möchten, dass sie unabhängig voneinander erstellt werden, können Sie jedes als separates Paket auf einem separaten Paket aufbauen, in dem Sie alle Ihre freigegebenen Funktionen platzieren.

Verwandte Themen