Skip to content

Conversation

@igorescodro
Copy link
Owner

After investigating other libraries, such as Metro, I noticed that some projects only require the Gradle plugin to be imported. This PR aims to automatically add the required dependencies via the Gradle plugin and streamline the setup.

Introduced functionality to auto-configure KSP and manage dependencies
for JVM, KMP, and Android projects in the tech debt Gradle plugin.
Enhanced version handling and added extensive tests to verify behavior.
Streamlined the README by merging redundant sections, removing detailed
dependency configurations, and reorganizing setup steps for clarity.
@igorescodro igorescodro force-pushed the plugin/simplify branch 3 times, most recently from c0db1ca to dbdb4f7 Compare January 22, 2026 20:13
Split the `sample` module into distinct submodules: `sample-jvm`,
`sample-android`, and `sample-kmp`. Configured Gradle files for each
submodule with appropriate plugins and dependencies. Updated settings
and README for the new structure.
Implemented a GitHub Actions workflow to automate the generation and
verification of Tech Debt reports for Android, KMP, and JVM samples.
Replaced hardcoded strings with named constants for plugin and
dependency configurations in `TechDebtPlugin.kt`, improving
maintainability and readability.
@igorescodro igorescodro requested a review from Copilot January 22, 2026 20:36
@igorescodro igorescodro changed the title Simply the setup by only requiring the Gradle plugin import 🎼 Simply the setup by only requiring the Gradle plugin import Jan 22, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR simplifies the setup process for the TechDebt Gradle plugin by automatically applying the KSP plugin and adding the required dependencies when the plugin is applied. Users no longer need to manually configure KSP or add techdebt-processor and techdebt-annotations dependencies.

Changes:

  • Automatic KSP plugin application and dependency injection for JVM, Android, and Kotlin Multiplatform projects
  • Version resolution mechanism via generated properties file
  • Reorganized sample projects into separate modules for JVM, Android, and KMP
  • Updated documentation to reflect simplified setup

Reviewed changes

Copilot reviewed 16 out of 18 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
techdebt-gradle-plugin/src/main/kotlin/com/escodro/techdebt/gradle/TechDebtPlugin.kt Added automatic plugin application and dependency injection logic for different project types (Android, KMP, JVM)
techdebt-gradle-plugin/build.gradle.kts Changed KSP and Android Gradle Plugin dependencies from compileOnly to implementation; added version generation task
techdebt-gradle-plugin/src/test/kotlin/com/escodro/techdebt/gradle/TechDebtPluginTest.kt Added comprehensive tests for automatic plugin/dependency configuration across project types
settings.gradle.kts Added dependency resolution management and reorganized sample module includes
samples/sample-jvm/build.gradle.kts New JVM sample demonstrating simplified plugin setup
samples/sample-android/build.gradle.kts New Android sample demonstrating simplified plugin setup
samples/sample-kmp/build.gradle.kts New KMP sample demonstrating simplified plugin setup
sample/build.gradle.kts Removed old sample module with manual dependency configuration
gradle/libs.versions.toml Added Android Gradle Plugin version and plugin declarations
gradle.properties Increased Gradle JVM heap size to 8GB
local.properties Added Android SDK path (should not be committed)
README.md Updated documentation to remove manual dependency setup instructions
.github/workflows/report_tests.yml Added CI workflow to verify report generation for all sample types

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

….gitignore

Deleted `local.properties`, reduced `org.gradle.jvmargs` from 8g to 4g
in `gradle.properties`, and added `local.properties` to `.gitignore` for
better version control and cleaner repository setup.
Integrated Detekt and Ktfmt plugins into the Gradle build to enforce
code quality and formatting standards. Updated tasks to depend on these
checks and set up custom Detekt configurations.
Refined version retrieval by validating and explicitly checking for
blank values. Added logging to warn when `techdebt.properties` is
missing, ensuring better debugging and clearer error messages.
Updated the error message in `TechDebtPluginTest` to correctly
interpolate the `moduleName` argument, improving clarity and
consistency.
@igorescodro igorescodro marked this pull request as ready for review January 22, 2026 21:53
Enhanced `TechDebtPlugin` to handle cases where specific KSP target
configurations are missing by falling back to the general `ksp`
configuration. Added a test to verify the fallback logic.
@igorescodro igorescodro merged commit 1067e37 into main Jan 24, 2026
4 checks passed
@igorescodro igorescodro deleted the plugin/simplify branch January 24, 2026 14:57
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