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

Compose Multiplatform- build for iOS Target #358

Closed
wants to merge 67 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
04e99d5
Add iOS App module
ksharma-xyz Nov 13, 2024
19ce3e4
Add ktor and compose multiplatform lib
ksharma-xyz Nov 13, 2024
7fe459c
Move build logic to gradle dir
ksharma-xyz Nov 13, 2024
10aa333
Remove detekt, firebase
ksharma-xyz Nov 14, 2024
66ea60a
Update settings.gradle.kts
ksharma-xyz Nov 14, 2024
ad26184
Add androidMain
ksharma-xyz Nov 14, 2024
f9482fb
Add commonmain
ksharma-xyz Nov 14, 2024
234a34b
Add iosApp
ksharma-xyz Nov 14, 2024
07dfda6
trying to build by adding dependencies
ksharma-xyz Nov 14, 2024
a56eff6
Add configureAndroid
ksharma-xyz Nov 15, 2024
a7bc306
Add ComposeMultiplatformConventionPlugin
ksharma-xyz Nov 15, 2024
f047ab8
Register plugin
ksharma-xyz Nov 15, 2024
d42e6c1
Android App Builds Yay!
ksharma-xyz Nov 15, 2024
b9c9447
Use design-system in :android-app
ksharma-xyz Nov 15, 2024
5658372
iOS / Common
ksharma-xyz Nov 15, 2024
7569b83
Add design system to :commonMain
ksharma-xyz Nov 15, 2024
564bc98
Add design system module taj
ksharma-xyz Nov 16, 2024
729b427
Add kotlin-inject lib to module :core:di
ksharma-xyz Nov 16, 2024
c25691e
Use kotlin-inject instead of hilt
ksharma-xyz Nov 16, 2024
7b5c8b2
Make date-time module multiplatform
ksharma-xyz Nov 16, 2024
560f7dd
Make :core:coroutines-ext module multiplatform
ksharma-xyz Nov 16, 2024
9f86216
Make :Core:network multiplatform and use ktor
ksharma-xyz Nov 16, 2024
48847cb
Ktor sample
ksharma-xyz Nov 16, 2024
8057c5a
Make tripplanner:ui Multiplatform
ksharma-xyz Nov 16, 2024
cf2e56a
Make trip-planner:state multiplatform
ksharma-xyz Nov 16, 2024
ee4c6e7
update trip-planner:ui - multiplatform
ksharma-xyz Nov 16, 2024
b69193e
update ui, -icons / resources
ksharma-xyz Nov 17, 2024
bfddce0
Create SavedTripsViewModelFactory
ksharma-xyz Nov 17, 2024
c85e381
Make :state multiplatform
ksharma-xyz Nov 17, 2024
1ba4c28
Make searchstop multiplatform
ksharma-xyz Nov 17, 2024
3ccd0dd
Make timetable multiplatform
ksharma-xyz Nov 17, 2024
8df008d
Make usualride multiplatform
ksharma-xyz Nov 17, 2024
bdd9086
Make :network api and real multiplatform
ksharma-xyz Nov 17, 2024
cbc3ea4
Make sandook multiplatform
ksharma-xyz Nov 17, 2024
4fd01f5
Using RealSandook directly -temp
ksharma-xyz Nov 17, 2024
eef2929
Update TitleBar - rebase main
ksharma-xyz Nov 18, 2024
8e83e5e
Add HttpClient and TripRequest
ksharma-xyz Nov 18, 2024
540e456
Ktor works
ksharma-xyz Nov 19, 2024
ac5e489
update SavedTripsViewModel
ksharma-xyz Nov 19, 2024
a1e1bae
Update TimeTableViewModel
ksharma-xyz Nov 19, 2024
3846d63
update UsualRideViewModel
ksharma-xyz Nov 19, 2024
e9fdca2
Add KrailNavHost / Splash Screen
ksharma-xyz Nov 19, 2024
6048b3a
Remove duplicate DateTimeHelper
ksharma-xyz Nov 19, 2024
4255ec9
Fixing compilation errors
ksharma-xyz Nov 19, 2024
fa99031
DateTime issues
ksharma-xyz Nov 19, 2024
8a64088
Fix: KMP does not support enum nav type
ksharma-xyz Nov 19, 2024
c4c3531
ViewModel - https://www.jetbrains.com/help/kotlin-multiplatform-dev/c…
ksharma-xyz Nov 19, 2024
c2ca76d
Copy text change
ksharma-xyz Nov 19, 2024
8115b34
Fix icons
ksharma-xyz Nov 20, 2024
c6edcba
Debug saved trips error
ksharma-xyz Nov 20, 2024
e118838
DI : Failed attempt - kotlin-inject
ksharma-xyz Nov 20, 2024
8afe9cb
DI: Koin to rescue
ksharma-xyz Nov 21, 2024
34cf3ca
DI - Providing separate HttpEngine for android / iOS as when using ko…
ksharma-xyz Nov 21, 2024
23c5b7f
DB: Integrate SQLDelight
ksharma-xyz Nov 21, 2024
d77838c
Creating Sandook using SqlDelight
ksharma-xyz Nov 22, 2024
12eb226
Koin- android context can be provided once android-app is inside comp…
ksharma-xyz Nov 22, 2024
9185f4f
kotlin-inject take 2
ksharma-xyz Nov 22, 2024
c999af5
HttpClient Injection works
ksharma-xyz Nov 22, 2024
207999e
FAIL: kotlin-inject DI
ksharma-xyz Nov 22, 2024
7f7a154
DI - Koin Try again
ksharma-xyz Nov 23, 2024
ef4b686
Add linker flag for -lsqlite3
ksharma-xyz Nov 23, 2024
5c638c8
Update ios app icon
ksharma-xyz Nov 23, 2024
c9c8155
Clean up not required dependencies
ksharma-xyz Nov 23, 2024
26eb9f1
Clean up kotlin-inject lib
ksharma-xyz Nov 23, 2024
246677b
Update CI for Krail
ksharma-xyz Nov 23, 2024
4ec5498
CI: Add iOS Build
ksharma-xyz Nov 23, 2024
17dd897
Update CI
ksharma-xyz Nov 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Krail App CI

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
android:
runs-on: ubuntu-latest
environment: Firebase
timeout-minutes: 60

