Swift 使用Xcode在MacOS上进行服务器端快速开发,在Docker Ubuntu上进行测试:如何不每次清理/重新创建?
以下是我的开发设置: 在MacOS上,我使用Xcode编辑和构建(但不运行)我的代码(我在Xcode/MacOS下构建只是为了确保我从项目中得到了语法错误)。我使用Swift 使用Xcode在MacOS上进行服务器端快速开发,在Docker Ubuntu上进行测试:如何不每次清理/重新创建?,swift,xcode,macos,ubuntu,server-side-swift,Swift,Xcode,Macos,Ubuntu,Server Side Swift,以下是我的开发设置: 在MacOS上,我使用Xcode编辑和构建(但不运行)我的代码(我在Xcode/MacOS下构建只是为了确保我从项目中得到了语法错误)。我使用swift-package-generate-xcodeproj创建Xcode项目,之后对Xcode项目进行一些脚本调整,因为我需要添加一些设置 在运行Ubuntu的Docker容器中,在Mac OS上的终端窗口中,在与Mac OS相同的目录中,我运行我的测试 我遇到的问题是,每次我切换“边”——要在Docker/Ubuntu中开始测
swift-package-generate-xcodeproj
创建Xcode项目,之后对Xcode项目进行一些脚本调整,因为我需要添加一些设置
在运行Ubuntu的Docker容器中,在Mac OS上的终端窗口中,在与Mac OS相同的目录中,我运行我的测试
我遇到的问题是,每次我切换“边”——要在Docker/Ubuntu中开始测试,或者要在Xcode中开始编辑,似乎我必须删除.build文件夹。这就需要下载和构建所有包
如果我在没有清理和重建Xcode项目的情况下,从Docker/Ubuntu转到Xcode/MacOS,我会在Xcode中构建我的服务器:
如果我生成Xcode项目,然后尝试在Docker/Ubuntu上构建和测试,swift test
会更新所有包,这需要时间,然后它必须构建项目。在Docker/Ubuntu上运行测试后,当我返回MacOS并尝试在Xcode中构建项目时,我会失败:
值得一提的是,在Mac OS上,以下是我的Swift版本:
苹果Swift版本5.2.2(swiftlang-1103.0.32.6 clang-1103.0.32.51)
在Linux上:
Swift版本5.2.3(Swift-5.2.3-发布)
这让我不得不在每次切换时重新生成项目、重新下载包和在每一侧重建,这真的让我慢了下来。想法?嗯,我找到了一个答案:在Docker/Linux上的所有脚本中,我都添加了
——build path.build.Linux
。例如:
swift build --build-path .build.linux
及
默认情况下,当我为MacOS生成Xcode项目时,它会将Swift包放入.build
中,因此我需要分离
只要项目中使用的包不发生变化,这应该可以很好地工作。如果他们这样做了,我将不得不在两侧更新它们
swift test --build-path .build.linux