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

[Core] Release Teacher 3.0.0 #195

Merged
merged 377 commits into from
Sep 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
377 commits
Select commit Hold shift + click to select a range
4e14111
feat: Add iOS Data Store Logic With KeyChain
8954sood Aug 19, 2024
6142cc1
feat: Create Data Store, Koin View
8954sood Aug 19, 2024
b0e7018
refactor: Migration KeyStroe Android Native
8954sood Aug 19, 2024
2c05eea
style: Apply Spotless Format
8954sood Aug 19, 2024
dba521f
Merge pull request #161 from Team-B1ND/feature/160-keystore-ios-logic
8954sood Aug 20, 2024
0553d62
refactor: Multiplatform Plugins
8954sood Aug 21, 2024
f13e862
feat: Create Onboarding Screen To CMM
8954sood Aug 21, 2024
6fc1d5f
style: Apply Spotless Format
8954sood Aug 21, 2024
27d89b9
feat: Create Dodam Teacher Navigation
8954sood Aug 22, 2024
956667e
style: Apply Spotless Format
8954sood Aug 22, 2024
b1c0f41
chore: Set Arrangement Start
8954sood Aug 23, 2024
99d151d
build: Not Need Kotlin Gradle Plguin
8954sood Aug 23, 2024
62529bc
Merge pull request #163 from Team-B1ND/feature/162-onboarding-ios-view
8954sood Aug 23, 2024
1d2340f
build: Login Build Setting
wnsgur1 Aug 28, 2024
336222e
feat: Navigate To Login Screen
wnsgur1 Aug 28, 2024
325177d
build: Dds Version Up
wnsgur1 Aug 28, 2024
8af9dc3
feat: Edit Login Screen
wnsgur1 Aug 28, 2024
99ce043
build: Add Koin Mudules
wnsgur1 Aug 28, 2024
be1a345
feat: Add Login Feature
wnsgur1 Aug 28, 2024
8ab1fab
style: Apply Spotless Format
wnsgur1 Aug 28, 2024
b0a4006
feat: Role Filtering
wnsgur1 Aug 28, 2024
af879a1
style: Apply Spotless Format
wnsgur1 Aug 28, 2024
1551d9c
chore: Edit Package Name
wnsgur1 Aug 28, 2024
15f2457
feat: Create Register Info Screen
8954sood Aug 28, 2024
77dbf5f
feat: Create Body Dialog
wnsgur1 Aug 28, 2024
855171d
feat: Create SupportText
wnsgur1 Aug 28, 2024
111f3a3
style: Apply Spotless Format
wnsgur1 Aug 28, 2024
3e2fe3e
chore: Edit Navigate Route
wnsgur1 Aug 28, 2024
ccaae07
feat: Create Register Auth Feature
8954sood Aug 28, 2024
64d5be4
Merge pull request #166 from Team-B1ND/feature/t-164-create-teacher-l…
wnsgur1 Aug 28, 2024
67a9172
style: Apply Spotless Format
8954sood Aug 28, 2024
92ff288
Merge remote-tracking branch 'origin/develop' into feature/t/165-regi…
8954sood Aug 28, 2024
8c71fa1
refactor: Ui Module Color, TextStyle To DDS v1.0.3
8954sood Aug 29, 2024
9181b84
fix: Not Move Text Field Focus
8954sood Aug 29, 2024
c85014a
style: Apply Spotless Format
8954sood Aug 29, 2024
5959ec6
fix: Ui Module Error
8954sood Aug 29, 2024
f83f86e
style: Apply Spotless Format
8954sood Aug 29, 2024
4f19c2e
fix: Drawable Component Error
8954sood Aug 29, 2024
0356516
fix: Image Bitmap Error
8954sood Aug 30, 2024
1cabc38
chore: Add Bottom Button Padding
8954sood Aug 30, 2024
1d044e0
style: Apply Spotless Format
8954sood Aug 30, 2024
fc4684e
Merge pull request #167 from Team-B1ND/feature/t/165-register
8954sood Aug 30, 2024
f7199f4
ci: Set Teacher, Student Build CI
8954sood Aug 30, 2024
7c7d062
ci: fix invalid string
8954sood Aug 30, 2024
eb4d0fc
ci: test student ci
8954sood Aug 30, 2024
c2ff0bb
ci: Add Core Build CI
8954sood Aug 30, 2024
5e93af3
Merge pull request #169 from Team-B1ND/feature/c/168-make-teacher-ci
8954sood Aug 31, 2024
86838b0
chore: Update Coil, Ktor Version
8954sood Sep 2, 2024
a072699
fix: Create NightStudy Module
wnsgur1 Sep 2, 2024
b8abe04
feat: Create Home Banner Component And Fix Coil
8954sood Sep 3, 2024
5bbc1c4
refactor: Create Multiplatform Coil Plugin
8954sood Sep 3, 2024
62a2782
feat: Add Coil3
wnsgur1 Sep 3, 2024
71cd87b
feat: Create User Item
wnsgur1 Sep 4, 2024
9750268
feat: Create Night Screen
wnsgur1 Sep 4, 2024
a6a218d
feat: Create Waiting Student Card
wnsgur1 Sep 4, 2024
f72cf89
style: Apply Spotless Format
wnsgur1 Sep 4, 2024
0963314
remove: Not Use Function
wnsgur1 Sep 4, 2024
a0697f6
feat: Create Home Meal Card
8954sood Sep 5, 2024
23452a3
chore: Remove Banner Placeholder Image
8954sood Sep 5, 2024
c2b68fb
feat: Create Home Out Card
8954sood Sep 5, 2024
2c54119
feat: Create Home Night Study Card
8954sood Sep 5, 2024
126c71b
feat: Create Common Dodam Date
8954sood Sep 5, 2024
9c346ab
feat: Create Home Scedule Card
8954sood Sep 5, 2024
e5b7b1e
feat: Home Add Bottom Spacer
8954sood Sep 5, 2024
0f68ea0
feat: Meal Connect Remote
8954sood Sep 5, 2024
517c62c
feat: Add Shimmer
8954sood Sep 5, 2024
0656a72
feat: Create Home Banner Remote
8954sood Sep 5, 2024
9ea49d0
feat: Create Night Study Remote
8954sood Sep 5, 2024
1ee40bb
feat: Create Home Outing Remote
8954sood Sep 6, 2024
5267306
refactor: Improved Home Code Readability
8954sood Sep 6, 2024
b6a1eae
feat: Create Home Schedule Remote
8954sood Sep 6, 2024
efc12bf
fix: Ktor Client iOS TLS Error
8954sood Sep 6, 2024
4ddb205
fix: iOS Not Load Schedule
8954sood Sep 6, 2024
f0a08a6
feat: Create Home Pull Refresh
8954sood Sep 6, 2024
08c8727
fix: Home Meal Text Margin
8954sood Sep 6, 2024
f9993d3
refactor: Not Show Loading UI
8954sood Sep 6, 2024
c3efc63
style: Apply Spotless Format
8954sood Sep 6, 2024
b04e69e
feat: If count is zero then Home Inner Button Not Visible
8954sood Sep 7, 2024
921b3d8
Merge pull request #172 from Team-B1ND/feature/t/170-home-feature
8954sood Sep 7, 2024
6e6ccb4
feat: Create Dodam Teacher Bottom Navigation
8954sood Sep 8, 2024
0f70eed
style: Apply Spotless Format
8954sood Sep 8, 2024
596ce8d
chore: PR Title Name mistake
8954sood Sep 8, 2024
effc236
chore: Bottom Navigation Add Horizontal Padding
8954sood Sep 8, 2024
5560ebc
style: Apply Spotless Format
8954sood Sep 8, 2024
903664a
Merge pull request #174 from Team-B1ND/feature/t/173-create-bottom-na…
8954sood Sep 9, 2024
e5ddd6e
feat: Create Token Check Navigation
8954sood Sep 9, 2024
9b96ccc
style: Apply Spotless Format
8954sood Sep 9, 2024
72a52b7
Merge pull request #176 from Team-B1ND/feature/t/175-token-check-navi…
8954sood Sep 9, 2024
5907bb1
feat: Create Night Screen
wnsgur1 Sep 9, 2024
8250cef
chore: Rename Variable
wnsgur1 Sep 9, 2024
52c1de5
chore: Rename Screen
wnsgur1 Sep 9, 2024
0664edf
build: Add NightStudy ViewModel Module
wnsgur1 Sep 9, 2024
e3f0e48
feat: Create NightStudy Navigation
wnsgur1 Sep 9, 2024
35d55a0
feat: Add Koin Module
wnsgur1 Sep 9, 2024
50a1567
chore: Rename NightStudy Route
wnsgur1 Sep 9, 2024
ddb613e
feat: Studying Member
wnsgur1 Sep 9, 2024
99ebb7c
refactor: Android Native Meal Screen To KMM Meal Screen
8954sood Sep 9, 2024
bc96276
feat: Remaining Time
wnsgur1 Sep 9, 2024
c44ea41
feat: Get Studying Member
wnsgur1 Sep 9, 2024
d11eeee
feat: Create Dodam Teacher Meal Navigation
8954sood Sep 9, 2024
3c5b858
style: Apply Spotless Format
8954sood Sep 9, 2024
f2f5b9e
Merge branch 'develop' into feature/t/170-create-nightstudy
wnsgur1 Sep 9, 2024
196a9df
feat: Create Dodam Member
wnsgur1 Sep 9, 2024
33a2618
chore: Edit Icon Size
wnsgur1 Sep 9, 2024
10da691
feat: Add ViewModel Module
wnsgur1 Sep 9, 2024
adca7b3
remove: Overlap Libs
wnsgur1 Sep 9, 2024
5d2d67b
feat: Create Pending Member
wnsgur1 Sep 9, 2024
5a674a1
remove: Dummy Data
wnsgur1 Sep 9, 2024
7d7167a
Merge pull request #179 from Team-B1ND/feature/t/178-teacher-meal-screen
8954sood Sep 9, 2024
820fa18
feat: Create Bottom Sheet
wnsgur1 Sep 10, 2024
948e9fb
feat: Create NightStudy Detail
wnsgur1 Sep 10, 2024
011c677
chore: Edit Padding
wnsgur1 Sep 10, 2024
0b6ead5
feat: Create Allow And Reject
wnsgur1 Sep 10, 2024
046f8fd
remove: Edit Grade
wnsgur1 Sep 10, 2024
039b5c2
chore: Edit Text Padding
wnsgur1 Sep 10, 2024
cd29c47
feat: Create Student Filter
wnsgur1 Sep 10, 2024
6b1050e
feat: Create Search Student
wnsgur1 Sep 10, 2024
61d0035
style: Apply Spotless Format
wnsgur1 Sep 10, 2024
0856fa9
feat: Create Loading
wnsgur1 Sep 10, 2024
aa248a9
style: Apply Spotless Format
wnsgur1 Sep 10, 2024
3b2c3a6
Merge branch 'develop' into feature/t/170-create-nightstudy
wnsgur1 Sep 10, 2024
73e8d6a
remove: Overlap Screen
wnsgur1 Sep 10, 2024
042454a
chore: Add NightStudy Module
wnsgur1 Sep 10, 2024
933d5f8
style: Apply Spotless Format
wnsgur1 Sep 10, 2024
28e2657
chore: Rename Title
wnsgur1 Sep 10, 2024
9a4ec98
feat: Add StatusBar Padding
wnsgur1 Sep 10, 2024
96cbc5d
remove: Coil3 Libs
wnsgur1 Sep 10, 2024
091c901
fix: Navigation Bug
wnsgur1 Sep 10, 2024
876b540
feat: Add Bottom Nav
wnsgur1 Sep 10, 2024
8167479
chore: Edit Text Padding
wnsgur1 Sep 10, 2024
4691360
feat: Add Error Handling
wnsgur1 Sep 10, 2024
66efe65
feat: Use CombineWhenAllComplete
wnsgur1 Sep 10, 2024
3b548d8
style: Apply Spotless Format
wnsgur1 Sep 10, 2024
5789831
feat: Change List Type
wnsgur1 Sep 10, 2024
5dbdbed
build: DDS Version Up
wnsgur1 Sep 11, 2024
8b17e3d
feat: Change Button Color
wnsgur1 Sep 11, 2024
c62ee2f
feat: Down Bottom Sheet
wnsgur1 Sep 11, 2024
1c9e494
feat: Re Load
wnsgur1 Sep 11, 2024
685422f
remove: ","
wnsgur1 Sep 11, 2024
cf80ceb
Merge pull request #181 from Team-B1ND/feature/t/170-create-nightstudy
wnsgur1 Sep 11, 2024
ea743ef
feat: Create Point Select Screen
8954sood Sep 13, 2024
9db669b
feat: Create Drop Shadow Modifier
8954sood Sep 14, 2024
1b1c217
feat: Create Point Give Screen
8954sood Sep 14, 2024
7e624ca
chore: Rename MyInfo to MemberInfo
8954sood Sep 15, 2024
0929fb5
feat: Create Outing Module
wnsgur1 Sep 16, 2024
6a327ab
feat: Outing Screen
wnsgur1 Sep 16, 2024
229a129
feat: Create Outing Navigation
wnsgur1 Sep 16, 2024
00183ad
chore: ReName
wnsgur1 Sep 16, 2024
9fc8206
feat: Create Out ViewModel
wnsgur1 Sep 16, 2024
c102737
feat: Create Pending Box
wnsgur1 Sep 16, 2024
79d514d
feat: Create Member List
wnsgur1 Sep 16, 2024
af2ca87
feat: Create Member Filter
wnsgur1 Sep 16, 2024
40d81c0
feat: Create Remaining Time
wnsgur1 Sep 16, 2024
47cd566
chore: Edit Remaining Time
wnsgur1 Sep 16, 2024
197c3be
feat: Create Give Point Remote Logic
8954sood Sep 16, 2024
374eaf2
chore: Edit View Padding
8954sood Sep 16, 2024
0e19bd6
feat: Create Point SideEffect Handling
8954sood Sep 16, 2024
5776733
fix: iOS KeyChain Not Update Bug
8954sood Sep 16, 2024
71ea2b8
style: Apply Spotless Format
8954sood Sep 16, 2024
faa7ed7
chore: Remove Not Need Premier
8954sood Sep 16, 2024
e26cdac
chore: Get All OutSleeping
wnsgur1 Sep 16, 2024
c382d5f
feat: Create Loading
wnsgur1 Sep 16, 2024
89d8a43
chore: Edit Loading
wnsgur1 Sep 16, 2024
520de23
feat: Create Approve Module
wnsgur1 Sep 16, 2024
1183291
feat: Create Navigation
wnsgur1 Sep 16, 2024
9d929f9
feat: Create Screen
wnsgur1 Sep 16, 2024
6620580
feat: Create View Model
wnsgur1 Sep 16, 2024
c4148d9
remove: Pending Cnt
wnsgur1 Sep 16, 2024
8dbd8b0
feat: Get Pending Member
wnsgur1 Sep 16, 2024
fff7ab2
feat: Create Bottom Sheet
wnsgur1 Sep 16, 2024
96aa9b6
feat: Create Allow Reject
wnsgur1 Sep 16, 2024
8696fb6
feat: Link Navigation
wnsgur1 Sep 16, 2024
0b9396e
chore: Edit Spacer
wnsgur1 Sep 16, 2024
351201b
feat: Set Point Slide Animation
8954sood Sep 16, 2024
83c009d
chore; Set Start Destination To Home
8954sood Sep 16, 2024
27dcf9b
style: Apply Spotless Format
8954sood Sep 16, 2024
70595cf
style: Apply Spotless Format
wnsgur1 Sep 17, 2024
6f8efd0
feat: Edit Bottom Sheet Shape
wnsgur1 Sep 17, 2024
3a78bed
style: Apply Spotless Format
wnsgur1 Sep 17, 2024
f8f9946
Merge pull request #185 from Team-B1ND/feature/t/182-point-feature
8954sood Sep 17, 2024
0e0cb3e
Merge branch 'develop' into feature/t/184-create-out-feature
wnsgur1 Sep 17, 2024
6c55c66
style: Apply Spotless Format
wnsgur1 Sep 17, 2024
b6fd682
fix: Conflict
wnsgur1 Sep 17, 2024
da1707a
style: Apply Spotless Format
wnsgur1 Sep 17, 2024
0ca6cee
feat: Navigate Block
wnsgur1 Sep 17, 2024
3a7739f
remove: Overlap Implementation
wnsgur1 Sep 17, 2024
4b3d656
feat: Edit Member Filter
wnsgur1 Sep 17, 2024
7a9caa6
feat: Add Bottom Padding
wnsgur1 Sep 17, 2024
37d2f13
chore: ReName Package
wnsgur1 Sep 17, 2024
1f6a31a
fix: Etc
wnsgur1 Sep 17, 2024
675c7fe
chore: Edit Package Name
wnsgur1 Sep 17, 2024
f702047
style: Apply Spotless Format
wnsgur1 Sep 17, 2024
5cb86d5
feat: Function Integration
wnsgur1 Sep 17, 2024
1820325
style: Apply Spotless Format
wnsgur1 Sep 17, 2024
e86b696
chore: Edit Package
wnsgur1 Sep 17, 2024
1ff52aa
remove: Function
wnsgur1 Sep 17, 2024
93266df
feat: List Padding
wnsgur1 Sep 17, 2024
5dd633f
chore: Edit Navigate
wnsgur1 Sep 17, 2024
3643d8d
chore: Edit Time Filter
wnsgur1 Sep 17, 2024
0a47af6
style: Apply Spotless Format
wnsgur1 Sep 17, 2024
a20b1a6
feat: Create All Screen
8954sood Sep 18, 2024
70239f5
feat: Connect Navigation And Edit Padding
8954sood Sep 18, 2024
d66a23a
feat: Create All Remote Feature
8954sood Sep 19, 2024
6f5f830
style: Apply Spotless Format
8954sood Sep 19, 2024
69260cb
chore: Add Text User Name
8954sood Sep 19, 2024
23cf93d
Merge pull request #188 from Team-B1ND/feature/t/186-create-all-feature
8954sood Sep 19, 2024
574645d
feat: Create Navigate Size Padding
wnsgur1 Sep 19, 2024
d040491
chore: Edit Time Text Color
wnsgur1 Sep 19, 2024
9e93341
chore: Edit Bottom Padding
wnsgur1 Sep 19, 2024
ec6e81f
style: Apply Spotless Format
wnsgur1 Sep 19, 2024
c1ed804
Merge branch 'develop' into feature/t/184-create-out-feature
wnsgur1 Sep 19, 2024
0cddc05
fix: Conflict
wnsgur1 Sep 19, 2024
c9cfe32
style: Apply Spotless Format
wnsgur1 Sep 19, 2024
fbca816
Merge pull request #186 from Team-B1ND/feature/t/184-create-out-feature
wnsgur1 Sep 19, 2024
b1caa6f
refactor: Setting Screen to KMM
8954sood Sep 19, 2024
7e7eb1f
feat: Connect Setting Navigation
8954sood Sep 19, 2024
6c4ab1a
style: Apply Spotless Format
8954sood Sep 19, 2024
848e301
feat: Create Approve NightStudy Module
wnsgur1 Sep 19, 2024
2d5b693
feat: Create Approve NightStudy Screen
wnsgur1 Sep 19, 2024
7e70c09
feat: Create Approve NightStudy Navigation
wnsgur1 Sep 19, 2024
a04e9a3
feat: Create ViewModel
wnsgur1 Sep 19, 2024
64ce94f
feat: Load Pending Member
wnsgur1 Sep 19, 2024
e942767
feat: Create Allow And Reject
wnsgur1 Sep 19, 2024
31a6525
feat: Change Click Image
wnsgur1 Sep 19, 2024
865ff16
feat: Function Integration
wnsgur1 Sep 19, 2024
2521633
feat: Edit NightStudy Screen
wnsgur1 Sep 19, 2024
b98a993
feat: Link Approve Navigation
wnsgur1 Sep 19, 2024
f2f4883
chore: Change Default Route
wnsgur1 Sep 19, 2024
f459c30
feat: Navigate Home To Approve
wnsgur1 Sep 19, 2024
1b56b02
feat: Get All Out Sleevers
wnsgur1 Sep 19, 2024
2863bb3
feat: Create Title Index Navigation
wnsgur1 Sep 19, 2024
d88526b
style: Apply Spotless Format
wnsgur1 Sep 19, 2024
b54817c
Merge pull request #191 from Team-B1ND/feature/189-setting-screen-to-kmm
8954sood Sep 19, 2024
c7ab3b6
feat: Link All Screen Navigation
wnsgur1 Sep 19, 2024
746a511
Merge branch 'develop' into feature/t/190-create-approve-nightstudy
wnsgur1 Sep 19, 2024
06a0734
chore: Add ","
wnsgur1 Sep 19, 2024
3ece56f
feat: Change Method Type
wnsgur1 Sep 19, 2024
6a11d4c
remove: "{ }"
wnsgur1 Sep 19, 2024
202bbf4
remove: "{ }"
wnsgur1 Sep 19, 2024
41c503e
remove: Network Core
wnsgur1 Sep 19, 2024
384a226
style: Apply Spotless Format
wnsgur1 Sep 19, 2024
91d353f
Merge pull request #192 from Team-B1ND/feature/t/190-create-approve-n…
wnsgur1 Sep 19, 2024
506ea05
fix: not implementation datetime
8954sood Sep 20, 2024
13702a2
fix: Not Change Out Approve State
8954sood Sep 20, 2024
e6e27c0
fix: Not Change Night Study Approve State
8954sood Sep 20, 2024
9ed0108
feat: Add Android App Logo And Change Name
8954sood Sep 20, 2024
5b077d1
feat: Set iOS App Logo
8954sood Sep 20, 2024
6b099a8
chore: Disabled Home Bell Icon
8954sood Sep 20, 2024
ae34304
style: Apply Spotless Format
8954sood Sep 20, 2024
a867a5f
chore: Edit Version Name
8954sood Sep 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 28 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
name: Android CI

