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

Linux support #111

Merged
merged 35 commits into from
Sep 1, 2023
Merged

Linux support #111

merged 35 commits into from
Sep 1, 2023

Conversation

makoni
Copy link
Collaborator

@makoni makoni commented Aug 31, 2023

No description provided.

@makoni makoni marked this pull request as ready for review September 1, 2023 10:32
@makoni makoni merged commit 6d56b53 into develop Sep 1, 2023
8 checks passed
@makoni makoni deleted the linux branch September 1, 2023 10:33
makoni added a commit that referenced this pull request Sep 5, 2023
* wip

* refactoring

* wip

* wip

* wip

* wip

* wip

* version

* wip

* wip

* wip

* wip

* wip

* refactoring

* Update test.yml

* tests updated

* tests updated

* tests updated

* Carthage build fixed

* documentation updated

* demo app updated with new lib methods

* Readme updated

* cleanup

* update files list on main thread in demo app

* allow setting signature from external source

* lib version bump

* Update README.md

* Update Upload API.md

* formatting

* Update Upload API.md

* custom uploadSignature can be provided for methods:
- Upload file from url
- Multipart file uploading
-  Create files group from a set of files
- Create files group from a set of files UUIDs.
- Files group info

* custom uploadSignature can be provided for main uploadFile method that decides which upload method to use internally

* custom uploadSignature can be provided for upload method of UploadedFile object

* increase timeout for video conversion integration test

* documentation updated

* Update Sources/Uploadcare/Uploadcare.swift

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update Documentation/Upload API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

* Update README.md

* Update README.md

* Update Upload API.md

* Update README.md

* Update README.md

* Update Upload API.md

* Update REST API.md

* Update Documentation/REST API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update Documentation/REST API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update Documentation/Upload API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update Documentation/Upload API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* fixed when storing behavour param was missing for direct upload request

* version bump

* removed deprecated files for tests

* Swift version 5.1 -> 5.6

* removed unused allTests property in tests

* refactoring

* refactoring

* refactoring

* bumped api version to 0.7

* - removed sorting by size for getting list of files method
- data param for dateTimeUploadedASC ordering is optional now

* removed rekognitionInfo from File model

* removed imageInfo from File model

* removed videoInfo from File model

* warning

* metadata added to File model

* docs

* order

* Improvements for handling responses in RequestManager

* Added methods for REST API to get/update/delete File metadata

* store group method is not available for REST API anymore

* use keyDecodingStrategy for decoders

* Revert "use keyDecodingStrategy for decoders"

This reverts commit d210ca2.

* added contentInfo property to File data model

* delete group method added for REST API

* models updated

* added FileInfoQuery to set request query to include appdata

* new models for AppData added

* refactoring

* appData field added for File model

* refactoring

* execute AWS recognition method added

* added method to check aws recognition status

* integration tests for aws recognition execution and and status check

* Added execution of ClamAV addon, checking it’s status and integration tests for it

* RemoveBGAddonExecutionParams model added

* remove.bg addon execution and status + refactoring

* integration tests for remove.bg addon methods

* done field added to UploadedFile model

* added contentInfo file to UploadedFile model

* added metadata property to UploadedFile model

* bump lib version

* metadata can be provided for upload from url method

* metadata can be provided for direct upload method

* metadata can be provided for multipart uploads

* set swift version 5.5

* demo app fixed

* updated project for carthage

* more swift versions

* podfile updated

* warning removed

* set lib version 0.9.0

* metadata param for main upload method

- metadata param for main upload method
- don’t get fileinfo if only public key provided after direct upload

integration test for direct upload when only public key provided

* pass metadata from UploadedFile when calling upload

* added integratin test for multipart uploading if only public key provided

* Update README.md

* Update REST API.md

* Update REST API.md

* Update REST API.md

* Update REST API.md

* Update Upload API.md

* Update README.md

* Update test.yml

* Update REST API.md

* Update REST API.md

* Update Upload API.md

* Update REST API.md

* Update REST API.md

* couple links updated

* test updated

* fixed parsing of UploadedFile model

* added new integration test to upload a video file and check that parsing of response works

* version bump

* spaces

* cleanup

* async tests file

* async version of getProjectInfo and test

* formatting

* async getListOfWebhooks and test

* async performRequest

* async webhooks methods

* refactoring

* refactoring

* async listOfGroups and groupInfo + tests

* async list of files and tests

* one more test

* async pagination for list of files

* async fileinfo and test

* error handling

* refactoring

* refactoring

