Skip to content
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

Support Swift Package Manager #90

Closed
palpatim opened this issue Nov 13, 2019 · 35 comments
Closed

Support Swift Package Manager #90

palpatim opened this issue Nov 13, 2019 · 35 comments
Labels
build Issues related to build and CI/CD feature-request Request a new feature

Comments

@palpatim
Copy link
Member

We need to support Swift Package Manager as a distribution mechanism for Amplify and bundled plugins.

@palpatim palpatim added the build Issues related to build and CI/CD label Nov 13, 2019
@rodrigoelp
Copy link

Given Apple is moving towards a swift world and swift package manager is the way to go, I think this support is more than necessary.

@nikhil-dabhade
Copy link

@palpatim @rodrigoelp I agree with the input here. Have added this to the product roadmap. Will update this thread when we have it prioritized.

@AugustDev
Copy link

Any progress on this?

@farshadtx
Copy link

farshadtx commented Jun 24, 2020

Is this new feature going to simplify the release?
Distributing Binary Frameworks as Swift Packages

@rodrigoelp
Copy link

It should as binary components can be included and distributed with your package.

@drochetti drochetti added feature-request Request a new feature pending-triage Issue is pending triage labels Jun 24, 2020
@jfahrenkrug
Copy link

I'd love to see this implemented as well. I'd be happy to help. Are there specific issues that have been a roadblock to it in the past?

@rodrigoelp
Copy link

I'd love to see this implemented as well. I'd be happy to help. Are there specific issues that have been a roadblock to it in the past?

The one most likely to be the issue is the fact that implify was implemented on node, making it hard to migrate over by just including a few files and what not. Ideally, implify spm should be a self-contained package, just like GraphQL Apollo's client (Ellen put an amazing work to migrate and rewrite quite a lot of their CLI in pure swift to maintain a SPM totally clean... ish).

Step one to achieve this would be to write some of these in bash or some sort of shell/swift script. That means the code generators, connectors to AWS and what not. An alternative is to not link everything with implify... Effectively turn the client into a pure client you need to provide the endpoint and credentials to suck down the schema and generate the classes/structs/types of it.

@drochetti drochetti added investigating This issue is being investigated and removed pending-triage Issue is pending triage labels Oct 13, 2020
@drochetti
Copy link
Contributor

We are currently investigating Swift Package Manager support. Amplify uses some of the AWS SDKs so there's quite a bit of surface area to cover.

Although I have no ETA, we're actively working on this and I'll keep this issue updated with the status.

@drochetti drochetti added the follow up Requires follow up from maintainers label Oct 13, 2020
@jodafm
Copy link

jodafm commented Jan 17, 2021

+1

@mregnauld
Copy link

mregnauld commented Feb 1, 2021

So, any update on this?
I personally need the support for:

  • API Gateway
  • Cognito
  • S3

@toftof
Copy link

toftof commented Feb 10, 2021

Any ETA?

@jacobsapps
Copy link

Hey, do you have an approx. timeline for this? Next week, next month, next quarter, 2021, 2022+?

I'm using the main services given by Amplify:

  • Amplify
  • AWSCognitoAuthPlugin
  • AWSAPIPlugin
  • AWSDataStorePlugin
  • AWSS3StoragePlugin

@AugustDev
Copy link

Need this asap.

@lemonbitsapp
Copy link

hello, when will this be available?

@palpatim palpatim added work in progress Issues was triaged and investigation done and removed investigating This issue is being investigated labels Feb 25, 2021
@palpatim
Copy link
Member Author

Hi folks, thanks for your interest in this. We're actively working on supporting Swift Package Manager, but don't have an ETA to report just yet. We'll update this ticket as soon as we have information.

@codeslubber
Copy link

Wow this sucks, this whole platform is shooting itself in the face, showing all the signs of low competition lardass syndrome.

@gevartosky
Copy link

gevartosky commented Mar 12, 2021

Any ETA on having some sort of beta so we can start testing with SPM on our side?
Firebase started, its been a while without updates but at least there are some beta branches to test.
Dropping Carthage means we are stuck with awful cocoapods 🤦🏻‍♂️

@faisalalt
Copy link

Will this be supported soon? Any updates?

@mregnauld
Copy link

@cbscd Which service did you choose? Just curious.

@El-Fitz
Copy link

El-Fitz commented Apr 5, 2021

There appears to be a recent PR here #1123 (comment)
Haven't tested it though

Edit: Doesn't work

@cbscd
Copy link

cbscd commented Apr 5, 2021

@cbscd Which service did you choose? Just curious.

@El-Fitz, we chose Firebase but I’m not very happy with it.

@palpatim
Copy link
Member Author

palpatim commented Apr 7, 2021

