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

🤖🍏 Enable Alkaa to be multiplatform #531

Merged
merged 119 commits into from
Sep 1, 2023
Merged

Commits on Aug 2, 2023

  1. 🚚 Create new KMM shared module and move the Domain logic there

    A new `shared` module was create to hold all the shared logic between
    the different mobile platforms. Future changes will make the `shared`
    module the new `domain` if possible.
    
    Since the `:domain` module is already Kotlin-only, the code was simply
    moved and works!
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    4caf5ec View commit details
    Browse the repository at this point in the history
  2. ♻️ Replace all the references from domain to shared

    Moved the dependencies from the Kotlin-only to the Kotlin Multiplatform
    Mobile one
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    93125f0 View commit details
    Browse the repository at this point in the history
  3. 🚧Update the repository to be an Android module

    For some reason, Kotlin-only modules do not find the KMM modules. This
    module was temporarily converted to Android to make the code work. In
    the future, this module will also be a KMM one.
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    811e14b View commit details
    Browse the repository at this point in the history
  4. 🚚 Rename the shared to domain

    Small back-and-forth to convert the `shared` to the old `domain`. Now
    that everything is set, the module was updated to the original name.
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    49e5392 View commit details
    Browse the repository at this point in the history
  5. ✅ Bring the domain unit tests back

    Oopsy, I removed the tests when moving the class between the modules.
    The classes are now back and removed the junit dependencies since it
    doesn't work well with KMM.
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    8644d68 View commit details
    Browse the repository at this point in the history
  6. 🔥 Remove Java/Android-only libraries from Domain

    Removing Java's Calendar and adapting the logging tool to its
    multiplatform version. Some work was needed for the convertions since
    the Android layers will keep using Calendar for now. Future commits will
    address the TODOs and make it more clear.
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    032e406 View commit details
    Browse the repository at this point in the history
  7. ♻️ Fix use cases

    Fix the logging system in the remaining use cases and also some oopsies
    along the way.
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    4a7d7a6 View commit details
    Browse the repository at this point in the history
  8. ✅ Fix the unit tests

    All the domain tests are working fine again all the Calendar/DateTime
    migration
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    4184653 View commit details
    Browse the repository at this point in the history
  9. 🚨 Fix lint

    A few lint complaints
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    a238b51 View commit details
    Browse the repository at this point in the history
  10. ✅ Fix the instrumented tests

    Instrumented tests fixed
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    76aee51 View commit details
    Browse the repository at this point in the history
  11. 🚚 Rename the iOS module to "domain"

    When renaming the module from "shared" to "domain", one property was
    missed. Updated!
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    0a59dce View commit details
    Browse the repository at this point in the history
  12. 👷‍ Enable Linters on Domain Module

    When migrating to KMM, the checkers were removed from the Gradle script.
    The quality plugin was re-added and the lint fixes updated.
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    8c0e09a View commit details
    Browse the repository at this point in the history
  13. 🔥 Remove .gitkeep file from kotlin directory

    Now that everything is set on the correct KMM directory, no need to keep
    this folder anymore.
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    8060228 View commit details
    Browse the repository at this point in the history
  14. 🚚 Rename all the unit tests to remove spaces

    When running the Android Test task, KMP requires the minimum SDK to 30
    to allow space in the test names. Another solution is to remove the
    spaces and use simple names. The following regex was used to make the
    job easier:
    
    \s+(?=(?:(?:[^`]*`){2})*[^`]*`[^`]*$)
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    fd4e8ae View commit details
    Browse the repository at this point in the history
  15. 🔨 Change the emulator from API 24 to 27

    The Instant API requires min SDK 26, so we can't use the emulator on 24
    anymore
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    f30f162 View commit details
    Browse the repository at this point in the history
  16. ♻️ Centralize all versions in the Version Catalog file

    Previously, some versions were inside the Version Catalog TOML and
    others were in the AlkaaVersions file. Since the versioning and
    compiling will be even more important now that we will compile with KMP,
    all the versions are centralized in a single place.
    
    Also, the VersionCatalogExtensions was broken in several classes to make
    it easier to understand. They are: Bundles, Libraries and Versions.
    igorescodro committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    9a9034b View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2023

  1. Merge pull request #521 from igorescodro/amm/domain

    Convert the Domain module to a KMP module
    igorescodro authored Aug 3, 2023
    Configuration menu
    Copy the full SHA
    2c8cffc View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2023

  1. 🚚 Organize the domain folders

    During the file moving, instead of creating "com/escodro/domain", I
    created "com.escodro/domain". Now everything is fine again.
    igorescodro committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    f7669b9 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #532 from igorescodro/amp/folder

    🚚 Organize the domain folders
    igorescodro authored Aug 4, 2023
    Configuration menu
    Copy the full SHA
    809f487 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2023

  1. ♻️ Update the Repository module to KMP

    The Repository module was migrated from Android/Kotlin-only module to
    KMP. For now, we are not caring too much about ProGuard, so the files
    were removed.
    igorescodro committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    0f8cfb5 View commit details
    Browse the repository at this point in the history
  2. 🚚 Move files from "java" to "kotlin" directory

    For consistency, the class directory was named to "kotlin"
    igorescodro committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    d5ff698 View commit details
    Browse the repository at this point in the history
  3. ♻️ Update the Local repository to use LocalDateTime

    Since one more layer was converted from java.Calendar to
    kotlinx.DateTime, now the local layer will be responsible for the
    mapping.
    igorescodro committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    4866d7c View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2023

  1. 🔥 Remove Room from the local module

    Room was removed to make space for the new-shiny-multiplatform
    SQLDelight.
    igorescodro committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    157edeb View commit details
    Browse the repository at this point in the history
  2. ➕ Integrate SQLDelight

    Replacing Room with SQLDelight was _delightful_.
    igorescodro committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    5c7f9f0 View commit details
    Browse the repository at this point in the history
  3. ✅ Update unit tests

    A single unit test was updated
    igorescodro committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    e775835 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2023

  1. 🚚 Move the files from main/java to commonMain/kotlin

    Following the KMP module structure, the files were moved accordingly.
    Also some minor import changes required regarding the Dispatchers.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    4258132 View commit details
    Browse the repository at this point in the history
  2. ♻️ Setup module as KMP

    One more module receives the power of KMP! ⚡️
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    d6d7a30 View commit details
    Browse the repository at this point in the history
  3. ✨ Create new Coroutines module library

    Previously, all the common coroutine library code was inside
    `:libraries:core`. However, since this module contains a lot of Android
    code (this module is practically a utils...), it didn't compile with
    KMP. A new `libraries:coroutines` KMP module was created only to hold
    this logic.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    0a2819d View commit details
    Browse the repository at this point in the history
  4. ✨ Create platform-specific SQLDelight setup

    Using Koin and `expect class`, the code inside `commonMain` is
    platform-agnostic. Now, every module implements its own platform driver.
    For now, the prepopulation will only be executed in Android platform.
    When the time comes, we refactor the code to also make it agnostic.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    2687a61 View commit details
    Browse the repository at this point in the history
  5. ✅ Update tests

    Tests updated to work properly after all the module changes
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    e48f792 View commit details
    Browse the repository at this point in the history
  6. 🚚 Create new KMM shared module and move the Domain logic there

    A new `shared` module was create to hold all the shared logic between
    the different mobile platforms. Future changes will make the `shared`
    module the new `domain` if possible.
    
    Since the `:domain` module is already Kotlin-only, the code was simply
    moved and works!
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    bc73529 View commit details
    Browse the repository at this point in the history
  7. ♻️ Replace all the references from domain to shared

    Moved the dependencies from the Kotlin-only to the Kotlin Multiplatform
    Mobile one
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    bcebc06 View commit details
    Browse the repository at this point in the history
  8. 🚧Update the repository to be an Android module

    For some reason, Kotlin-only modules do not find the KMM modules. This
    module was temporarily converted to Android to make the code work. In
    the future, this module will also be a KMM one.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    200737e View commit details
    Browse the repository at this point in the history
  9. 🚚 Rename the shared to domain

    Small back-and-forth to convert the `shared` to the old `domain`. Now
    that everything is set, the module was updated to the original name.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    b6b6d5a View commit details
    Browse the repository at this point in the history
  10. ✅ Bring the domain unit tests back

    Oopsy, I removed the tests when moving the class between the modules.
    The classes are now back and removed the junit dependencies since it
    doesn't work well with KMM.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ba0af62 View commit details
    Browse the repository at this point in the history
  11. 🔥 Remove Java/Android-only libraries from Domain

    Removing Java's Calendar and adapting the logging tool to its
    multiplatform version. Some work was needed for the convertions since
    the Android layers will keep using Calendar for now. Future commits will
    address the TODOs and make it more clear.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    86fda4e View commit details
    Browse the repository at this point in the history
  12. ♻️ Fix use cases

    Fix the logging system in the remaining use cases and also some oopsies
    along the way.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    48a76d0 View commit details
    Browse the repository at this point in the history
  13. ✅ Fix the unit tests

    All the domain tests are working fine again all the Calendar/DateTime
    migration
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    710a092 View commit details
    Browse the repository at this point in the history
  14. 🚨 Fix lint

    A few lint complaints
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    267a344 View commit details
    Browse the repository at this point in the history
  15. ✅ Fix the instrumented tests

    Instrumented tests fixed
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    7d94b89 View commit details
    Browse the repository at this point in the history
  16. 🚚 Rename the iOS module to "domain"

    When renaming the module from "shared" to "domain", one property was
    missed. Updated!
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    83d02d8 View commit details
    Browse the repository at this point in the history
  17. 👷‍ Enable Linters on Domain Module

    When migrating to KMM, the checkers were removed from the Gradle script.
    The quality plugin was re-added and the lint fixes updated.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    150d9d1 View commit details
    Browse the repository at this point in the history
  18. 🔥 Remove .gitkeep file from kotlin directory

    Now that everything is set on the correct KMM directory, no need to keep
    this folder anymore.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    8132d68 View commit details
    Browse the repository at this point in the history
  19. 🚚 Rename all the unit tests to remove spaces

    When running the Android Test task, KMP requires the minimum SDK to 30
    to allow space in the test names. Another solution is to remove the
    spaces and use simple names. The following regex was used to make the
    job easier:
    
    \s+(?=(?:(?:[^`]*`){2})*[^`]*`[^`]*$)
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    2f84682 View commit details
    Browse the repository at this point in the history
  20. 🔨 Change the emulator from API 24 to 27

    The Instant API requires min SDK 26, so we can't use the emulator on 24
    anymore
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    6039f9c View commit details
    Browse the repository at this point in the history
  21. ♻️ Centralize all versions in the Version Catalog file

    Previously, some versions were inside the Version Catalog TOML and
    others were in the AlkaaVersions file. Since the versioning and
    compiling will be even more important now that we will compile with KMP,
    all the versions are centralized in a single place.
    
    Also, the VersionCatalogExtensions was broken in several classes to make
    it easier to understand. They are: Bundles, Libraries and Versions.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    095a91f View commit details
    Browse the repository at this point in the history
  22. 🚚 Organize the domain folders

    During the file moving, instead of creating "com/escodro/domain", I
    created "com.escodro/domain". Now everything is fine again.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    663fc13 View commit details
    Browse the repository at this point in the history
  23. ♻️ Update the Repository module to KMP

    The Repository module was migrated from Android/Kotlin-only module to
    KMP. For now, we are not caring too much about ProGuard, so the files
    were removed.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    d4a4428 View commit details
    Browse the repository at this point in the history
  24. 🚚 Move files from "java" to "kotlin" directory

    For consistency, the class directory was named to "kotlin"
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    5d6aabf View commit details
    Browse the repository at this point in the history
  25. ♻️ Update the Local repository to use LocalDateTime

    Since one more layer was converted from java.Calendar to
    kotlinx.DateTime, now the local layer will be responsible for the
    mapping.
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    b148ae6 View commit details
    Browse the repository at this point in the history
  26. 🔀 Merge remote-tracking branch 'origin/alkaa-multiplatform' into amp/…

    …local
    
    # Conflicts:
    #	data/local/build.gradle.kts
    #	data/local/src/main/java/com/escodro/local/mapper/TaskMapper.kt
    #	features/task/src/main/java/com/escodro/task/presentation/detail/alarm/TaskAlarmViewModel.kt
    #	features/task/src/test/java/com/escodro/task/presentation/detail/TaskAlarmViewModelTest.kt
    #	gradle/libs.versions.toml
    #	plugins/src/main/java/extension/CommonExtension.kt
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    6081ea1 View commit details
    Browse the repository at this point in the history
  27. 🧐 Minor code changes after code review

    Quick self code review there
    igorescodro committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    2f94602 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. ✅ Update instrumented tests

    Instrumented tests updated to work properly after all the module changes
    igorescodro committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    5d52bb0 View commit details
    Browse the repository at this point in the history
  2. ✅ Fix more tests

    KMP doesn't support space in names in the minimum Android SDK.
    Minor notification test failures fixed.
    igorescodro committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    4a443b7 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. 🚚 Create new KMM shared module and move the Domain logic there

    A new `shared` module was create to hold all the shared logic between
    the different mobile platforms. Future changes will make the `shared`
    module the new `domain` if possible.
    
    Since the `:domain` module is already Kotlin-only, the code was simply
    moved and works!
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    a4ec86f View commit details
    Browse the repository at this point in the history
  2. ♻️ Replace all the references from domain to shared

    Moved the dependencies from the Kotlin-only to the Kotlin Multiplatform
    Mobile one
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    1084c13 View commit details
    Browse the repository at this point in the history
  3. 🚧Update the repository to be an Android module

    For some reason, Kotlin-only modules do not find the KMM modules. This
    module was temporarily converted to Android to make the code work. In
    the future, this module will also be a KMM one.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    5bba9a8 View commit details
    Browse the repository at this point in the history
  4. 🚚 Rename the shared to domain

    Small back-and-forth to convert the `shared` to the old `domain`. Now
    that everything is set, the module was updated to the original name.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    b46839b View commit details
    Browse the repository at this point in the history
  5. ✅ Bring the domain unit tests back

    Oopsy, I removed the tests when moving the class between the modules.
    The classes are now back and removed the junit dependencies since it
    doesn't work well with KMM.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    f457d47 View commit details
    Browse the repository at this point in the history
  6. 🔥 Remove Java/Android-only libraries from Domain

    Removing Java's Calendar and adapting the logging tool to its
    multiplatform version. Some work was needed for the convertions since
    the Android layers will keep using Calendar for now. Future commits will
    address the TODOs and make it more clear.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    426472d View commit details
    Browse the repository at this point in the history
  7. ♻️ Fix use cases

    Fix the logging system in the remaining use cases and also some oopsies
    along the way.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    da622c4 View commit details
    Browse the repository at this point in the history
  8. ✅ Fix the unit tests

    All the domain tests are working fine again all the Calendar/DateTime
    migration
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    fed5cb6 View commit details
    Browse the repository at this point in the history
  9. 🚨 Fix lint

    A few lint complaints
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    a4c400b View commit details
    Browse the repository at this point in the history
  10. ✅ Fix the instrumented tests

    Instrumented tests fixed
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    c3aaf13 View commit details
    Browse the repository at this point in the history
  11. 🚚 Rename the iOS module to "domain"

    When renaming the module from "shared" to "domain", one property was
    missed. Updated!
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    9f6922b View commit details
    Browse the repository at this point in the history
  12. 👷‍ Enable Linters on Domain Module

    When migrating to KMM, the checkers were removed from the Gradle script.
    The quality plugin was re-added and the lint fixes updated.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    3af0563 View commit details
    Browse the repository at this point in the history
  13. 🔥 Remove .gitkeep file from kotlin directory

    Now that everything is set on the correct KMM directory, no need to keep
    this folder anymore.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    016d19e View commit details
    Browse the repository at this point in the history
  14. 🚚 Rename all the unit tests to remove spaces

    When running the Android Test task, KMP requires the minimum SDK to 30
    to allow space in the test names. Another solution is to remove the
    spaces and use simple names. The following regex was used to make the
    job easier:
    
    \s+(?=(?:(?:[^`]*`){2})*[^`]*`[^`]*$)
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    76cfc8b View commit details
    Browse the repository at this point in the history
  15. 🔨 Change the emulator from API 24 to 27

    The Instant API requires min SDK 26, so we can't use the emulator on 24
    anymore
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    798cf4e View commit details
    Browse the repository at this point in the history
  16. ♻️ Centralize all versions in the Version Catalog file

    Previously, some versions were inside the Version Catalog TOML and
    others were in the AlkaaVersions file. Since the versioning and
    compiling will be even more important now that we will compile with KMP,
    all the versions are centralized in a single place.
    
    Also, the VersionCatalogExtensions was broken in several classes to make
    it easier to understand. They are: Bundles, Libraries and Versions.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    7363108 View commit details
    Browse the repository at this point in the history
  17. 🚚 Organize the domain folders

    During the file moving, instead of creating "com/escodro/domain", I
    created "com.escodro/domain". Now everything is fine again.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    fab45f3 View commit details
    Browse the repository at this point in the history
  18. ♻️ Update the Repository module to KMP

    The Repository module was migrated from Android/Kotlin-only module to
    KMP. For now, we are not caring too much about ProGuard, so the files
    were removed.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    56bb652 View commit details
    Browse the repository at this point in the history
  19. 🚚 Move files from "java" to "kotlin" directory

    For consistency, the class directory was named to "kotlin"
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    1e14faa View commit details
    Browse the repository at this point in the history
  20. ♻️ Update the Local repository to use LocalDateTime

    Since one more layer was converted from java.Calendar to
    kotlinx.DateTime, now the local layer will be responsible for the
    mapping.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    c8d1ff8 View commit details
    Browse the repository at this point in the history
  21. 🔀 Merge remote-tracking branch 'origin/alkaa-multiplatform' into amp/…

    …local
    
    # Conflicts:
    #	app/src/androidTest/java/com/escodro/alkaa/NotificationFlowTest.kt
    #	data/local/build.gradle.kts
    #	data/local/src/main/java/com/escodro/local/mapper/TaskMapper.kt
    #	features/task/src/main/java/com/escodro/task/presentation/detail/alarm/TaskAlarmViewModel.kt
    #	features/task/src/test/java/com/escodro/task/presentation/detail/TaskAlarmViewModelTest.kt
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    ec4d5a0 View commit details
    Browse the repository at this point in the history
  22. ✅ More test fixes

    The TaskListFlowTest test had a typo while migrating to SDLDelight. Also
    a new rule was added to grant the Notification Permission for the newer
    SDK versions.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    d346c3b View commit details
    Browse the repository at this point in the history
  23. Merge pull request #535 from igorescodro/amp/local

    Convert Local module to KMP
    igorescodro authored Aug 16, 2023
    Configuration menu
    Copy the full SHA
    0a75a19 View commit details
    Browse the repository at this point in the history
  24. ♻️ Convert datastore to KMP

    Basic KMP configuration added to the module, making it multiplatform
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    3ca3f9a View commit details
    Browse the repository at this point in the history
  25. ♻️ Migrate the implementation to multiplatform

    The Android version was pretty straightforward. For now, the iOS version
    will stay on to do.
    igorescodro committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    efde09a View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

  1. 📝 Add Kdoc

    Basic Kdoc added to the main code
    igorescodro committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    6613eda View commit details
    Browse the repository at this point in the history
  2. ✨ Use the existing Android DataStore path

    Using the "datastore/" path allows users to keep using the same file
    while updating the app. This allows them to not lose existing
    preferences.
    igorescodro committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    e82fc68 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #541 from igorescodro/amp/datastore

    Convert Data Store module to KMP
    igorescodro authored Aug 17, 2023
    Configuration menu
    Copy the full SHA
    42969ac View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2023

  1. 🍏 Create basic iOS project

    igorescodro committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    b88958a View commit details
    Browse the repository at this point in the history
  2. 🍏 Update iOS project

    Projected updated to link to a single "umbrella shared module" now
    called `shared`. This module is responsible for connecting all the other
    KMM ones. Also, the CocoaPods setup was added.
    igorescodro committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    7d89a22 View commit details
    Browse the repository at this point in the history
  3. 🍏 Update the shared module with additional KMM setup

    The following changes were required to make the app run:
    - CocoaPods set up
    - Gradle properties updated
    - JetBrains Dev Maven repository added
    - Main screen functions for Android and iOS
    igorescodro committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    8f3b369 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2023

  1. 🍱 Change iOS configs

    - Bundle named updated to a valid one (not sure why com.escodro.alkaa is not available)
    - Icon updated
    - Named updated to "Alkaa"
    igorescodro committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    050f665 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #546 from igorescodro/amp/ios

    Setup the iOS project and connect to Alkaa
    igorescodro authored Aug 21, 2023
    Configuration menu
    Copy the full SHA
    b415cdf View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2023

  1. 🍏 Revert the target to "alkaa"

    Renaming the target from "alkaa" to "Alkaa" broke the integration. In a
    future change I'll find a way to only rename the app.
    igorescodro committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    a44c065 View commit details
    Browse the repository at this point in the history
  2. 🍏 Do the actual implementation of iOS Data Store

    Data Store is now supported in iOS.
    igorescodro committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    b61631d View commit details
    Browse the repository at this point in the history
  3. 🍏 Do the actual implementation of iOS SQLDelight

    Local database is now supported in iOS.
    igorescodro committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    f248f38 View commit details
    Browse the repository at this point in the history
  4. ✨ Implement a DI library KMP module

    New module created to help with the DI setup differences in Android and
    iOS. This module will be very useful when migrating the features with
    ViewModel.
    igorescodro committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    d8f9274 View commit details
    Browse the repository at this point in the history
  5. ♻️ Update share module to provide the DI modules to the apps

    A new KoinHelper file was created to assist in the app injection. I
    wasn't able to use default arguments when exporting to iOS, so the
    functions was manually overridden.
    igorescodro committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    bf5e67b View commit details
    Browse the repository at this point in the history
  6. 🍏 Update iOS injection

    DI helper class is now being called in the iOS app. Koin injections!
    igorescodro committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    8f0ff2d View commit details
    Browse the repository at this point in the history
  7. 🚨 Fix lint

    Linters are now in peace
    igorescodro committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    758662e View commit details
    Browse the repository at this point in the history
  8. ⬆️ Update Gradle

    Update to Gradle 8.1.1 based on build error
    igorescodro authored Aug 22, 2023
    Configuration menu
    Copy the full SHA
    3190c6a View commit details
    Browse the repository at this point in the history
  9. Merge pull request #550 from igorescodro/poc/ios

    🍏 Additional iOS setup
    igorescodro authored Aug 22, 2023
    Configuration menu
    Copy the full SHA
    142ce29 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2023

  1. 🔀 Merge remote-tracking branch 'origin/main' into alkaa-multiplatform

    # Conflicts:
    #	gradle/libs.versions.toml
    #	plugins/src/main/java/AlkaaVersions.kt
    igorescodro committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    edf622a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    839f3e4 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2023

  1. Configuration menu
    Copy the full SHA
    4a10016 View commit details
    Browse the repository at this point in the history
  2. ♻️ Update KMP Android target reference

    From "android" to "androidTarget"
    igorescodro committed Aug 24, 2023
    Configuration menu
    Copy the full SHA
    3c79591 View commit details
    Browse the repository at this point in the history
  3. ♻️ Create plugin template for KMP modules

    Creating plugins to make the setup easier and reduce boilerplate.
    Additional changes need to comply with the build checks.
    igorescodro committed Aug 24, 2023
    Configuration menu
    Copy the full SHA
    2e250a5 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #557 from igorescodro/amp/nit

    🧃 Improvements for the KMP modules
    igorescodro authored Aug 24, 2023
    Configuration menu
    Copy the full SHA
    2037002 View commit details
    Browse the repository at this point in the history
  5. ✨ Add a Hello World composable in shared

    A new simple Composable was added to make sure that the iOS -> KMP
    integration is working properly.
    igorescodro committed Aug 24, 2023
    Configuration menu
    Copy the full SHA
    e1a9f14 View commit details
    Browse the repository at this point in the history
  6. 🙈 Update .gitignore

    File updated to be more generic in the Gradle directory files
    igorescodro committed Aug 24, 2023
    Configuration menu
    Copy the full SHA
    e2232a4 View commit details
    Browse the repository at this point in the history
  7. ⬆️ Upgrade JetBrains Compose to latest beta

    AlertDialog and other Material components were not available in the
    1.4.x version
    igorescodro committed Aug 24, 2023
    Configuration menu
    Copy the full SHA
    1465fe4 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2023

  1. 💄 Replace generic theme with AlkaaTheme

    Theme in `shared` replaced with the atual Alkaa Material Design 3 theme
    igorescodro committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    e3f7c22 View commit details
    Browse the repository at this point in the history
  2. ♻️ Convert Design System module to KMP

    Converting the Design System module to KMP allowing the MaterialTheme to
    be used on iOS. In order to do that, the following changes were
    required:
    
    - Remove Android annotation (`@StringRes`) and moving to actual Strings
    - Disable `@Preview` annotation since it's not available in commonMain
    - Delegate the Material You implementation for each platform
    igorescodro committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    739201e View commit details
    Browse the repository at this point in the history
  3. ♻️ Update modules that depends on Design System

    Since the Design System APIs are no longer using `@StringRes`, all the
    modules that depends on it were updated to use the actual String. The DI
    was also added to provide the platform specific theme implementation.
    igorescodro committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    2b7d778 View commit details
    Browse the repository at this point in the history
  4. 🍏 Update iOS project

    Auto-generated files updated. Not sure if they are required though.
    igorescodro committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    b3752a0 View commit details
    Browse the repository at this point in the history
  5. ✅ Fix Android Instrumented Tests

    Tests fixed!
    igorescodro committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    8fb9cbf View commit details
    Browse the repository at this point in the history
  6. ➕ Add AtomicFU dependency

    Multiplatform Compose had a missing dependency during the build. Worked
    fine to generate both iOS and Android artifacts though.
    igorescodro committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    93a158e View commit details
    Browse the repository at this point in the history
  7. Merge pull request #559 from igorescodro/ios/connection

    🍏 Implement a Hello World Composable connecting with the iOS app
    igorescodro authored Aug 25, 2023
    Configuration menu
    Copy the full SHA
    db190e7 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2023

  1. 🔥 Remove CocoaPods

    When I was trying to integrate iOS and KMP, several issues were faced. I
    tried, naively, to add CocoaPods since some of the samples also used
    and it worked. Today is clear that it worked due to _other_ reasons,
    not CocoaPods, since it's not needed due to
    `embedAndSignAppleFrameworkForXcode` Gradle task. Less code is more
    code.
    igorescodro committed Aug 28, 2023
    Configuration menu
    Copy the full SHA
    4b5d8ad View commit details
    Browse the repository at this point in the history
  2. Merge pull request #560 from igorescodro/remove/cocoapods

    🔥 Remove CocoaPods
    igorescodro authored Aug 28, 2023
    Configuration menu
    Copy the full SHA
    8d01289 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2023

  1. 🔧 Update gradle.properties to allow native cache

    One more of the configs that was added but not sure why. By removing it,
    the cache and build speed will be faster, based on the warnings. So
    far, no issues with the iOS app.
    igorescodro committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    8ecb8ee View commit details
    Browse the repository at this point in the history
  2. Merge pull request #561 from igorescodro/more/changes

    🔧 Update `gradle.properties` to allow native cache
    igorescodro authored Aug 29, 2023
    Configuration menu
    Copy the full SHA
    93a9b02 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2023

  1. Configuration menu
    Copy the full SHA
    6d8eb55 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2023

  1. 🔥 Remove even more CocoaPods

    Let's remove every CocoaPod reference from the codebase. For me, still
    not clear if I'll need, but for now, it's gone.
    igorescodro committed Aug 31, 2023
    Configuration menu
    Copy the full SHA
    6bebb53 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #562 from igorescodro/less/cocoa

    🔥 Remove even more CocoaPods
    igorescodro authored Aug 31, 2023
    Configuration menu
    Copy the full SHA
    0dd67be View commit details
    Browse the repository at this point in the history