Skip to content

Commit 1809d1a

Browse files
committed
feat: Add build script to exclude iOS tasks
- Create a new shell script `gradle/build_quick.sh` to run a Gradle build while excluding all iOS-related linking tasks. - Update `AGENTS.md` to use the new `build_quick.sh` script, simplifying the build instructions.
1 parent c83c234 commit 1809d1a

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
- Desktop app: `./gradlew :app:desktop:run` (launches JVM desktop Compose app).
2222
- iOS: `cd iosApp && pod install` then open `iosApp/iosApp.xcworkspace` in Xcode and run. Regenerate podspec if needed: `./gradlew :app:ios-kit:podspec`.
2323
- Web app: `./gradlew :app:web:wasmJsBrowserDevelopmentRun --continuous` (launches the web app in a browser with hot reload).
24-
- Build without iOS link tasks: `./gradlew build -x :app:ios-kit:linkPodDebugFrameworkIosArm64 -x :app:ios-kit:linkPodReleaseFrameworkIosArm64 -x :app:ios-kit:linkPodDebugFrameworkIosSimulatorArm64 -x :app:ios-kit:linkDebugTestIosSimulatorArm64 -x :app:ios-kit:linkPodReleaseFrameworkIosSimulatorArm64 -x :core:domain:linkDebugTestIosSimulatorArm64 -x :core:presentation:linkDebugTestIosSimulatorArm64 -x :core:test:linkDebugTestIosSimulatorArm64 -x :ui:shared:linkPodDebugFrameworkIosArm64 -x :ui:shared:linkPodReleaseFrameworkIosArm64 -x :ui:shared:linkPodDebugFrameworkIosSimulatorArm64 -x :ui:shared:linkPodReleaseFrameworkIosSimulatorArm64 -x :ui:shared:linkDebugTestIosSimulatorArm64 -x :core:data:db-sqldelight:linkPodDebugFrameworkIosArm64 -x :core:data:db-sqldelight:linkPodDebugFrameworkIosSimulatorArm64 -x :core:data:db-sqldelight:linkPodReleaseFrameworkIosArm64 -x :core:data:db-sqldelight:linkPodReleaseFrameworkIosSimulatorArm64 -x :core:data:db-sqldelight:linkDebugTestIosSimulatorArm64 -x :core:data:file-explorer:linkDebugTestIosSimulatorArm64 -x :thirdparty:androidx:paging:compose:linkDebugTestIosSimulatorArm64 -x :thirdparty:app:cash:sqldelight:paging3:linkDebugTestIosSimulatorArm64`
24+
- Build without iOS link tasks: `./gradle/build_quick.sh` (see [gradle/build_quick.sh](gradle/build_quick.sh))
2525

2626
## AI Agent Workflow for Verifying Changes
2727
After making changes, AI agents must perform the following checks sequentially. If any step fails, the changes must be fixed and all checks must be re-run until they all succeed.
28-
1. Quick Build (No iOS): `./gradlew build -x :app:ios-kit:linkPodDebugFrameworkIosArm64 -x :app:ios-kit:linkPodReleaseFrameworkIosArm64 -x :app:ios-kit:linkPodDebugFrameworkIosSimulatorArm64 -x :app:ios-kit:linkDebugTestIosSimulatorArm64 -x :app:ios-kit:linkPodReleaseFrameworkIosSimulatorArm64 -x :core:domain:linkDebugTestIosSimulatorArm64 -x :core:presentation:linkDebugTestIosSimulatorArm64 -x :core:test:linkDebugTestIosSimulatorArm64 -x :ui:shared:linkPodDebugFrameworkIosArm64 -x :ui:shared:linkPodReleaseFrameworkIosArm64 -x :ui:shared:linkPodDebugFrameworkIosSimulatorArm64 -x :ui:shared:linkPodReleaseFrameworkIosSimulatorArm64 -x :ui:shared:linkDebugTestIosSimulatorArm64 -x :core:data:db-sqldelight:linkPodDebugFrameworkIosArm64 -x :core:data:db-sqldelight:linkPodDebugFrameworkIosSimulatorArm64 -x :core:data:db-sqldelight:linkPodReleaseFrameworkIosArm64 -x :core:data:db-sqldelight:linkPodReleaseFrameworkIosSimulatorArm64 -x :core:data:db-sqldelight:linkDebugTestIosSimulatorArm64 -x :core:data:file-explorer:linkDebugTestIosSimulatorArm64 -x :thirdparty:androidx:paging:compose:linkDebugTestIosSimulatorArm64 -x :thirdparty:app:cash:sqldelight:paging3:linkDebugTestIosSimulatorArm64`
28+
1. Quick Build (No iOS): `./gradle/build_quick.sh` (see [gradle/build_quick.sh](gradle/build_quick.sh))
2929
2. Android Instrumentation Tests: `./gradlew :app:android:connectedCheck`
3030
3. Full Project Build: `./gradlew build`
3131

gradle/build_quick.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
# Build without iOS link tasks
3+
# Excludes all iOS linking tasks to speed up builds on non-iOS development
4+
5+
./gradlew build \
6+
-x :app:ios-kit:linkPodDebugFrameworkIosArm64 \
7+
-x :app:ios-kit:linkPodReleaseFrameworkIosArm64 \
8+
-x :app:ios-kit:linkPodDebugFrameworkIosSimulatorArm64 \
9+
-x :app:ios-kit:linkDebugTestIosSimulatorArm64 \
10+
-x :app:ios-kit:linkPodReleaseFrameworkIosSimulatorArm64 \
11+
-x :core:domain:linkDebugTestIosSimulatorArm64 \
12+
-x :core:presentation:linkDebugTestIosSimulatorArm64 \
13+
-x :core:test:linkDebugTestIosSimulatorArm64 \
14+
-x :ui:shared:linkPodDebugFrameworkIosArm64 \
15+
-x :ui:shared:linkPodReleaseFrameworkIosArm64 \
16+
-x :ui:shared:linkPodDebugFrameworkIosSimulatorArm64 \
17+
-x :ui:shared:linkPodReleaseFrameworkIosSimulatorArm64 \
18+
-x :ui:shared:linkDebugTestIosSimulatorArm64 \
19+
-x :core:data:db-sqldelight:linkPodDebugFrameworkIosArm64 \
20+
-x :core:data:db-sqldelight:linkPodDebugFrameworkIosSimulatorArm64 \
21+
-x :core:data:db-sqldelight:linkPodReleaseFrameworkIosArm64 \
22+
-x :core:data:db-sqldelight:linkPodReleaseFrameworkIosSimulatorArm64 \
23+
-x :core:data:db-sqldelight:linkDebugTestIosSimulatorArm64 \
24+
-x :core:data:file-explorer:linkDebugTestIosSimulatorArm64 \
25+
-x :thirdparty:androidx:paging:compose:linkDebugTestIosSimulatorArm64 \
26+
-x :thirdparty:app:cash:sqldelight:paging3:linkDebugTestIosSimulatorArm64
27+

0 commit comments

Comments
 (0)