Hello, our team is using mono-repo and managing local modules using Xcode sub-projects. We maintains some code quality across all modules by setup warning policies, using same Swift version, ... in Xcode projects' configurations.
To make managing those configs easily and keep them consistent between all modules, we share a single xcconfig file for all sub-projects.
Some configs we're using:
GCC_TREAT_WARNINGS_AS_ERRORS = YES SWIFT_VERSION = 5.0 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES CLANG_WARN_DOCUMENTATION_COMMENTS = YES CLANG_WARN_EMPTY_BODY = YES CLANG_WARN_BOOL_CONVERSION = YES CLANG_WARN_CONSTANT_CONVERSION = YES ...
However there is a problem with this approach.
The only way that we can share the xccconfig file is not really official. We create a reference group (group without folder) in each sub-project and drag the xcconfig file there. This might break in later Xcode version and won't work if we want to move some of our modules to separated repos.
I'm thinking about using SPM so we can move to multi-repo later.
Is there any way we can set up those configs with Swift Package Manager?
(We don't reply 100% on this to maintain code quality, we have SwiftLint and some other tools as well).