autonomousapps / autonomousapps/dependency-analysis-gradle-plugin

Feature Request: Give advice about plugin usage.

Open
#1,043 1 comment 0 reactions 0 assignees View on GitHub
enhancement more information needed
Dominant language
Kotlin
Stars
2.2k
Forks
158
Avg merge
16h 25m
Merged PRs (30d)
46

Description

**Is your feature request related to a problem? Please describe.**
I often want to know the minimal set of plugins that need to be applied to a given subproject.
Specifically:
- does removing plugin X from subproject Y break anything in my build?
- what plugins can I remove from which subprojects?
- answer does this question of "why subproject x needs plugin y?"

Specifically, AGP, `ksp`, `kapt` and other plugins that can be heavy weight.

**Describe the solution you'd like**
This might be impossible to do in the general case, and likely would need a way to define configurable logic per plugin to answer the question "is this plugin required for this subproject"

Maybe could detect if the plugin outputs nothing and doesn't generate any tasks, suggest that it may not be needed.

Also, could remove each thing in the `plugins {...}` block from each subproject one by one programmatically, and then run some configurable list of tasks to check if anything broke. This would probably be very slow and doesn't scale well.

Contributor guide

Open the contributing guide

Research direction

The issue names no files or tests. Start by mapping how the Gradle plugin currently analyzes applied plugins, subprojects, outputs, and tasks; the work is not ready to start until the configurable plugin-logic design and the tasks used to validate removal are agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.