Amplify iOS (except for the Predictions category) can now be installed via Swift Package Manager. See the README for full details, especially as it relates to changes in how you import modules into your app code. (#1146)

@palpatim palpatim removed follow up Requires follow up from maintainers work in progress Issues was triaged and investigation done labels Apr 7, 2021
@brightfuture
Copy link

thanks for the hard work 👏🏻

@palpatim palpatim added the closing soon This issue will be closed in 7 days unless further comments are made. label Apr 9, 2021
@github-actions github-actions bot removed the closing soon This issue will be closed in 7 days unless further comments are made. label Apr 10, 2021
@El-Fitz
Copy link

El-Fitz commented Apr 10, 2021

Awesome, thank you!

@lemonbitsapp
Copy link

i would like to thank the team here. worth the wait. 👌

@gevartosky
Copy link

❤️❤️❤️❤️

@3m
Copy link

3m commented Apr 11, 2021 via email

@palpatim
Copy link
Member Author

Since we haven't heard any technical errors related to this, I'm going to close out this issue now. If you encounter any problems using SPM that aren't covered in the README, please file a new issue and refer to this issue for context.

harsh62 added a commit that referenced this issue Jun 16, 2022
* chore: Remove dependencies from SPM on ObjC SDK

* chore: Remove the existing auth plugin code (#6)

* feat: Add initial commit to import new Auth implementation (#5)

* feat: adding authorization states, events and commands

* feat: Add AWSPluginsCore and change AuthServiceBehavior (#8)

* feat: using plugins core for credentials and user pool models

* feat: Add Datastore source code and Datastore UnitTest (#10)

* chore: Fix failing auth tests (#12)

* feat: adding authorization environment

* feat: making AWSCognitoAuthCredential stored locally optional

* feat: removing unused protocols

* feat: adding credential store environment

* feat: working on review comments

* feat: using session key to map session in credential store

* feat: adding TODO to fix credential store return type

* chore: Add userpool environment in the root authentication environment

* feat: adding logic to migrate legacy credential store (#14)

* feat: adding logic to migrate legacy credential store

* feat: adding unit tests for legacy key store migration

* Working on the review comments

* feat: removing containsData api from credential store

* chore: Cleaned up code by running swiftformat for auth (#20)

* fix: Auth SignIn api error handling (#17)

* feature: adds SignUp state machine support (#18)

* feat: adds SignUp state machine support

* fix: changes even to the correct type (#22)

* chore: Move the hierarchical state machine to plugin (#19)

* chore: Move the hierarchical state machine to plugin

* Moved the HSM inside AWSCognitoAuthPlugin

* removed public propreties from hsm

* chore: fix build issue after moving HSM to internal (#23)

* chore(API): Use new SigV4 signer (#15)

* chore(API): Use new SigV4 signer

* run APIPluginTests

* remove hierarchical-state-machine-swift to align with base branch

* chore: adds clientId, clientSecret and validationData to SignUpInput initializer (#24)

* fix: comment out SigningFlags (#29)

* chore(DataStore): Migrate DataStore targets to SPM (#26)

* chore: speeds up Xcode by organizing the products & targets and adding tests to Cognito build scheme (#31)

* chore: removes hierarchical_state_machine_swift imports (#32)

* chore: Cleanup Package.swift to organize plugin specific targets (#33)

* fix(auth): finish signIn operation

* feat(Auth): adding Authorization and FetchAuthSession implementation

* feat(Auth): adding Authorization and FetchAuthSession implementation

* feat(Auth): adding identity pool configuration in the default testing env

* feat(Auth): fixing package.swift causing errors for invalid path

* feat: Refactoring the fetch auth session logic to include several cases

* chore: Renamed Command to Action (#39)

* chore: Enable SigV4 signer (#41)

* feat(Auth): Decoupling credential store state machine  (#42)

* feat(Auth): Decoupling credential store state machine and adding clean, store credential actions

* feat(Auth): Renaming leftover command to action

* feat(Auth): Fixing warnings

* feat(Auth): Working on review comments by moving configure to a single method to make testing easier

* feat(Auth): Run swift lint

* feat(Auth): Renamed folders from Command to Action

* fix(auth): fix regression in State Machine (#44)

* fix: Auth SRP signIn action clean up and updated errors (#43)

* feat(auth): implements signUp behavior with operation (#36)

* fix(auth) updates code with rename of Command to Action (#48)

* fix(Auth): fixing invalid parameter added to keychain (#47)

* feat(auth): signOut (#45)

* chore: Replace libtommath with local copy for version 1.2.0 (#40)

* fix: Auth fixes for different use cases (#46)

* fix: Auth fixes for different use cases

* As per PR comments

* chore: Add unit test for CI/CD pipeline (#53)

* feat(auth): implements confirm signup behavior (#49)

* chore(auth): adds end to end unit tests for signup and confirm signup behavior (#54)

* feat(Auth): error handling for credential store failing and added migration logic for any configuration changes (#50)

* fix: Auth fixes for different use cases

* Fix naming for cancel signIn

* feat(Auth): error handling for credential store failing and added migration logic for any configuration changes

* feat(Auth): Fixing credential store and fetch auth session issues that are coming up

* feat: fixing unit tests

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* feat(Auth): Commenting out SignUp operation tests because of credential store unsupported SPM (#58)

* feat(Auth): Commenting out SignUp operation tests because of credential store not supported in SPM

* Update AWSAuthSignUpOperationTests.swift

* feat(Auth): Migrate credentials on configuration changes (#57)

* fix(auth): SignUp and ConfirmSignUp fixes (#55)

* chore: fix build failure with rebase main (#59)

* feat(auth): Add escape hatch for the underlying auth services (#60)

* fix(auth): SignIn stuck after a signIn with invalid username/password (#61)

* fix(api): Bring back the sync call (#64)

* chore: Cleanup project and fix integ test in auth (#65)

* feat(Storage): rebases to dev-preview to add Storage target and disables code using legacy SDK (#62)

* fix(auth): Fix the signup api (#63)

* chore: Change the SRP private a calculation to make in unbiased (#66)

* fix: Pin the version of AWS Swift SDK (#69)

* chore: Replace logging with Amplify.logging (#67)

* feat(s3): implements AWS S3 service with new Swift SDK for list & delete operations (#70)

* feat: Add usersub details with fetchAuthSession (#68)

* chore: Add more data to logging (#72)

* feat(s3): implements adapter functions for multipart upload operations (#71)

* WIP - adds required dependency (#74)

* test: Add other plugins into the CI/CD tests (#76)

* feat(storage): implements public API for storage using new Swift SDK (#75)

* feat(Storage): implements URLSession delegate functions (#77)

* moves StorageServiceSessionDelegate to separate file
* implements URLSession background events support
* updates background events registry and tests
* adds reportSessionActivity function to support runtime debugging
* implements delegate functions for download, upload and multipart upload
* moves completeDownload to service

* feat(storage): reduces error cases to Amplify only cases (#79)

* fix(Auth): Fixing FetchAuthSession when no Identity Configuration is provided (#78)

* chore: Add Amazon notification regarding modification (#82)

* chore: Build failure fixes in the Amplify-Package (#83)

* chore: Changelog for the dev-preview (#81)

* feat: Modified the README.md to reflect the changes from the refactor (#84)

* feat: Updating the README.md

* fix: updating readme.md to remove whitespaces

* Update README.md

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* fix: worked on the review comments

* fix: title udpated

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* fix: Fix the build failure after rebase (#86)

* fix: Enabling and fixing integration tests (#85)

* chore(storage): removes unused source files (#87)

* chore(storage): removes import AWSS3 from source files which do not need it (#88)

* fix(storage): implements workaround for pre-signed URLs (#89)

* fix(storage): download behavior and error logging (#90)

* fix(storage): uses client config to create S3Client instead of just region (#91)

* fix(storage): adds Amplify import for Logger (#92)

* fixes download behavior for Storage (#93)

* renames logging function to support debugging (#94)

* fix(storage): gets eTag value from HTTP response (#95)

* fix(storage): passes on error when aborting multipart upload (#96)

* chore(storage): updates logging for Storage delegate functions (#97)

* fix(storage): fixes for unit tests (#99)

* chore(storage): validates parts before completing multipart upload (#98)

* chore(storage): renames type to AWSS3SigningOperation and adds uploadPart case (#100)

* fix(storage): adds custom extensions to fix behavior in current SDK release (#101)

* chore(storage): adds error to httpStatusError to improving debugging support (#102)

* chore(storage): adds listParts support to support debugging (#103)

* chore(storage): moves CreateMultipartUploadRequest to Internal folder (#104)

* chore(storage): strips quotes around eTag (#105)

* chore: Changelog update (#106)

* chore: Remove circleCI and unused files

* chore: Update the version number to 1.22.0-dev-preview.0 (#1655)

* fix(storage): corrects logic in fail function for StorageTransferTask (#1661)

* chore: update dev-preview readme (#1679)

* chore: bump swift sdk and clientruntime version to support Swift 5.6 (#1698)

* chore(DataStore): Remove deprecated load() API and rename .paginatedList()to list() API (#1702)

* chore(DataStore): Remove deprecated load() API and rename .paginatedList()to list() API

* Address review comments

* chore(DataStore): Remove @available attribute for iOS 13.0 (#1705)

* chore: Merge branch 'dev-preview' into hsinghvq-rebasing-with-main-retry

* feat(Auth): Adding support for auth hub events (#1716)

* bugfix(Auth): Fixing the user pool token expiring logic (#1770)

* bugfix(Auth): Fixing the token expiring logic

* minor fixes

* Moving the logic to an extension

* Updated the unit tests

* revert the foundation import

* worked on comments

* bugfix(Auth): renaming CognitoCredentials to AmplifyCredentials (#1771)

* bugfix(Auth): Fixing the token expiring logic

* minor fixes

* bugfix(Auth): renaming CognitoCredentials to AmplifyCredentials

* feat(Auth): refactor configure method and operations (#1779)

* feat(Auth): refactor configure method and operations

* feat(Auth): reverting script

* feat(Auth): reverting script

* Fixing tests

* reverting async code to use completion handlers

* reverting to async config

* Revises build to organize Package.swift and other improvements (#1810)

chore: revises build with updates to Package.swift and dependencies

* chore: adds preconditionFailure support for testing with Swift Concurrency (#1793)

* chore: adds preconditionFailure support which works with Swift Concurrency #1787

* chore: adds DEV_PREVIEW_BUILD build flag to Package.swift for all plugin targets (#1835)

* feat: add internal support for swift concurrency and update to latest version of aws-sdk-swift (#1842)

* chore(auth): Change the configuration and add configure to the op-queue (#1832)

* chore: update github checkout action to reference commit of latest release [skip ci] (#1845)

* chore: disabled swiftlint where needed and ran swiftlint (#1846)

* test: Fix unittest to use the async api (#1848)

* chore: Cleanup operations to stop relying on configuration state (#1833)

* chore(geo): Geo Swift SDK Migration (#1847)

* chore(geo): Geo Swift SDK Migration

* Address review comments

* Revert schemes for plugins

* chore(auth): Cleanup signIn flow and separated SignInState (#1859)

* chore(auth): Remove configuration from authenticaiton state (#1860)

* feat(Auth): Adding resend confirmation attribute code API (#1834)

* feat(Auth): Adding resend confirmation attribute code API

* feat(Auth): worked on review comments

* fixing merge issues

* fixed formatting

* worked on review comments

* worked on review comments

* reverting the fix

* chore(geo): Remove legacy APIs (#1869)

* chore(geo): Remove legacy APIs

* Commit missed files

* feat(auth): Adds confirmSignIn api and operation (#1861)

* chore: Fix unit tests workflow to run the proper schemas (#1880)

* feat(Auth): Adding FetchUserAttribute API implementation (#1896)

* feat(Auth): Adding FetchUserAttribute API implementation

* update the test description

* chore(geo): Fix unit tests with preConditionFailure (#1886)

* feat(Auth): Adding UpdateUserAttribute API implementation (#1904)

* feat(Auth): Adding UpdateUserAttribute API implementation

* fix unit tests

* feat(Auth): Adding UpdateUserAttributes API implementation

* fixing missed errors and udpating test description

Co-authored-by: Jithin Roy <royji@amazon.com>
Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>
Co-authored-by: Brennan Stehling <277419+brennanMKE@users.noreply.github.com>
Co-authored-by: Michael Law <1365977+lawmicha@users.noreply.github.com>
Co-authored-by: Chris Ameter <29186822+ameter@users.noreply.github.com>
Co-authored-by: Ian Saultz <52051793+atierian@users.noreply.github.com>
Co-authored-by: Abhash Kumar Singh <thisisabhash@gmail.com>
Co-authored-by: Sebastian Villena <97059974+ruisebas@users.noreply.github.com>
ameter added a commit that referenced this issue Aug 1, 2022
* chore: Remove dependencies from SPM on ObjC SDK

* chore: Remove the existing auth plugin code (#6)

* feat: Add initial commit to import new Auth implementation (#5)

* feat: adding authorization states, events and commands

* feat: Add AWSPluginsCore and change AuthServiceBehavior (#8)

* feat: using plugins core for credentials and user pool models

* feat: Add Datastore source code and Datastore UnitTest (#10)

* chore: Fix failing auth tests (#12)

* feat: adding authorization environment

* feat: making AWSCognitoAuthCredential stored locally optional

* feat: removing unused protocols

* feat: adding credential store environment

* feat: working on review comments

* feat: using session key to map session in credential store

* feat: adding TODO to fix credential store return type

* chore: Add userpool environment in the root authentication environment

* feat: adding logic to migrate legacy credential store (#14)

* feat: adding logic to migrate legacy credential store

* feat: adding unit tests for legacy key store migration

* Working on the review comments

* feat: removing containsData api from credential store

* chore: Cleaned up code by running swiftformat for auth (#20)

* fix: Auth SignIn api error handling (#17)

* feature: adds SignUp state machine support (#18)

* feat: adds SignUp state machine support

* fix: changes even to the correct type (#22)

* chore: Move the hierarchical state machine to plugin (#19)

* chore: Move the hierarchical state machine to plugin

* Moved the HSM inside AWSCognitoAuthPlugin

* removed public propreties from hsm

* chore: fix build issue after moving HSM to internal (#23)

* chore(API): Use new SigV4 signer (#15)

* chore(API): Use new SigV4 signer

* run APIPluginTests

* remove hierarchical-state-machine-swift to align with base branch

* chore: adds clientId, clientSecret and validationData to SignUpInput initializer (#24)

* fix: comment out SigningFlags (#29)

* chore(DataStore): Migrate DataStore targets to SPM (#26)

* chore: speeds up Xcode by organizing the products & targets and adding tests to Cognito build scheme (#31)

* chore: removes hierarchical_state_machine_swift imports (#32)

* chore: Cleanup Package.swift to organize plugin specific targets (#33)

* fix(auth): finish signIn operation

* feat(Auth): adding Authorization and FetchAuthSession implementation

* feat(Auth): adding Authorization and FetchAuthSession implementation

* feat(Auth): adding identity pool configuration in the default testing env

* feat(Auth): fixing package.swift causing errors for invalid path

* feat: Refactoring the fetch auth session logic to include several cases

* chore: Renamed Command to Action (#39)

* chore: Enable SigV4 signer (#41)

* feat(Auth): Decoupling credential store state machine  (#42)

* feat(Auth): Decoupling credential store state machine and adding clean, store credential actions

* feat(Auth): Renaming leftover command to action

* feat(Auth): Fixing warnings

* feat(Auth): Working on review comments by moving configure to a single method to make testing easier

* feat(Auth): Run swift lint

* feat(Auth): Renamed folders from Command to Action

* fix(auth): fix regression in State Machine (#44)

* fix: Auth SRP signIn action clean up and updated errors (#43)

* feat(auth): implements signUp behavior with operation (#36)

* fix(auth) updates code with rename of Command to Action (#48)

* fix(Auth): fixing invalid parameter added to keychain (#47)

* feat(auth): signOut (#45)

* chore: Replace libtommath with local copy for version 1.2.0 (#40)

* fix: Auth fixes for different use cases (#46)

* fix: Auth fixes for different use cases

* As per PR comments

* chore: Add unit test for CI/CD pipeline (#53)

* feat(auth): implements confirm signup behavior (#49)

* chore(auth): adds end to end unit tests for signup and confirm signup behavior (#54)

* feat(Auth): error handling for credential store failing and added migration logic for any configuration changes (#50)

* fix: Auth fixes for different use cases

* Fix naming for cancel signIn

* feat(Auth): error handling for credential store failing and added migration logic for any configuration changes

* feat(Auth): Fixing credential store and fetch auth session issues that are coming up

* feat: fixing unit tests

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* feat(Auth): Commenting out SignUp operation tests because of credential store unsupported SPM (#58)

* feat(Auth): Commenting out SignUp operation tests because of credential store not supported in SPM

* Update AWSAuthSignUpOperationTests.swift

* feat(Auth): Migrate credentials on configuration changes (#57)

* fix(auth): SignUp and ConfirmSignUp fixes (#55)

* chore: fix build failure with rebase main (#59)

* feat(auth): Add escape hatch for the underlying auth services (#60)

* fix(auth): SignIn stuck after a signIn with invalid username/password (#61)

* fix(api): Bring back the sync call (#64)

* chore: Cleanup project and fix integ test in auth (#65)

* feat(Storage): rebases to dev-preview to add Storage target and disables code using legacy SDK (#62)

* fix(auth): Fix the signup api (#63)

* chore: Change the SRP private a calculation to make in unbiased (#66)

* fix: Pin the version of AWS Swift SDK (#69)

* chore: Replace logging with Amplify.logging (#67)

* feat(s3): implements AWS S3 service with new Swift SDK for list & delete operations (#70)

* feat: Add usersub details with fetchAuthSession (#68)

* chore: Add more data to logging (#72)

* feat(s3): implements adapter functions for multipart upload operations (#71)

* WIP - adds required dependency (#74)

* test: Add other plugins into the CI/CD tests (#76)

* feat(storage): implements public API for storage using new Swift SDK (#75)

* feat(Storage): implements URLSession delegate functions (#77)

* moves StorageServiceSessionDelegate to separate file
* implements URLSession background events support
* updates background events registry and tests
* adds reportSessionActivity function to support runtime debugging
* implements delegate functions for download, upload and multipart upload
* moves completeDownload to service

* feat(storage): reduces error cases to Amplify only cases (#79)

* fix(Auth): Fixing FetchAuthSession when no Identity Configuration is provided (#78)

* chore: Add Amazon notification regarding modification (#82)

* chore: Build failure fixes in the Amplify-Package (#83)

* chore: Changelog for the dev-preview (#81)

* feat: Modified the README.md to reflect the changes from the refactor (#84)

* feat: Updating the README.md

* fix: updating readme.md to remove whitespaces

* Update README.md

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* fix: worked on the review comments

* fix: title udpated

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* fix: Fix the build failure after rebase (#86)

* fix: Enabling and fixing integration tests (#85)

* chore(storage): removes unused source files (#87)

* chore(storage): removes import AWSS3 from source files which do not need it (#88)

* fix(storage): implements workaround for pre-signed URLs (#89)

* fix(storage): download behavior and error logging (#90)

* fix(storage): uses client config to create S3Client instead of just region (#91)

* fix(storage): adds Amplify import for Logger (#92)

* fixes download behavior for Storage (#93)

* renames logging function to support debugging (#94)

* fix(storage): gets eTag value from HTTP response (#95)

* fix(storage): passes on error when aborting multipart upload (#96)

* chore(storage): updates logging for Storage delegate functions (#97)

* fix(storage): fixes for unit tests (#99)

* chore(storage): validates parts before completing multipart upload (#98)

* chore(storage): renames type to AWSS3SigningOperation and adds uploadPart case (#100)

* fix(storage): adds custom extensions to fix behavior in current SDK release (#101)

* chore(storage): adds error to httpStatusError to improving debugging support (#102)

* chore(storage): adds listParts support to support debugging (#103)

* chore(storage): moves CreateMultipartUploadRequest to Internal folder (#104)

* chore(storage): strips quotes around eTag (#105)

* chore: Changelog update (#106)

* chore: Remove circleCI and unused files

* chore: Update the version number to 1.22.0-dev-preview.0 (#1655)

* fix(storage): corrects logic in fail function for StorageTransferTask (#1661)

* chore: update dev-preview readme (#1679)

* chore: bump swift sdk and clientruntime version to support Swift 5.6 (#1698)

* chore(DataStore): Remove deprecated load() API and rename .paginatedList()to list() API (#1702)

* chore(DataStore): Remove deprecated load() API and rename .paginatedList()to list() API

* Address review comments

* chore(DataStore): Remove @available attribute for iOS 13.0 (#1705)

* chore: Merge branch 'dev-preview' into hsinghvq-rebasing-with-main-retry

* feat(Auth): Adding support for auth hub events (#1716)

* bugfix(Auth): Fixing the user pool token expiring logic (#1770)

* bugfix(Auth): Fixing the token expiring logic

* minor fixes

* Moving the logic to an extension

* Updated the unit tests

* revert the foundation import

* worked on comments

* bugfix(Auth): renaming CognitoCredentials to AmplifyCredentials (#1771)

* bugfix(Auth): Fixing the token expiring logic

* minor fixes

* bugfix(Auth): renaming CognitoCredentials to AmplifyCredentials

* feat(Auth): refactor configure method and operations (#1779)

* feat(Auth): refactor configure method and operations

* feat(Auth): reverting script

* feat(Auth): reverting script

* Fixing tests

* reverting async code to use completion handlers

* reverting to async config

* Revises build to organize Package.swift and other improvements (#1810)

chore: revises build with updates to Package.swift and dependencies

* chore: adds preconditionFailure support for testing with Swift Concurrency (#1793)

* chore: adds preconditionFailure support which works with Swift Concurrency #1787

* chore: adds DEV_PREVIEW_BUILD build flag to Package.swift for all plugin targets (#1835)

* feat: add internal support for swift concurrency and update to latest version of aws-sdk-swift (#1842)

* chore(auth): Change the configuration and add configure to the op-queue (#1832)

* chore: update github checkout action to reference commit of latest release [skip ci] (#1845)

* chore: disabled swiftlint where needed and ran swiftlint (#1846)

* test: Fix unittest to use the async api (#1848)

* chore: Cleanup operations to stop relying on configuration state (#1833)

* chore(geo): Geo Swift SDK Migration (#1847)

* chore(geo): Geo Swift SDK Migration

* Address review comments

* Revert schemes for plugins

* chore(auth): Cleanup signIn flow and separated SignInState (#1859)

* chore(auth): Remove configuration from authenticaiton state (#1860)

* feat(Auth): Adding resend confirmation attribute code API (#1834)

* feat(Auth): Adding resend confirmation attribute code API

* feat(Auth): worked on review comments

* fixing merge issues

* fixed formatting

* worked on review comments

* worked on review comments

* reverting the fix

* chore(geo): Remove legacy APIs (#1869)

* chore(geo): Remove legacy APIs

* Commit missed files

* feat(auth): Adds confirmSignIn api and operation (#1861)

* chore: Fix unit tests workflow to run the proper schemas (#1880)

* feat(Auth): Adding FetchUserAttribute API implementation (#1896)

* feat(Auth): Adding FetchUserAttribute API implementation

* update the test description

* chore(geo): Fix unit tests with preConditionFailure (#1886)

* feat(Auth): Adding UpdateUserAttribute API implementation (#1904)

* feat(Auth): Adding UpdateUserAttribute API implementation

* fix unit tests

* feat(Auth): Adding UpdateUserAttributes API implementation

* fixing missed errors and udpating test description

Co-authored-by: Jithin Roy <royji@amazon.com>
Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>
Co-authored-by: Brennan Stehling <277419+brennanMKE@users.noreply.github.com>
Co-authored-by: Michael Law <1365977+lawmicha@users.noreply.github.com>
Co-authored-by: Chris Ameter <29186822+ameter@users.noreply.github.com>
Co-authored-by: Ian Saultz <52051793+atierian@users.noreply.github.com>
Co-authored-by: Abhash Kumar Singh <thisisabhash@gmail.com>
Co-authored-by: Sebastian Villena <97059974+ruisebas@users.noreply.github.com>
lawmicha added a commit that referenced this issue Aug 3, 2022
* chore: Remove dependencies from SPM on ObjC SDK

* chore: Remove the existing auth plugin code (#6)

* feat: Add initial commit to import new Auth implementation (#5)

* feat: adding authorization states, events and commands

* feat: Add AWSPluginsCore and change AuthServiceBehavior (#8)

* feat: using plugins core for credentials and user pool models

* feat: Add Datastore source code and Datastore UnitTest (#10)

* chore: Fix failing auth tests (#12)

* feat: adding authorization environment

* feat: making AWSCognitoAuthCredential stored locally optional

* feat: removing unused protocols

* feat: adding credential store environment

* feat: working on review comments

* feat: using session key to map session in credential store

* feat: adding TODO to fix credential store return type

* chore: Add userpool environment in the root authentication environment

* feat: adding logic to migrate legacy credential store (#14)

* feat: adding logic to migrate legacy credential store

* feat: adding unit tests for legacy key store migration

* Working on the review comments

* feat: removing containsData api from credential store

* chore: Cleaned up code by running swiftformat for auth (#20)

* fix: Auth SignIn api error handling (#17)

* feature: adds SignUp state machine support (#18)

* feat: adds SignUp state machine support

* fix: changes even to the correct type (#22)

* chore: Move the hierarchical state machine to plugin (#19)

* chore: Move the hierarchical state machine to plugin

* Moved the HSM inside AWSCognitoAuthPlugin

* removed public propreties from hsm

* chore: fix build issue after moving HSM to internal (#23)

* chore(API): Use new SigV4 signer (#15)

* chore(API): Use new SigV4 signer

* run APIPluginTests

* remove hierarchical-state-machine-swift to align with base branch

* chore: adds clientId, clientSecret and validationData to SignUpInput initializer (#24)

* fix: comment out SigningFlags (#29)

* chore(DataStore): Migrate DataStore targets to SPM (#26)

* chore: speeds up Xcode by organizing the products & targets and adding tests to Cognito build scheme (#31)

* chore: removes hierarchical_state_machine_swift imports (#32)

* chore: Cleanup Package.swift to organize plugin specific targets (#33)

* fix(auth): finish signIn operation

* feat(Auth): adding Authorization and FetchAuthSession implementation

* feat(Auth): adding Authorization and FetchAuthSession implementation

* feat(Auth): adding identity pool configuration in the default testing env

* feat(Auth): fixing package.swift causing errors for invalid path

* feat: Refactoring the fetch auth session logic to include several cases

* chore: Renamed Command to Action (#39)

* chore: Enable SigV4 signer (#41)

* feat(Auth): Decoupling credential store state machine  (#42)

* feat(Auth): Decoupling credential store state machine and adding clean, store credential actions

* feat(Auth): Renaming leftover command to action

* feat(Auth): Fixing warnings

* feat(Auth): Working on review comments by moving configure to a single method to make testing easier

* feat(Auth): Run swift lint

* feat(Auth): Renamed folders from Command to Action

* fix(auth): fix regression in State Machine (#44)

* fix: Auth SRP signIn action clean up and updated errors (#43)

* feat(auth): implements signUp behavior with operation (#36)

* fix(auth) updates code with rename of Command to Action (#48)

* fix(Auth): fixing invalid parameter added to keychain (#47)

* feat(auth): signOut (#45)

* chore: Replace libtommath with local copy for version 1.2.0 (#40)

* fix: Auth fixes for different use cases (#46)

* fix: Auth fixes for different use cases

* As per PR comments

* chore: Add unit test for CI/CD pipeline (#53)

* feat(auth): implements confirm signup behavior (#49)

* chore(auth): adds end to end unit tests for signup and confirm signup behavior (#54)

* feat(Auth): error handling for credential store failing and added migration logic for any configuration changes (#50)

* fix: Auth fixes for different use cases

* Fix naming for cancel signIn

* feat(Auth): error handling for credential store failing and added migration logic for any configuration changes

* feat(Auth): Fixing credential store and fetch auth session issues that are coming up

* feat: fixing unit tests

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* feat(Auth): Commenting out SignUp operation tests because of credential store unsupported SPM (#58)

* feat(Auth): Commenting out SignUp operation tests because of credential store not supported in SPM

* Update AWSAuthSignUpOperationTests.swift

* feat(Auth): Migrate credentials on configuration changes (#57)

* fix(auth): SignUp and ConfirmSignUp fixes (#55)

* chore: fix build failure with rebase main (#59)

* feat(auth): Add escape hatch for the underlying auth services (#60)

* fix(auth): SignIn stuck after a signIn with invalid username/password (#61)

* fix(api): Bring back the sync call (#64)

* chore: Cleanup project and fix integ test in auth (#65)

* feat(Storage): rebases to dev-preview to add Storage target and disables code using legacy SDK (#62)

* fix(auth): Fix the signup api (#63)

* chore: Change the SRP private a calculation to make in unbiased (#66)

* fix: Pin the version of AWS Swift SDK (#69)

* chore: Replace logging with Amplify.logging (#67)

* feat(s3): implements AWS S3 service with new Swift SDK for list & delete operations (#70)

* feat: Add usersub details with fetchAuthSession (#68)

* chore: Add more data to logging (#72)

* feat(s3): implements adapter functions for multipart upload operations (#71)

* WIP - adds required dependency (#74)

* test: Add other plugins into the CI/CD tests (#76)

* feat(storage): implements public API for storage using new Swift SDK (#75)

* feat(Storage): implements URLSession delegate functions (#77)

* moves StorageServiceSessionDelegate to separate file
* implements URLSession background events support
* updates background events registry and tests
* adds reportSessionActivity function to support runtime debugging
* implements delegate functions for download, upload and multipart upload
* moves completeDownload to service

* feat(storage): reduces error cases to Amplify only cases (#79)

* fix(Auth): Fixing FetchAuthSession when no Identity Configuration is provided (#78)

* chore: Add Amazon notification regarding modification (#82)

* chore: Build failure fixes in the Amplify-Package (#83)

* chore: Changelog for the dev-preview (#81)

* feat: Modified the README.md to reflect the changes from the refactor (#84)

* feat: Updating the README.md

* fix: updating readme.md to remove whitespaces

* Update README.md

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* fix: worked on the review comments

* fix: title udpated

Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>

* fix: Fix the build failure after rebase (#86)

* fix: Enabling and fixing integration tests (#85)

* chore(storage): removes unused source files (#87)

* chore(storage): removes import AWSS3 from source files which do not need it (#88)

* fix(storage): implements workaround for pre-signed URLs (#89)

* fix(storage): download behavior and error logging (#90)

* fix(storage): uses client config to create S3Client instead of just region (#91)

* fix(storage): adds Amplify import for Logger (#92)

* fixes download behavior for Storage (#93)

* renames logging function to support debugging (#94)

* fix(storage): gets eTag value from HTTP response (#95)

* fix(storage): passes on error when aborting multipart upload (#96)

* chore(storage): updates logging for Storage delegate functions (#97)

* fix(storage): fixes for unit tests (#99)

* chore(storage): validates parts before completing multipart upload (#98)

* chore(storage): renames type to AWSS3SigningOperation and adds uploadPart case (#100)

* fix(storage): adds custom extensions to fix behavior in current SDK release (#101)

* chore(storage): adds error to httpStatusError to improving debugging support (#102)

* chore(storage): adds listParts support to support debugging (#103)

* chore(storage): moves CreateMultipartUploadRequest to Internal folder (#104)

* chore(storage): strips quotes around eTag (#105)

* chore: Changelog update (#106)

* chore: Remove circleCI and unused files

* chore: Update the version number to 1.22.0-dev-preview.0 (#1655)

* fix(storage): corrects logic in fail function for StorageTransferTask (#1661)

* chore: update dev-preview readme (#1679)

* chore: bump swift sdk and clientruntime version to support Swift 5.6 (#1698)

* chore(DataStore): Remove deprecated load() API and rename .paginatedList()to list() API (#1702)

* chore(DataStore): Remove deprecated load() API and rename .paginatedList()to list() API

* Address review comments

* chore(DataStore): Remove @available attribute for iOS 13.0 (#1705)

* chore: Merge branch 'dev-preview' into hsinghvq-rebasing-with-main-retry

* feat(Auth): Adding support for auth hub events (#1716)

* bugfix(Auth): Fixing the user pool token expiring logic (#1770)

* bugfix(Auth): Fixing the token expiring logic

* minor fixes

* Moving the logic to an extension

* Updated the unit tests

* revert the foundation import

* worked on comments

* bugfix(Auth): renaming CognitoCredentials to AmplifyCredentials (#1771)

* bugfix(Auth): Fixing the token expiring logic

* minor fixes

* bugfix(Auth): renaming CognitoCredentials to AmplifyCredentials

* feat(Auth): refactor configure method and operations (#1779)

* feat(Auth): refactor configure method and operations

* feat(Auth): reverting script

* feat(Auth): reverting script

* Fixing tests

* reverting async code to use completion handlers

* reverting to async config

* Revises build to organize Package.swift and other improvements (#1810)

chore: revises build with updates to Package.swift and dependencies

* chore: adds preconditionFailure support for testing with Swift Concurrency (#1793)

* chore: adds preconditionFailure support which works with Swift Concurrency #1787

* chore: adds DEV_PREVIEW_BUILD build flag to Package.swift for all plugin targets (#1835)

* feat: add internal support for swift concurrency and update to latest version of aws-sdk-swift (#1842)

* chore(auth): Change the configuration and add configure to the op-queue (#1832)

* chore: update github checkout action to reference commit of latest release [skip ci] (#1845)

* chore: disabled swiftlint where needed and ran swiftlint (#1846)

* test: Fix unittest to use the async api (#1848)

* chore: Cleanup operations to stop relying on configuration state (#1833)

* chore(geo): Geo Swift SDK Migration (#1847)

* chore(geo): Geo Swift SDK Migration

* Address review comments

* Revert schemes for plugins

* chore(auth): Cleanup signIn flow and separated SignInState (#1859)

* chore(auth): Remove configuration from authenticaiton state (#1860)

* feat(Auth): Adding resend confirmation attribute code API (#1834)

* feat(Auth): Adding resend confirmation attribute code API

* feat(Auth): worked on review comments

* fixing merge issues

* fixed formatting

* worked on review comments

* worked on review comments

* reverting the fix

* chore(geo): Remove legacy APIs (#1869)

* chore(geo): Remove legacy APIs

* Commit missed files

* feat(auth): Adds confirmSignIn api and operation (#1861)

* chore: Fix unit tests workflow to run the proper schemas (#1880)

* feat(Auth): Adding FetchUserAttribute API implementation (#1896)

* feat(Auth): Adding FetchUserAttribute API implementation

* update the test description

* chore(geo): Fix unit tests with preConditionFailure (#1886)

* feat(Auth): Adding UpdateUserAttribute API implementation (#1904)

* feat(Auth): Adding UpdateUserAttribute API implementation

* fix unit tests

* feat(Auth): Adding UpdateUserAttributes API implementation

* fixing missed errors and udpating test description

Co-authored-by: Jithin Roy <royji@amazon.com>
Co-authored-by: Jithin Roy <51138777+royjit@users.noreply.github.com>
Co-authored-by: Brennan Stehling <277419+brennanMKE@users.noreply.github.com>
Co-authored-by: Michael Law <1365977+lawmicha@users.noreply.github.com>
Co-authored-by: Chris Ameter <29186822+ameter@users.noreply.github.com>
Co-authored-by: Ian Saultz <52051793+atierian@users.noreply.github.com>
Co-authored-by: Abhash Kumar Singh <thisisabhash@gmail.com>
Co-authored-by: Sebastian Villena <97059974+ruisebas@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues related to build and CI/CD feature-request Request a new feature
Projects
None yet
Development

No branches or pull requests