0

以下のようなフラグを Package.swift ファイルに追加することは可能ですか?

#if DEBUG
  ...Code
#else

特に、DEBUG 用に 1 つのパッケージをロードし、RELEASE 用にパッケージ化された 1 つのパッケージを、それぞれのユース ケースに応じて条件付きコンパイル ブロック内に配置することによってロードしようとしています (これは、CLIENT と SERVER に使用している命名法にすぎません。 DEBUG と RELEASE 以外のカスタム フラグを作成する方法を理解してください)。クライアントは SQLite を使用し、サーバーは PostgreSQL を使用します。私は、適切な SQL を使用するために条件付きでコンパイルされる 1 つのファイルにマップするテスト ライブラリを作成しました。したがって、唯一の問題は、Package.swift も条件付きでコンパイルすることです。

4

1 に答える 1

1

これは完全ではない質問です: Swift パッケージ マネージャーの条件付きコンパイルはフラグを尊重しません が、短い答えは、現在パッケージ マニフェストでこれを行うことはできません。

ユースケースでは、クライアントとサーバーをパッケージ内の並列製品として定義するだけであることが期待されます。今のところ、両方とも常にビルドされますが、将来的には、パッケージの一部をビルドできるオプションが用意される予定です。

それらを個別にビルドしたい場合は、すべての共有機能を配置する別のパッケージの上に、それぞれを別のパッケージとしてビルドできます。

于 2016-10-17T07:09:54.817 に答える