Skip to content

Conversation

@RichSutherSky
Copy link
Contributor

This pull request migrates the project's Gradle build scripts from Groovy (.gradle) to Kotlin DSL (.gradle.kts), modernizing and standardizing the build configuration across the codebase. It also updates the bytecode target level configuration and ensures all relevant tasks and dependencies are referenced using the new Kotlin DSL files. No functional changes to the app or library code are introduced; the changes are focused on build infrastructure.

The most important changes are:

Gradle Script Migration to Kotlin DSL:

  • Replaces Groovy-based build scripts (android-configuration.gradle, android-configuration-check.gradle, app/build.gradle, app/screenshots.gradle) with equivalent Kotlin DSL scripts (android-configuration.gradle.kts, android-configuration-check.gradle.kts, app/build.gradle.kts, app/screenshots.gradle.kts). This includes updating all apply(from = ...) references in module build scripts to point to the new .kts files. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Build Configuration Improvements:

  • Updates the build configuration to use type-safe Kotlin DSL features, such as tasks.register, configure, and explicit type declarations for tasks and extensions, improving maintainability and IDE support. [1] [2] [3]

Compiler and Toolchain Consistency:

  • Ensures all modules are set to use Java 17 for bytecode and Kotlin JVM toolchain, and updates .idea/compiler.xml to explicitly set the bytecode target level for relevant modules. [1] [2] [3]

Dependency and Task Declaration Updates:

  • Refactors dependency and task declarations to use Kotlin DSL syntax, including the use of libs version catalog and tasks.withType for compiler options and custom tasks. [1] [2] [3]

Minor Cleanups:

  • Removes unused import statements and cleans up formatting in the build scripts. [1] [2]

Remember to include the following changes:

  • Component README.md
  • Tests

If you are curious about how we review, please read through the code review guidelines

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.

2 participants