Skip to content

Add Swift SDK generation and release checks#145

Merged
TimurBaiguskarovAspose merged 42 commits into
mainfrom
feature/swift-sdk-bootstrap
May 26, 2026
Merged

Add Swift SDK generation and release checks#145
TimurBaiguskarovAspose merged 42 commits into
mainfrom
feature/swift-sdk-bootstrap

Conversation

@TimurBaiguskarovAspose
Copy link
Copy Markdown
Contributor

@TimurBaiguskarovAspose TimurBaiguskarovAspose commented May 14, 2026

Summary

  • Add Swift SDK generation for Aspose.BarCode Cloud API v4.0.
  • Add the Swift SDK submodule backed by Aspose.BarCode-Cloud-SDK-for-Swift.
  • Add Swift package runtime helpers for OAuth client credentials/access token configuration.
  • Add Swift request-shape tests, live integration smoke tests, example app, README, CHANGELOG, and release docs.
  • Add packageVersion to config-swift.json and wire Swift into scripts/new-version.py.
  • Add codegen/Templates/swift from OpenAPI Generator 7.8.0 swift5 templates.
  • Generate Swift README and AsposeBarcodeCloudClient.swift from mustache templates, including {{packageVersion}}.
  • Move Swift Linux/macOS compatibility tweaks into templates and remove the post-generation runtime patch script.
  • Add codegen PR checks for Swift generation reproducibility, Swift tests, live API smoke tests, and macOS build/test/example verification.
  • Add temporary private-submodule checkout support while the Swift SDK repository is private.

Validation

GitHub checks are green on ba0b120:

  • check-submodules
  • check-swagger
  • check-swift-codegen-linux
  • check-swift-macos
  • check-urls

Swift SDK repo CI is also green on submodule commit 9f8cd6e:

  • linux-build-test
  • integration-test
  • macos-build-test

Additional local checks used during preparation:

  • make swift
  • git diff --cached --check

Release Notes

  • First Swift SDK release will be tagged as v26.4.0.
  • SwiftPM users should depend on version 26.4.0.

Temporary Bootstrap Notes

The Swift SDK repository is currently private, so CI uses the read-only deploy-key secret SWIFT_SUBMODULE_DEPLOY_KEY to checkout submodules/swift.

Cleanup after the private verification phase / after the Swift repository becomes public:

  • Delete codegen repo secret SWIFT_SUBMODULE_DEPLOY_KEY.
  • Delete Swift repo deploy key 151467785 (codegen swift submodule read 2026-05-14).
  • Delete temporary Swift repo Actions secret TEST_CONFIGURATION_ACCESS_TOKEN after the shared test-token flow is confirmed.
  • Remove the temporary Swift repository URL ignore from scripts/check-urls.py.
  • Re-run checks once without the temporary private-submodule access.

@TimurBaiguskarovAspose TimurBaiguskarovAspose force-pushed the feature/swift-sdk-bootstrap branch 4 times, most recently from 5e41465 to 26fa9b0 Compare May 14, 2026 12:18
@TimurBaiguskarovAspose TimurBaiguskarovAspose marked this pull request as ready for review May 18, 2026 05:43
@TimurBaiguskarovAspose TimurBaiguskarovAspose marked this pull request as draft May 18, 2026 05:45
@TimurBaiguskarovAspose TimurBaiguskarovAspose force-pushed the feature/swift-sdk-bootstrap branch 2 times, most recently from ba0b120 to e9397c9 Compare May 19, 2026 13:11
@TimurBaiguskarovAspose TimurBaiguskarovAspose force-pushed the feature/swift-sdk-bootstrap branch from e9397c9 to 94852d9 Compare May 19, 2026 13:13
@TimurBaiguskarovAspose TimurBaiguskarovAspose marked this pull request as ready for review May 19, 2026 15:40
Denis-Averin and others added 17 commits May 20, 2026 19:21
Drops the AsposeBarcodeCloudAPI global namespace and the
resetGlobalConfiguration helper. The client now owns its own
AsposeBarcodeCloudAPIConfiguration; consumers pass
client.apiConfiguration to each generated API method, matching the
per-instance pattern used by every other SDK in this repo.

Updates the AsposeBarcodeCloudClient and README mustache templates and
bumps the Swift submodule pointer to the regenerated SDK (including
example and test fixes).
Adds BarcodeAuthInterceptor to the AsposeBarcodeCloudClient template:
the client installs it on its per-instance apiConfiguration so the
URLSession pipeline lazily fetches and injects the bearer token on
first use, deduplicating concurrent token fetches. Drops apply() and
the blocking authorize() throws (DispatchSemaphore) variant; adds an
async authorize() async throws overload for explicit warm-up.

Updates the AsposeBarcodeCloudClient and README mustache templates
and bumps the Swift submodule pointer to the regenerated SDK.
Five sites in URLSessionRequestBuilder previously crashed the host
process on server-driven or otherwise unexpected inputs. Surface them
through completion handlers or throws so consumers can handle them.

Updates the URLSession mustache template and bumps the Swift submodule
pointer to the regenerated SDK.
@TimurBaiguskarovAspose TimurBaiguskarovAspose merged commit b6f71ff into main May 26, 2026
3 checks passed
@TimurBaiguskarovAspose TimurBaiguskarovAspose deleted the feature/swift-sdk-bootstrap branch May 26, 2026 12:31
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.

2 participants