steps:
- uses: actions/checkout@v4
- name: Setup environment variables
run: |
echo "NSW_TRANSPORT_API_KEY=${{ secrets.NSW_TRANSPORT_API_KEY }}" >> $GITHUB_ENV

- name: set up JDK
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 21

- name: Cache Gradle and wrapper
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Make Gradle executable
run: chmod +x ./gradlew

- name: Firebase (Release) - Google Services.json file
env:
DATA: ${{ secrets.FIREBASE_GOOGLE_SERVICES_JSON_RELEASE }}
run: echo $DATA | base64 -di > composeApp/src/androidMain/google-services.json

- name: Firebase (Debug) - Google Services.json file
env:
DATA: ${{ secrets.FIREBASE_GOOGLE_SERVICES_JSON_DEBUG }}
run: echo $DATA | base64 -di > composeApp/src/androidDebug/google-services.json

# - name: Detekt Checks
# run: ./gradlew detekt

- name: Build Debug
env:
NSW_TRANSPORT_API_KEY: ${{ secrets.NSW_TRANSPORT_API_KEY }}
run: ./gradlew :composeApp:assembleDebug test

- name: Build Release
env:
NSW_TRANSPORT_API_KEY: ${{ secrets.NSW_TRANSPORT_API_KEY }}
run: ./gradlew :composeApp:assembleRelease test

iOS:
runs-on: macos-14
environment: Firebase
timeout-minutes: 60

steps:
- uses: actions/checkout@v4
- name: Setup environment variables
run: |
echo "NSW_TRANSPORT_API_KEY=${{ secrets.NSW_TRANSPORT_API_KEY }}" >> $GITHUB_ENV

- name: Checkout code
uses: actions/checkout@v4

- name: set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21

- uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- run: brew install swiftlint

- uses: gradle/actions/setup-gradle@v4
with:
cache-disabled: true

- name: Build iOS App - Debug (Without Code Signing)
env:
NSW_TRANSPORT_API_KEY: ${{ secrets.NSW_TRANSPORT_API_KEY }}
run: |
xcodebuild -project iosApp/iosApp.xcodeproj \
-scheme iosApp \
-configuration Debug \
OBJROOT=$GITHUB_WORKSPACE/build/ios \
SYMROOT=$GITHUB_WORKSPACE/build/ios \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO \
-destination 'platform=iOS Simulator,name=iPhone 12,OS=latest'
57 changes: 0 additions & 57 deletions .github/workflows/ci.yml

This file was deleted.

54 changes: 0 additions & 54 deletions .github/workflows/firebase-app-distribution.yml

This file was deleted.

1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.3.4
1 change: 1 addition & 0 deletions .xcode-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
15.3
83 changes: 0 additions & 83 deletions app/build.gradle.kts

This file was deleted.

Binary file removed app/src/.DS_Store
Binary file not shown.
2 changes: 0 additions & 2 deletions app/src/debug/.gitkeep

This file was deleted.

9 changes: 0 additions & 9 deletions app/src/debug/res/drawable/ic_launcher_foreground.xml

This file was deleted.

9 changes: 0 additions & 9 deletions app/src/main/kotlin/xyz/ksharma/krail/KrailApp.kt

This file was deleted.

16 changes: 0 additions & 16 deletions app/src/main/kotlin/xyz/ksharma/krail/KrailApplication.kt

This file was deleted.

22 changes: 0 additions & 22 deletions app/src/main/kotlin/xyz/ksharma/krail/MainActivity.kt

This file was deleted.

11 changes: 0 additions & 11 deletions app/src/main/res/drawable/ic_launcher_background.xml

This file was deleted.

6 changes: 0 additions & 6 deletions app/src/main/res/values/themes.xml

This file was deleted.

Loading
Loading