Быстрая разработка на стороне сервера на MacOS с Xcode, тестирование на Docker Ubuntu: как мне не очищать / воссоздавать каждый раз? - PullRequest
0 голосов
/ 09 июля 2020

Вот мои настройки для разработки:

В MacOS я использую Xcode для редактирования и сборки (но не запуска) своего кода (я создаю под Xcode / MacOS только для того, чтобы убедиться, что у меня есть синтаксические ошибки из проект). Я использую swift package generate-xcodeproj для создания проекта Xcode с некоторыми настройками сценария для проекта Xcode после, так как мне нужно добавить некоторые настройки.

В контейнере Docker под управлением Ubuntu в окне терминала на Ma c OS, в том же каталоге, что и на Ma c OS, я запускаю свои тесты.

Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я переключаюсь на "стороны" - начать тестирование в Docker / Ubuntu , или чтобы начать редактирование в Xcode, мне кажется, мне нужно удалить папку .build. Что затем включает в себя загрузку и сборку всех пакетов.

Если я go от работы с Docker / Ubuntu до Xcode / MacOS без очистки и перестройки проекта Xcode, я получу это построение моего сервера в Xcode: Xcode build error

If I generate the Xcode project, and then try to build and test on Docker/Ubuntu, swift test does an update on all packages, which takes time and then it has to build the project. After running tests on Docker/Ubuntu, when I go back to MacOS and try to build the project in Xcode, I get failures: введите описание изображения здесь

Как бы то ни было, на ОС Ma c вот моя версия Swift: Apple Swift версии 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51)

И на Linux: Swift версии 5.2.3 (swift-5.2.3-RELEASE)

Это действительно замедляет меня, чтобы мне приходилось регенерировать проекты, повторно загружать пакеты и перестраивать каждый раз на каждой стороне, когда я переключатель. Мысли?

1 Ответ

0 голосов
/ 09 июля 2020

Что ж, я нашел ответ: во всех скриптах, которые у меня есть на Docker / Linux, я добавил --build-path .build.linux. Например:

swift build --build-path .build.linux 

и

swift test --build-path .build.linux

По умолчанию, когда я создаю проект Xcode для MacOS, он помещает пакеты Swift в .build, поэтому у меня есть разделение.

Это должно работать, пока пакеты, используемые в проекте, не меняются. Если они это сделают, мне придется обновить их с обеих сторон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...