on:
push:
branches: [ "develop", "main" ]
pull_request:
branches: [ "develop", "main" ]

jobs:
build:

env:
TITLE: ${{ github.event.pull_request.title }}
runs-on: ubuntu-latest

steps:
Expand All @@ -23,8 +22,31 @@ jobs:
- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run spotless
- name: Run Student spotless
if: startsWith(env.TITLE, '[Student]')
run: ./gradlew dodam-student:spotlessCheck

- name: Build with Gradle
run: ./gradlew dodam-student:clean build --parallel
- name: Android Student Build with Gradle
if: startsWith(env.TITLE, '[Student]')
run: ./gradlew dodam-student:clean assembleRelease --parallel

- name: Run Teacher spotless
if: startsWith(env.TITLE, '[Teacher]')
run: ./gradlew dodam-teacher-android:spotlessCheck

- name: Android Teacher Build with Gradle
if: startsWith(env.TITLE, '[Teacher]')
run: ./gradlew dodam-teacher-android:clean assembleRelease --parallel

- name: Android Core Build with Gradle
if: startsWith(env.TITLE, '[Core]')
run: ./gradlew spotlessCheck

- name: Android Core Build with Gradle
if: startsWith(env.TITLE, '[Core]')
run: |
./gradlew dodam-teacher-android:clean assembleRelease --parallel
./gradlew dodam-student:assembleRelease --parallel



