-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: Add buildtool plugin for SPM swiftlint support #2104
Conversation
TODO
|
c180486
to
cab4d57
Compare
Clean build comparison errors and warnings.
|
Clean build time comparisonUsing time in seconds
|
7d7a312
to
dc20be2
Compare
The linting warnings don't show up in a client app's issue navigator, but they are available in the build logs. It looks like the addition of the |
The goal of this is to add SwiftLint as a SPM buildtool plugin that runs when Amplify is built standalone (by developers working on Amplify), but never when Amplify is being built as a dependency of another target (app or library). Despite best efforts, I couldn't get that to happen. I'm throwing in the towel on this for the time being as I'm not confident that SPM plugins can accommodate this goal in their current state. Leaving the PR in draft form with all of the documented findings. If anyone believes this is doable, I encourage you to continue work on this branch. If you have any questions about the findings listed in the comments above, feel free to ping me here. |
The only alternative I can think of at this point is removing the plugin as part of our CI/CD release process. While that would certainly work, it feels brittle and a little hacky. |
closing as this is handled in CI |
Issue #, if available:
N/A
Description of changes:
Adds a
buildtool()
swiftlint plugin, adds that plugin as a dependency forAmplify
and each plugin.Adds
// swiftlint:disable: ...
in a few places inAWSCognitoAuthPlugin
that were errors.Implementation based on various points of information and examples in realm/SwiftLint#3840
This targets a specific version of swiftlint w/ checksum.
Check points: (check or cross out if not relevant)
All unit tests passAll integration tests passDocumentation update for the change if requiredIf breaking change, documentation/changelog update with migration instructionsBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.