我试图完成与https://github.com/pointfreeco/swift-composable-architecture相同的包组织。我想实现的功能如下:
1.配套应用程序和软件包位于同一个工作区中,可以并行编辑
1.配套应用托管在同一个存储库中,但不会作为包 checkout 的一部分下载
我试过了
1.从一个空的工作区开始,然后向其中添加一个包,但是Package.swift
将不会位于repo的根目录,所以这不会起作用。
1.从包File > New > Package
开始。然后在同一个文件夹中创建空的工作区。打开它并将包文件夹拖到上面。然后添加一个新的应用程序项目,将其与我将要构建的包链接。这一切似乎都工作正常。然而,现在我要带着包中的Example
文件夹离开,我不能简单地删除对它的引用,只能删除整个文件夹。
3条答案
按热度按时间iszxjhcz1#
托管在同一存储库中的配套应用
Should NOT BE
。我建议为您的设计系统包创建另一个存储库,并将其添加为云包。
如果您坚持为您的包和项目使用一个存储库,那么只需通过拖放操作创建包并将其添加到项目的根目录中。
然后使用
git add.
,然后提交并推送它。完成后,您可以在本地添加design-system包,具体步骤如下:
1.文件
1.添加包...
1.添加本地…
1.选择您的软件包(在您的根目录中)
1.添加包后,在
Targets
〉'YourProject'
〉General
〉Frameworks
中添加oxalkeyp2#
我能够达到我想要达到的结果,遵循这些步骤:
1.从包File〉New〉Package开始。关闭此项目。
1.创建一个空工作区并将其保存到包的根目录。
1.从Finder中,将您的包文件夹拖到工作区中。
1.再次打开工作区。向其中添加新的应用程序项目,并再次将其保存到包的根目录。关闭此工作区。
1.转到您的App项目根目录并添加一个空的包文件,如下所示:
1.再次打开工作区。将包拖到应用项目的根目录中。
1.选择应用项目的〉构建阶段〉将二进制文件与库链接,然后添加您的软件包
您现在应该能够编译应用程序并引用您将从中构建的包。 checkout 您的包的用户将不会获得应用程序的项目。
yhived7q3#
下面是我的建议,正如https://github.com/MacPaw/OpenAI的结构(也是从
swift-composable-architecture
的结构派生而来)所示。总结一下
1.在与包源相同的级别上创建演示应用程序文件夹。
1.在Demo应用中,创建一个新包
DemoPackage
,它依赖于您的根包../..
。此包可以包含配套应用的大部分业务逻辑。1.将
DemoPackage
本地添加到您的演示应用项目中。添加light wiring wrapper以引用您的DemoPackage
。这样,你就可以在你提供的包中编写演示应用程序。