chore(folio): nest iosApp under app/ for KotlinConf parity

Match KotlinConf-app's filesystem layout where every entry point (android,
ios, web, shared, ui-components) lives under app/. iosApp is still an Xcode
project, not a Gradle module, so settings.gradle.kts is unchanged.
This commit is contained in:
pj committed 2026-04-26 19:42:12 +07:00
1 parent 4083a316e4
commit a967e261e5
6 files changed
+13 -13

No files matched your search

+3 -3
View File
@@ -2,9 +2,9 @@
build/
.kotlin/
local.properties
iosApp/build/
iosApp/iosApp.xcodeproj/
iosApp/iosApp.xcodeproj/**
app/iosApp/build/
app/iosApp/iosApp.xcodeproj/
app/iosApp/iosApp.xcodeproj/**
.DS_Store
sanderling/node_modules/
sanderling/runs/
+1 -1
View File
@@ -35,7 +35,7 @@ just ios # default device: iPhone 17 Pro
IOS_DEVICE="iPhone 15" just ios # pick a different simulator
```
`just ios` regenerates `iosApp/iosApp.xcodeproj` from `iosApp/project.yml`,
`just ios` regenerates `app/iosApp/iosApp.xcodeproj` from `app/iosApp/project.yml`,
builds the KMP framework (`Shared.framework` from `:app:shared`), links it
into the SwiftUI host, installs, and launches.
@@ -19,7 +19,7 @@ targets:
sources:
- iosApp
dependencies:
- framework: ../app/shared/build/bin/iosSimulatorArm64/debugFramework/Shared.framework
- framework: ../shared/build/bin/iosSimulatorArm64/debugFramework/Shared.framework
embed: false
- sdk: libsqlite3.tbd
settings:
@@ -28,16 +28,16 @@ targets:
PRODUCT_NAME: iosApp
INFOPLIST_FILE: iosApp/Info.plist
FRAMEWORK_SEARCH_PATHS:
- $(SRCROOT)/../app/shared/build/bin/$(KOTLIN_FRAMEWORK_DIR)/debugFramework
- $(SRCROOT)/../shared/build/bin/$(KOTLIN_FRAMEWORK_DIR)/debugFramework
OTHER_LDFLAGS:
- -ObjC
KOTLIN_FRAMEWORK_DIR: iosSimulatorArm64
preBuildScripts:
- name: Build Kotlin framework
script: |
cd "$SRCROOT/.."
cd "$SRCROOT/../.."
ANDROID_HOME="${ANDROID_HOME:-$HOME/Library/Android/sdk}" \
./gradlew :app:shared:linkDebugFrameworkIosSimulatorArm64
outputFiles:
- $(SRCROOT)/../app/shared/build/bin/iosSimulatorArm64/debugFramework/Shared.framework/Shared
- $(SRCROOT)/../shared/build/bin/iosSimulatorArm64/debugFramework/Shared.framework/Shared
basedOnDependencyAnalysis: false
+5 -5
View File
@@ -55,13 +55,13 @@ clean:
set -euo pipefail
export ANDROID_HOME="$(just _android-home)"
./gradlew clean
rm -rf iosApp/build
rm -rf app/iosApp/build
# Regenerate iosApp.xcodeproj from project.yml.
ios-gen:
#!/usr/bin/env bash
set -euo pipefail
cd iosApp && xcodegen generate
cd app/iosApp && xcodegen generate
# Build + install + launch on a booted iOS simulator (boots IOS_DEVICE if none).
ios:
@@ -74,11 +74,11 @@ ios:
sleep 3
fi
just ios-gen
xcodebuild -project iosApp/iosApp.xcodeproj -scheme iosApp \
xcodebuild -project app/iosApp/iosApp.xcodeproj -scheme iosApp \
-destination 'platform=iOS Simulator,name={{ios_device}}' \
-derivedDataPath iosApp/build \
-derivedDataPath app/iosApp/build \
build | tail -5
xcrun simctl install booted iosApp/build/Build/Products/Debug-iphonesimulator/iosApp.app
xcrun simctl install booted app/iosApp/build/Build/Products/Debug-iphonesimulator/iosApp.app
xcrun simctl launch booted app.folio
# Run 'sanderling test' against the folio app. Uses a connected device if one is