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

Refactor: Update dependencies, migrate to korlibs, and improve build #342

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

BobbyESP
Copy link
Contributor

@BobbyESP BobbyESP commented Feb 28, 2025

The upcoming PR introduces several quality-of-life improvements to the library. These updates were necessary due to existing parsing issues, such as the inability to correctly parse the Spotify tracks pagination response. They are not fixed! It's just a pre-patch PR.

⚠️ I'm not able to run the tests. Errors happens when building the API

This pull request includes various updates to the project, primarily focusing on upgrading Java versions in CI workflows, updating Gradle plugin and library versions, and refactoring import statements for consistency. The most important changes are summarized below:

CI Workflow Updates:

  • Updated Java version from 17 to 21 in ci-client.yml, ci.yml, and release.yml workflows. [1] [2] [3] [4] [5] [6]
  • Upgraded actions/upload-artifact from v2 to v4 in ci-client.yml, ci.yml, and release.yml workflows. [1] [2] [3]

Gradle Configuration Updates:

  • Added gradle/libs.versions.toml to manage plugin and library versions.
  • Improved settings.gradle.kts for better readability and idiomatic Kotlin DSL usage.

Dependency Refactoring:

  • Refactored import statements to use korlibs instead of com.soywiz for consistency across multiple files. [1] [2] [3] [4] [5] [6] [7] [8] [9]

- Migrate to `korlibs` library from `soywiz` for image and crypto handling.
- Update project's dependencies to latest versions, including:
  - Kotlin to 2.1.0
  - Spotless to 6.25.0
  - Dokka to 1.9.10
  - Kotlinx.datetime to 0.5.0
  - Kotlinx.serialization to 1.6.2
  - Kotlinx.coroutines to 1.7.3
  - Ktor to 2.3.7
  - Spark to 2.9.4
  - Korlibs to 4.0.10
  - Android Spotify auth to 1.2.6
  - Android crypto to 1.1.0-alpha06
  - AndroidX compat to 1.6.1
  - Android Retrofuture to 1.7.4
- Refactor code to use `korlibs` classes and functions.
- Replace use of `com.soywiz` packages with `korlibs`.
- Update `settings.gradle.kts` to remove unnecessary logic.
- Update `build.gradle.kts` to use `libs.version.toml`.
- Update to Java 21.
- Remove use of `launch` from `korio`.
- Update Android compile SDK to 35 and minimum SDK to 23.
- Add support for `publishAllPublicationsToNexusRepositoryWithTests` task.
- Create `packForXcode` task to correctly compile and prepare for iOS compilation.
- Add explicit `jvmToolchain` versions.
- Migrate to the new kotlin `plugins` DSL.
- Use `when` instead of `if` for clarity in `settings.gradle.kts`.
- Use idiomatic Kotlin DSL wherever possible.
- Remove unused imports.
- Reorder imports by type.
- Switch from `id()` to `alias()` in `plugins` block.
- Correct plugin loading and versioning.
- Remove unused repositories.
- Migrate to using `libs.versions.toml` to declare all dependencies and plugins.
- Remove `buildscript` and unnecessary references.
- Added `applyDefaultHierarchyTemplate()` to `kotlin` block.
…pload action

- Update Java version to 21 in all GitHub Actions workflows (release, ci-client, ci).
- Update the `actions/upload-artifact` action version from v2 to v4.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant