Browse Source
The PR sets a static path to the compose resources for the cocoapods
integration because there maybe only one integration framework for a
gradle module.
Fixes https://github.com/JetBrains/compose-multiplatform/issues/4720
## Release Notes
### Fixes - Resources
- _(prerelease fix)_ Fix resources with cocoapods integration
(cherry picked from commit b8846788ce
)
shish/stableprop
Konstantin
7 months ago
committed by
Konstantin Tskhovrebov
3 changed files with 67 additions and 10 deletions
@ -0,0 +1,50 @@
|
||||
Pod::Spec.new do |spec| |
||||
spec.name = 'iosResources' |
||||
spec.version = '1.0' |
||||
spec.homepage = 'Link to a Kotlin/Native module homepage' |
||||
spec.source = { :http=> ''} |
||||
spec.authors = '' |
||||
spec.license = '' |
||||
spec.summary = 'Some description for a Kotlin/Native module' |
||||
spec.vendored_frameworks = 'build/cocoapods/framework/shared.framework' |
||||
spec.libraries = 'c++' |
||||
|
||||
spec.dependency 'Base64', '1.1.2' |
||||
|
||||
if !Dir.exist?('build/cocoapods/framework/shared.framework') || Dir.empty?('build/cocoapods/framework/shared.framework') |
||||
raise " |
||||
|
||||
Kotlin framework 'shared' doesn't exist yet, so a proper Xcode project can't be generated. |
||||
'pod install' should be executed after running ':generateDummyFramework' Gradle task: |
||||
|
||||
./gradlew :generateDummyFramework |
||||
|
||||
Alternatively, proper pod installation is performed during Gradle sync in the IDE (if Podfile location is set)" |
||||
end |
||||
|
||||
spec.pod_target_xcconfig = { |
||||
'KOTLIN_PROJECT_PATH' => '', |
||||
'PRODUCT_MODULE_NAME' => 'shared', |
||||
} |
||||
|
||||
spec.script_phases = [ |
||||
{ |
||||
:name => 'Build iosResources', |
||||
:execution_position => :before_compile, |
||||
:shell_path => '/bin/sh', |
||||
:script => <<-SCRIPT |
||||
if [ "YES" = "$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED" ]; then |
||||
echo "Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"" |
||||
exit 0 |
||||
fi |
||||
set -ev |
||||
REPO_ROOT="$PODS_TARGET_SRCROOT" |
||||
"$REPO_ROOT/gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \ |
||||
-Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \ |
||||
-Pkotlin.native.cocoapods.archs="$ARCHS" \ |
||||
-Pkotlin.native.cocoapods.configuration="$CONFIGURATION" |
||||
SCRIPT |
||||
} |
||||
] |
||||
spec.resources = ['build/compose/cocoapods/compose-resources'] |
||||
end |
Loading…
Reference in new issue