* async groups list and pagination + tests

* Equatable conformance

* Equatable for Group and check results in test

* async getAuthenticatedUrlFromUrl and test

* UploadAPIIntegrationAsyncTests

* async directUploadInForeground and test

* async deleteFile and test

* async deleteFiles and test

* async storeFile and test

* async storeFiles and test

* async copyFileToLocalStorage and test

* async copyFileToRemoteStorage and test

* async convertDocuments, convertDocumentsWithSettings, documentConversionJobStatus and tests

* async convertVideosWithSettings, convertVideos, videoConversionJobStatus and tests

* …

* async methods for metadata and test

* Async methods for AWS recognition and test

* Async methods for Clamav addon and test

* async methods for Remove.bg addon and tests

* async deleteGroup method

* refactoring

* async methods for upload from url and it’s status and test

* warning fixed

* async fileInfo and test

* updated unsplash link

* tests refactoring

* async multipart upload and test

* test improved

* uploadSignature param for directUploadInForeground

* async uploadFile method in Uploadcare class + test

* docs

* async upload method for UploadedFile class and test

* test updated

* async methods to create groups + tests

* tests renames

* cleanup

* tests annotation

* fixed build for tvOS

* annotation

* fixed build for watchOS

* tests are available for watchOS too

* …

* documentation updated

* docs

* docs

* docs

* docs

* docs

* spaces

* docs

* docs

* docs

* docs

* docs

* docs

* docs

* docs

* readme

* update semf

* demo app refactoring

* async

* refactoring

* more async methods

* dead link

* more async

* widget updated to fix a warning

* use new AsyncImage in widget

* warning fixed

* cleanup

* async files load in demo app

* discardableResult

* async file delete in demo

* demo app project updated

* readme updated

* docs updated

* docs updated

* test updated

* docs with examples

* docs

* docs

* docs

* docs

* REST API docs

* docs

* docs

* couple fixes

* uploadAndWaitForCompletion method and test added

* docs

* bump lib version

* podspec updated

* updated carthage project

* Update README.md

* bump version to 0.10.0

* podspec updated

* Update test.yml

* Linux support (#111)

* wip

* dependencies for Linux

* package version

* nsec

* wip

* wip

* wip

* wip

* commented code that breaks building for linux

* use apple's Crypto

* sha1 and sha256 implementations using Crypto

* AsyncHTTPClient for requests

* Package.reslolved

* wip

* empty line

* wip

* disable tests for methods with callbacks for LInux

* disable CI for PRs to develop for now

* wip

* wip

* wip

* removed force unwrapping in tests

* return Data from request if need

* directUploadInForeground for Linux

* space

* default store value - auto

* multipart upload for Linux

* fix

* fixes

* no need to delete headers

* added testing on Ubuntu in workflow

* Update test.yml

* Update test.yml

* swift-tools-version:5.6

---------

Co-authored-by: Sergei Armodin <dolph-in@yandex.ru~>

* version bump

---------

Co-authored-by: Ivan Tse <github@nerdtower.com>
Co-authored-by: Roman Sedykh <rsedykh@gmail.com>
Co-authored-by: Sergei Armodin <dolph-in@yandex.ru~>
rsedykh pushed a commit that referenced this pull request Oct 4, 2023
* allow setting signature from external source

* lib version bump

* Update README.md

* Update Upload API.md

* formatting

* Update Upload API.md

* custom uploadSignature can be provided for methods:
- Upload file from url
- Multipart file uploading
-  Create files group from a set of files
- Create files group from a set of files UUIDs.
- Files group info

* custom uploadSignature can be provided for main uploadFile method that decides which upload method to use internally

* custom uploadSignature can be provided for upload method of UploadedFile object

* increase timeout for video conversion integration test

* documentation updated

* Update Sources/Uploadcare/Uploadcare.swift

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update Documentation/Upload API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

* Update README.md

* Update README.md

* Update Upload API.md

* Update README.md

* Update README.md

* Update Upload API.md

* Update REST API.md

* Update Documentation/REST API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update Documentation/REST API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update Documentation/Upload API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update Documentation/Upload API.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* fixed when storing behavour param was missing for direct upload request

* version bump

* removed deprecated files for tests

* Swift version 5.1 -> 5.6

* removed unused allTests property in tests

* refactoring

* refactoring

* refactoring

* bumped api version to 0.7

* - removed sorting by size for getting list of files method
- data param for dateTimeUploadedASC ordering is optional now

* removed rekognitionInfo from File model

* removed imageInfo from File model

* removed videoInfo from File model

* warning

* metadata added to File model

* docs

* order

* Improvements for handling responses in RequestManager

* Added methods for REST API to get/update/delete File metadata

* store group method is not available for REST API anymore

* use keyDecodingStrategy for decoders

* Revert "use keyDecodingStrategy for decoders"

This reverts commit d210ca2.

* added contentInfo property to File data model

* delete group method added for REST API

* models updated

* added FileInfoQuery to set request query to include appdata

* new models for AppData added

* refactoring

* appData field added for File model

* refactoring

* execute AWS recognition method added

* added method to check aws recognition status

* integration tests for aws recognition execution and and status check

* Added execution of ClamAV addon, checking it’s status and integration tests for it

* RemoveBGAddonExecutionParams model added

* remove.bg addon execution and status + refactoring

* integration tests for remove.bg addon methods

* done field added to UploadedFile model

* added contentInfo file to UploadedFile model

* added metadata property to UploadedFile model

* bump lib version

* metadata can be provided for upload from url method

* metadata can be provided for direct upload method

* metadata can be provided for multipart uploads

* set swift version 5.5

* demo app fixed

* updated project for carthage

* more swift versions

* podfile updated

* warning removed

* set lib version 0.9.0

* metadata param for main upload method

- metadata param for main upload method
- don’t get fileinfo if only public key provided after direct upload

integration test for direct upload when only public key provided

* pass metadata from UploadedFile when calling upload

* added integratin test for multipart uploading if only public key provided

* Update README.md

* Update REST API.md

* Update REST API.md

* Update REST API.md

* Update REST API.md

* Update Upload API.md

* Update README.md

* Update test.yml

* Update REST API.md

* Update REST API.md

* Update Upload API.md

* Update REST API.md

* Update REST API.md

* couple links updated

* test updated

* fixed parsing of UploadedFile model

* added new integration test to upload a video file and check that parsing of response works

* version bump

* spaces

* cleanup

* async tests file

* async version of getProjectInfo and test

* formatting

* async getListOfWebhooks and test

* async performRequest

* async webhooks methods

* refactoring

* refactoring

* async listOfGroups and groupInfo + tests

* async list of files and tests

* one more test

* async pagination for list of files

* async fileinfo and test

* error handling

* refactoring

* refactoring

* async groups list and pagination + tests

* Equatable conformance

* Equatable for Group and check results in test

* async getAuthenticatedUrlFromUrl and test

* UploadAPIIntegrationAsyncTests

* async directUploadInForeground and test

* async deleteFile and test

* async deleteFiles and test

* async storeFile and test

* async storeFiles and test

* async copyFileToLocalStorage and test

* async copyFileToRemoteStorage and test

* async convertDocuments, convertDocumentsWithSettings, documentConversionJobStatus and tests

* async convertVideosWithSettings, convertVideos, videoConversionJobStatus and tests

* …

* async methods for metadata and test

* Async methods for AWS recognition and test

* Async methods for Clamav addon and test

* async methods for Remove.bg addon and tests

* async deleteGroup method

* refactoring

* async methods for upload from url and it’s status and test

* warning fixed

* async fileInfo and test

* updated unsplash link

* tests refactoring

* async multipart upload and test

* test improved

* uploadSignature param for directUploadInForeground

* async uploadFile method in Uploadcare class + test

* docs

* async upload method for UploadedFile class and test

* test updated

* async methods to create groups + tests

* tests renames

* cleanup

* tests annotation

* fixed build for tvOS

* annotation

* fixed build for watchOS

* tests are available for watchOS too

* …

* documentation updated

* docs

* docs

* docs

* docs

* docs

* spaces

* docs

* docs

* docs

* docs

* docs

* docs

* docs

* docs

* readme

* update semf

* demo app refactoring

* async

* refactoring

* more async methods

* dead link

* more async

* widget updated to fix a warning

* use new AsyncImage in widget

* warning fixed

* cleanup

* async files load in demo app

* discardableResult

* async file delete in demo

* demo app project updated

* readme updated

* docs updated

* docs updated

* test updated

* docs with examples

* docs

* docs

* docs

* docs

* REST API docs

* docs

* docs

* couple fixes

* uploadAndWaitForCompletion method and test added

* docs

* bump lib version

* podspec updated

* updated carthage project

* Update README.md

* bump version to 0.10.0

* podspec updated

* Update test.yml

* Linux support (#111)

* wip

* dependencies for Linux

* package version

* nsec

* wip

* wip

* wip

* wip

* commented code that breaks building for linux

* use apple's Crypto

* sha1 and sha256 implementations using Crypto

* AsyncHTTPClient for requests

* Package.reslolved

* wip

* empty line

* wip

* disable tests for methods with callbacks for LInux

* disable CI for PRs to develop for now

* wip

* wip

* wip

* removed force unwrapping in tests

* return Data from request if need

* directUploadInForeground for Linux

* space

* default store value - auto

* multipart upload for Linux

* fix

* fixes

* no need to delete headers

* added testing on Ubuntu in workflow

* Update test.yml

* Update test.yml

* swift-tools-version:5.6

---------

Co-authored-by: Sergei Armodin <dolph-in@yandex.ru~>

* version bump

* swift-crypto 3.0.0

* marked audio property of ContentInfo as required

* removed deprecated methods

* Webhook model is updated

* version property updated for Webhook model

* event param for create and update webhook methods

* one more test

* docs updated

* added saveInGroup param for convertDocuments methods

* fixed Carthage project

* added testing with Swift 5.9 on Ubuntu

* version bump

* sources list updated in widget

* menu UI fixed

* tests updated

* widget refactoring

* widget cookie fix

* async getSourceChunk

* async loadMore

* async uploadFileFromPath

* smaller list of sources

* run tests on Ubuntu for minimum and maximum supported Swift versions only

* formatting

* added back OneDrive external source for widget

---------

Co-authored-by: Roman Sedykh
Co-authored-by: Sergei Armodin
makoni added a commit that referenced this pull request Nov 28, 2023
* Update README.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* Update README.md

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>

* fixed when storing behavour param was missing for direct upload request

* version bump

* removed deprecated files for tests

* Swift version 5.1 -> 5.6

* removed unused allTests property in tests

* refactoring

* refactoring

* refactoring

* bumped api version to 0.7

* - removed sorting by size for getting list of files method
- data param for dateTimeUploadedASC ordering is optional now

* removed rekognitionInfo from File model

* removed imageInfo from File model

* removed videoInfo from File model

* warning

* metadata added to File model

* docs

* order

* Improvements for handling responses in RequestManager

* Added methods for REST API to get/update/delete File metadata

* store group method is not available for REST API anymore

* use keyDecodingStrategy for decoders

* Revert "use keyDecodingStrategy for decoders"

This reverts commit d210ca2.

* added contentInfo property to File data model

* delete group method added for REST API

* models updated

* added FileInfoQuery to set request query to include appdata

* new models for AppData added

* refactoring

* appData field added for File model

* refactoring

* execute AWS recognition method added

* added method to check aws recognition status

* integration tests for aws recognition execution and and status check

* Added execution of ClamAV addon, checking it’s status and integration tests for it

* RemoveBGAddonExecutionParams model added

* remove.bg addon execution and status + refactoring

* integration tests for remove.bg addon methods

* done field added to UploadedFile model

* added contentInfo file to UploadedFile model

* added metadata property to UploadedFile model

* bump lib version

* metadata can be provided for upload from url method

* metadata can be provided for direct upload method

* metadata can be provided for multipart uploads

* set swift version 5.5

* demo app fixed

* updated project for carthage

* more swift versions

* podfile updated

* warning removed

* set lib version 0.9.0

* metadata param for main upload method

- metadata param for main upload method
- don’t get fileinfo if only public key provided after direct upload

integration test for direct upload when only public key provided

* pass metadata from UploadedFile when calling upload

* added integratin test for multipart uploading if only public key provided

* Update README.md

* Update REST API.md

* Update REST API.md

* Update REST API.md

* Update REST API.md

* Update Upload API.md

* Update README.md

* Update test.yml

* Update REST API.md

* Update REST API.md

* Update Upload API.md

* Update REST API.md

* Update REST API.md

* couple links updated

* test updated

* fixed parsing of UploadedFile model

* added new integration test to upload a video file and check that parsing of response works

* version bump

* spaces

* cleanup

* async tests file

* async version of getProjectInfo and test

* formatting

* async getListOfWebhooks and test

* async performRequest

* async webhooks methods

* refactoring

* refactoring

* async listOfGroups and groupInfo + tests

* async list of files and tests

* one more test

* async pagination for list of files

* async fileinfo and test

* error handling

* refactoring

* refactoring

* async groups list and pagination + tests

* Equatable conformance

* Equatable for Group and check results in test

* async getAuthenticatedUrlFromUrl and test

* UploadAPIIntegrationAsyncTests

* async directUploadInForeground and test

* async deleteFile and test

* async deleteFiles and test

* async storeFile and test

* async storeFiles and test

* async copyFileToLocalStorage and test

* async copyFileToRemoteStorage and test

* async convertDocuments, convertDocumentsWithSettings, documentConversionJobStatus and tests

* async convertVideosWithSettings, convertVideos, videoConversionJobStatus and tests

* …

* async methods for metadata and test

* Async methods for AWS recognition and test

* Async methods for Clamav addon and test

* async methods for Remove.bg addon and tests

* async deleteGroup method

* refactoring

* async methods for upload from url and it’s status and test

* warning fixed

* async fileInfo and test

* updated unsplash link

* tests refactoring

* async multipart upload and test

* test improved

* uploadSignature param for directUploadInForeground

* async uploadFile method in Uploadcare class + test

* docs

* async upload method for UploadedFile class and test

* test updated

* async methods to create groups + tests

* tests renames

* cleanup

* tests annotation

* fixed build for tvOS

* annotation

* fixed build for watchOS

* tests are available for watchOS too

* …

* documentation updated

* docs

* docs

* docs

* docs

* docs

* spaces

* docs

* docs

* docs

* docs

* docs

* docs

* docs

* docs

* readme

* update semf

* demo app refactoring

* async

* refactoring

* more async methods

* dead link

* more async

* widget updated to fix a warning

* use new AsyncImage in widget

* warning fixed

* cleanup

* async files load in demo app

* discardableResult

* async file delete in demo

* demo app project updated

* readme updated

* docs updated

* docs updated

* test updated

* docs with examples

* docs

* docs

* docs

* docs

* REST API docs

* docs

* docs

* couple fixes

* uploadAndWaitForCompletion method and test added

* docs

* bump lib version

* podspec updated

* updated carthage project

* Update README.md

* bump version to 0.10.0

* podspec updated

* Update test.yml

* Linux support (#111)

* wip

* dependencies for Linux

* package version

* nsec

* wip

* wip

* wip

* wip

* commented code that breaks building for linux

* use apple's Crypto

* sha1 and sha256 implementations using Crypto

* AsyncHTTPClient for requests

* Package.reslolved

* wip

* empty line

* wip

* disable tests for methods with callbacks for LInux

* disable CI for PRs to develop for now

* wip

* wip

* wip

* removed force unwrapping in tests

* return Data from request if need

* directUploadInForeground for Linux

* space

* default store value - auto

* multipart upload for Linux

* fix

* fixes

* no need to delete headers

* added testing on Ubuntu in workflow

* Update test.yml

* Update test.yml

* swift-tools-version:5.6

---------

Co-authored-by: Sergei Armodin <dolph-in@yandex.ru~>

* version bump

* swift-crypto 3.0.0

* marked audio property of ContentInfo as required

* removed deprecated methods

* Webhook model is updated

* version property updated for Webhook model

* event param for create and update webhook methods

* one more test

* docs updated

* added saveInGroup param for convertDocuments methods

* fixed Carthage project

* added testing with Swift 5.9 on Ubuntu

* version bump

* sources list updated in widget

* menu UI fixed

* tests updated

* widget refactoring

* widget cookie fix

* async getSourceChunk

* async loadMore

* async uploadFileFromPath

* smaller list of sources

* run tests on Ubuntu for minimum and maximum supported Swift versions only

* formatting

* added back OneDrive external source for widget

* Demo app project updated

* marked datetimeStored property as deprecated in Group and UploadedFilesGroup models

* demo app updated

* added defaultEffects to UploadedFile model

* added defaultEffects to File model

* tests updated

* tests updated

* var -> let for requestID

* Added methods for AWS Rekognition Moderation Add-on and tests

* refactoring

* renamed: executeAWSRecognition -> executeAWSRekognition
renamed: checkAWSRecognitionStatus -> checkAWSRekognitionStatus

* docs updated

* docs updated

* Extracted Addons methods to a separate file

* Timeout error added

* performAWSRekognition method added + tests + docs

* refactoring

* docs

* performAWSRekognitionModeration method + test + docs

* performClamav method + test + docs

* refactoring

* docs

* performRemoveBG method + test + docs

* refactoring

* tests updated

* version bump

* build fixed

* build fix

---------

Co-authored-by: Roman Sedykh <rsedykh@gmail.com>
Co-authored-by: Sergei Armodin <dolph-in@yandex.ru~>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant