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

XcFramework Generation #350

Merged
merged 22 commits into from
Nov 19, 2024
Merged

XcFramework Generation #350

merged 22 commits into from
Nov 19, 2024

Conversation

thomaskioko
Copy link
Owner

Description

This PR implements a gradle plugin that generates the XCFramework and copies it to a swift package. I wrote a small article about it. XCFramework Generation Using A Custom Gradle Plugin

Other Changes

  • Add Skie Flow interop and refactor iOS state wrappers to use skie Flow.
  • Add new Swift package dependencies (TvManiacKit, TvManiacUI, SwiftUIComponents)
  • Configure framework search paths

Fixes (iOS)

  • Fix navigation to show from the ShowDetail Screen.
  • Add font registration at app startup.

@thomaskioko thomaskioko added ios iOS related task/issue shared Shared module task/issues labels Nov 17, 2024
@thomaskioko thomaskioko force-pushed the xcode-framework-gen branch 7 times, most recently from 37d1f12 to e0ebf3d Compare November 18, 2024 22:04
- Remove duplicate dependency.
- Set binary options.
- Refactor iOS state wrappers to use skie Flow.
- Delete kotlin flow wrapper.
… for iOS.

The plugin:
- Configures framework assembly tasks for different build types
- Handles copying assembled frameworks to iOS module directory
- Implements cleanup of existing frameworks and intermediate files
- Supports multiple native target types
- Add Fastlane gradle task
- Move font to Resources dir.
- Add font registration at app startup
- Update deployment target to iOS 17.0
- Add new Swift package dependencies (TvManiacKit, TvManiacUI, SwiftUIComponents)
- Configure framework search paths
- Enable Swift asset symbol extensions
- Update build settings for better compatibility
- Remove verbose logging options that weren't providing value
- Remove redundant buildlog_path configuration
- Keep essential build settings for both gradle and xcodebuild tasks
- Maintain derived_data_path for consistent build location
…wift version (5.0) as defined in your project configuration.
This commit improves the CI/CD pipeline with better caching,
dependency management:

- Remove redundant lint_and_test job
- Fix backslashes in secrets configuration
- Improve error handling for screenshot tests

Cache Management:
- Add SPM dependency caching for faster package resolution
- Implement Gradle caching for better build performance
- Cache DerivedData to speed up subsequent builds

Build Process:
- Make build-ios job dependent on common_test completion
- Add build monitoring and timing metrics
- Increase timeout for package resolution

fix: correct job dependencies in GitHub Actions workflow

- Fix invalid reference to removed 'lint_and_test' job
- Update create-release job dependencies to include all required checks

Remove verification task. 😭

Cleanup

- Set iPhone deployment target to 16.1
- Add fastlane debug information.
- Specify xcode version.
Revert change and remove logs.

Update Xcode version to 15.3

Improve iOS build stability and performance

- Add xcode-install and xcpretty gems for better build output and control
- Disable Gradle build scan publication to prevent CI hangs
- Add verbose logging and build logs path for better debugging
- Clean build directory before each run
- Update fastlane configuration for more reliable builds

Remove duplicate configuration.
Update iOS build configuration for simulator support

- Add build configuration parameters in gym task for better framework distribution control
- Clean up Fastlane formatting and remove unnecessary gradle task parameters

Replace deprecated action.
Remove task from CI and use simulator task in Fastlane job.

Comment iOS build job
@thomaskioko thomaskioko merged commit 960a065 into main Nov 19, 2024
9 checks passed
@thomaskioko thomaskioko deleted the xcode-framework-gen branch November 19, 2024 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ios iOS related task/issue shared Shared module task/issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant