Swift包管理: 源文件佈局[翻譯]

在Swift包管理工具中,swift build構建命令根據文件系統中Sources目錄的源代碼的佈局來建立目標模塊。git

例如,Swift源文件有如下目錄佈局結構:github

example/
example/Sources/bar.swift
example/Sources/baz.swift

example 目錄運行swift build命令將生成一個靜態庫目標:example/.build/debug/example.aswift

若是要生成多個目標文件,則須要在Sources目錄中建立多個子目錄:app

example/Sources/foo/foo.swift
example/Sources/bar/bar.swift

運行swift build構建命令將生成兩個靜態庫目標:工具

  • example/.build/debug/foo.a
  • example/.build/debug/bar.a

要生成一個可執行的模塊(而不是庫),須要在模塊代碼所在目錄添加一個main.swift文件:佈局

example/Sources/foo/main.swift
example/Sources/bar/bar.swift

如今運行swift build命令將生成一個可執行程序:測試

  • example/.build/debug/foo
  • example/.build/debug/bar.a

其中foo是一個可執行程序,bar.a是一個靜態庫。ui

其它規則

  • 若是模塊中有名爲Tests的目錄,將被看成測試模塊,在運行 swift test測試的時候使用。在Manifest文件中(Package.swift文件),能夠經過配置忽略 Tests目錄或任意的子目錄。也能夠針對測試目標單獨配置依賴關係,方法和普通目標相似。
  • 若是含有名爲SourcesSourcesrcssrc的子目錄,當前目錄將被看成模塊處理。
  • 若是是單一的模塊,而且代碼都放在根目錄的話,沒有Sources子目錄也是能夠接受的(通用適用於子目錄模塊)。對於簡單的工程,能夠用這種簡單的佈局規則。
相關文章
相關標籤/搜索