# Gradle nicht benötigte Dependencies finden



## 8u3631984 (9. Nov 2022)

Hallo
ICh habe ein Multi - Module Projekt. Im Laufe der Zeit ändert sich der Code und Dependencies werde nicht mehr benötigt befinden sich aber noch im Projekt.
Ich habe mir das Plugin ca.cutterslade.analyze aml angesehen und auch eingebunden : 

```
plugins {
    ...
    id "ca.cutterslade.analyze" version "1.9.0"
}

...
    subprojects {
    // plugins
    ...
    apply plugin: 'ca.cutterslade.analyze'
```

Danach habe ich das Kommando  gradle clean analyzeDependencies aufgerufen und bekomme folgende ausgabe : 

```
Execution failed for task ':media-app:analyzeClassesDependencies'.
> Dependency analysis found issues.
  usedUndeclaredArtifacts
   - org.apache.logging.log4j:log4j-api:2.17.2@jar
   - org.springframework.boot:spring-boot-autoconfigure:2.7.5@jar
   - org.springframework.boot:spring-boot:2.7.5@jar
   - org.springframework.data:spring-data-jpa:2.7.5@jar
   - org.springframework:spring-beans:5.3.23@jar
   - org.springframework:spring-context:5.3.23@jar
   - org.springframework:spring-core:5.3.23@jar
   - org.springframework:spring-web:5.3.23@jar
  unusedDeclaredArtifacts
   - org.springframework.boot:spring-boot-starter-data-jpa:2.7.5@jar
   - org.springframework.boot:spring-boot-starter-web:2.7.5@jar
```

Hier ist die Configuration aus dem media app Project :

```
dependencies {
    implementation project(':media-commons')
    implementation project(':media-type-image')

    // spring dependencies
    implementation "org.springframework.boot:spring-boot-starter-web:${springVersion}"
    implementation "org.springframework.boot:spring-boot-starter-data-jpa:${springVersion}"

    testImplementation "org.springframework.boot:spring-boot-starter-test:${springVersion}"

    // utility dependencies
    implementation "commons-io:commons-io:${commonsioVersion}"
    implementation "com.google.guava:${guavaVersion}"
}
```


Ich habe nun mal versucht die beiden Dependencies aus dem Modul zu entfernen : 
    implementation "org.springframework.boot:spring-boot-starter-web:${springVersion}"
    implementation "org.springframework.boot:spring-boot-starter-data-jpa:${springVersion}"

Allerdings bekomme ich dann einen Compiler Fehler.
Nun meine Frage habe ich das Plugin falsch bedient - oder verstehe ich dei Ausgabe falsch ?


----------



## DefconDev (10. Nov 2022)

Kann es sein dass du das Plugin falsch eingepflegt hast?

Ich verweis Mal auf den Thread hier








						What the difference in applying gradle plugin
					

I don't understand gradle plugins block  apply plugin: 'someplugin1' apply plugin: 'maven' and other one:  plugins {    id 'org.hidetake.ssh' version '1.1.2' } In first block We have some plugin ...




					stackoverflow.com


----------



## 8u3631984 (10. Nov 2022)

Danke für den Hinweise - der Link ist sehr hilfreich. Ich werde das mal umbauen - nur noch einen Block (plugins oder appliy plugin verwenden) und gebe dann hier noch mal eine Rückmeldung ob es geklappt hat


----------



## DefconDev (10. Nov 2022)

GitHub - gradle-dependency-analyze/gradle-dependency-analyze: Dependency analysis plugin for gradle
					

Dependency analysis plugin for gradle. Contribute to gradle-dependency-analyze/gradle-dependency-analyze development by creating an account on GitHub.




					github.com
				




Da ist es eigentlich auch nochmal aufgezeigt, gerade was die Blockvariante angeht hinsichtlich Multi-Module.


----------

