Я нахожусь в процессе переноса довольно большой кодовой базы с Java на серверную Swift 4. Сам код будет разработан на macOS, но в конечном итоге развернут на Linux. Я создал отдельные проекты модулей с помощью диспетчера пакетов Swift. Некоторые из них являются библиотечными проектами, а последний представляет собой исполняемый файл, связывающий их все вместе для запуска. Я создал файлы проекта Xcode для каждого модуля, чтобы мне было легко разрабатывать в Xcode, и я создал рабочее пространство Xcode, чтобы сгруппировать их все вместе в одном представлении.
Моя проблема в том, как указать зависимости между этими локальными модулями? Мой исполняемый модуль, очевидно, будет зависеть от всех библиотечных модулей. Как мне представить это в моем Package.swiftфайле? Я пробовал что-то вроде этого...
let package = Package(
name: "MySwiftExe",
dependencies: [
//.package(url: "../MySwiftLib", from: "1.0.0"),
...
Но это не удается построить. Есть ли способ указать зависимости, расположенные в одной файловой системе? Или мне нужно получить зависимости от Git?
Решение проблемы
Ваш URL-адрес может быть относительным, поэтому ../MySwiftLibон абсолютно действителен. Однако исходный каталог должен быть репозиторием git. Рекомендуется, чтобы это репо было помечено, но вы также можете сделать:
.package(url: "../MySwiftLib",.branch("master"))
если вы хотите использовать любой код в masterветке.
Надеюсь это поможет!
Комментариев нет:
Отправить комментарий