113 changes: 112 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -221,4 +221,115 @@ fabric.properties

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.toptal.com/developers/gitignore/api/android,androidstudio,kotlin,macos
# End of https://www.toptal.com/developers/gitignore/api/android,androidstudio,kotlin,macos

## KMM
.kotlin

### Swift ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings
xcuserdata/

## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout

## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
build/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3

## Obj-C/Swift specific
*.hmap

## App packaging
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
# *.xcodeproj
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
# .swiftpm

.build/

# CocoaPods
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
# Pods/
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace

# Carthage
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build/

# Accio dependency management
Dependencies/
.accio/

# fastlane
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output

# Code Injection
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode

iOSInjectionProject/

### SwiftPM ###
Packages
xcuserdata
*.xcodeproj


### Xcode ###

## Xcode 8 and earlier

### Xcode Patch ###
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcodeproj/project.xcworkspace/
!*.xcworkspace/contents.xcworkspacedata
/*.gcno
**/xcshareddata/WorkspaceSettings.xcsettings

# End of https://www.toptal.com/developers/gitignore/api/macos,xcode,swift,swiftpm

*.xcodeproj
*.xcworkspace
15 changes: 15 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// swift-tools-version: 5.7
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
name: "Keystore",
platforms: [.iOS(.v14)],
products: [
.library(
name: "Keystore",
targets: ["Keystore"]
)
]
)
44 changes: 38 additions & 6 deletions build-logic/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ gradlePlugin {
id = "b1nd.dodam.primitive.android.compose"
implementationClass = "com.b1nd.dodam.primitive.AndroidComposePlugin"
}
register("androidHilt") {
id = "b1nd.dodam.primitive.android.hilt"
implementationClass = "com.b1nd.dodam.primitive.AndroidHiltPlugin"
register("koin") {
id = "b1nd.dodam.primitive.koin"
implementationClass = "com.b1nd.dodam.primitive.KoinPlugin"
}
register("hilt") {
id = "b1nd.dodam.primitive.hilt"
implementationClass = "com.b1nd.dodam.primitive.HiltPlugin"
register("androidKoin") {
id = "b1nd.dodam.primitive.android.koin"
implementationClass = "com.b1nd.dodam.primitive.AndroidKoinPlugin"
}
register("androidKotlin") {
id = "b1nd.dodam.primitive.android.kotlin"
Expand All @@ -56,6 +56,34 @@ gradlePlugin {
id = "b1nd.dodam.primitive.kotlin.serialization"
implementationClass = "com.b1nd.dodam.primitive.KotlinSerializationPlugin"
}
register("multiplatform") {
id = "b1nd.dodam.primitive.multiplatform"
implementationClass = "com.b1nd.dodam.primitive.MultiplatformPlugin"
}
register("multiplatformKotlin") {
id = "b1nd.dodam.primitive.multiplatform.kotlin"
implementationClass = "com.b1nd.dodam.primitive.MultiplatformKotlinPlugin"
}
register("multiplatformKotlinSerialization") {
id = "b1nd.dodam.primitive.multiplatform.kotlin.serialization"
implementationClass = "com.b1nd.dodam.primitive.MultiplatformKotlinSerializationPlugin"
}
register("multiplatformKoinPlugin") {
id = "b1nd.dodam.primitive.multiplatform.koin"
implementationClass = "com.b1nd.dodam.primitive.MultiplatformKoinPlugin"
}
register("multiplatformComposePlugin") {
id = "b1nd.dodam.primitive.multiplatform.compose"
implementationClass = "com.b1nd.dodam.primitive.MultiplatformComposePlugin"
}
register("multiplatformApplicationPlugin") {
id = "b1nd.dodam.primitive.multiplatform.application"
implementationClass = "com.b1nd.dodam.primitive.MultiplatformApplicationPlugin"
}
register("multiplatformCoilPlugin") {
id = "b1nd.dodam.primitive.multiplatform.coil"
implementationClass = "com.b1nd.dodam.primitive.MultiplatformCoilPlugin"
}
// convention
register("androidFeature") {
id = "b1nd.dodam.convention.android.feature"
Expand All @@ -65,5 +93,9 @@ gradlePlugin {
id = "b1nd.dodam.convention.kotlin"
implementationClass = "com.b1nd.dodam.convention.PureKotlinPlugin"
}
register("multiplatformFeature") {
id = "b1nd.dodam.convention.multiplatform.feature"
implementationClass = "com.b1nd.dodam.convention.MultiplatformFeaturePlugin"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ class AndroidFeaturePlugin : Plugin<Project> {
apply("b1nd.dodam.primitive.android")
apply("b1nd.dodam.primitive.android.kotlin")
apply("b1nd.dodam.primitive.android.compose")
apply("b1nd.dodam.primitive.android.hilt")
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.b1nd.dodam.convention

import org.gradle.api.Plugin
import org.gradle.api.Project

class MultiplatformFeaturePlugin : Plugin<Project> {
override fun apply(target: Project) {
with(target) {
with(pluginManager) {
apply("b1nd.dodam.primitive.multiplatform")
apply("b1nd.dodam.primitive.multiplatform.compose")
apply("b1nd.dodam.primitive.multiplatform.kotlin")
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package com.b1nd.dodam.dsl

import com.android.build.gradle.TestedExtension
import org.gradle.api.Project
import org.gradle.api.artifacts.MinimalExternalModuleDependency
import org.gradle.api.plugins.ExtensionAware
import org.gradle.kotlin.dsl.DependencyHandlerScope
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.gradle.kotlin.dsl.configure
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension

fun TestedExtension.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
(this as ExtensionAware).extensions.configure("kotlinOptions", block)

fun Project.androidKotlin(block: KotlinAndroidProjectExtension.() -> Unit) {
extensions.configure<KotlinAndroidProjectExtension>(block)
}

fun DependencyHandlerScope.ksp(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package com.b1nd.dodam.dsl

import org.gradle.api.JavaVersion
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget

fun Project.kotlin(block: KotlinMultiplatformExtension.() -> Unit) {
extensions.configure<KotlinMultiplatformExtension>(block)
}

@OptIn(ExperimentalKotlinGradlePluginApi::class)
fun Project.setupMultiplatform() {
kotlin {
// Task testClasses not found problem solve
task("testClasses")
androidTarget {
@OptIn(ExperimentalKotlinGradlePluginApi::class)
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
}
}
// remove compiler warring
sourceSets.commonMain {
compilerOptions {
freeCompilerArgs.add("-Xexpect-actual-classes")
}
}
}

android {
namespace?.let {
this.namespace = it
}
compileSdkVersion(34)

defaultConfig {
minSdk = 28
targetSdk = 34
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
}

fun KotlinMultiplatformExtension.setIOS(
name: String,
bundleId: String? = null,
block: KotlinNativeTarget.() -> Unit = {}
) {
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = name
isStatic = true
if (bundleId != null) {
binaryOptions["bundleId"] = bundleId
}
}
iosTarget.run(block)
}
}
Loading
Loading