dependency-analysis-gradle-plugin icon indicating copy to clipboard operation
dependency-analysis-gradle-plugin copied to clipboard

thinks I can remove testImplementation after adding compileOnly

Open xenoterracide opened this issue 2 years ago • 1 comments

Build scan link https://scans.gradle.com/s/w4puysfgcc2ms

Plugin version 1.3.0

Gradle version

------------------------------------------------------------
Gradle 8.6
------------------------------------------------------------

Build time:   2024-02-02 16:47:16 UTC
Revision:     d55c486870a0dc6f6278f53d21381396d0741c6e

Kotlin:       1.9.20
Groovy:       3.0.17
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          21.0.2 (Eclipse Adoptium 21.0.2+13-LTS)
OS:           Linux 6.6.19-1-MANJARO amd64

(Optional) reason output for bugs relating to incorrect advice

Calculating task graph as configuration cache cannot be reused because file 'build.gradle.kts' has changed.
Type-safe project accessors is an incubating feature.
> Task :buildSrc:checkKotlinGradlePluginConfigurationErrors
> Task :buildSrc:generateExternalPluginSpecBuilders UP-TO-DATE
> Task :buildSrc:extractPrecompiledScriptPluginPlugins UP-TO-DATE
> Task :buildSrc:compilePluginsBlocks UP-TO-DATE
> Task :buildSrc:generatePrecompiledScriptPluginAccessors UP-TO-DATE
> Task :buildSrc:generateScriptPluginAdapters UP-TO-DATE
> Task :buildSrc:compileKotlin UP-TO-DATE
> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:pluginDescriptors UP-TO-DATE
> Task :buildSrc:processResources UP-TO-DATE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:jar UP-TO-DATE
> Task :jpa:processResources NO-SOURCE
> Task :jpa:processTestFixturesResources NO-SOURCE
> Task :jpa:findDeclaredProcsMain UP-TO-DATE
> Task :jpa:serviceLoaderMain UP-TO-DATE
> Task :jpa:findDeclarations UP-TO-DATE
> Task :jpa:findDeclaredProcsTest UP-TO-DATE
> Task :jpa:artifactsReportMain UP-TO-DATE
> Task :jpa:explodeCodeSourceTest UP-TO-DATE
> Task :jpa:explodeCodeSourceMain UP-TO-DATE
> Task :jpa:explodeCodeSourceTestFixtures UP-TO-DATE
> Task :jpa:findDeclaredProcsTestFixtures UP-TO-DATE
> Task :jpa:explodeJarMain UP-TO-DATE
> Task :jpa:compileJava UP-TO-DATE
> Task :jpa:findInlineMembersMain UP-TO-DATE
> Task :jpa:graphViewMain UP-TO-DATE
> Task :jpa:graphViewTestFixtures UP-TO-DATE
> Task :jpa:graphViewTest UP-TO-DATE
> Task :jpa:classes UP-TO-DATE
> Task :jpa:abiAnalysisMain UP-TO-DATE
> Task :jpa:explodeByteCodeSourceMain UP-TO-DATE
> Task :jpa:synthesizeDependenciesMain UP-TO-DATE
> Task :jpa:jar UP-TO-DATE
> Task :jpa:synthesizeProjectViewMain UP-TO-DATE
> Task :jpa:compileTestFixturesJava NO-SOURCE
> Task :jpa:serviceLoaderTestFixtures UP-TO-DATE
> Task :jpa:testFixturesClasses UP-TO-DATE
> Task :jpa:artifactsReportTestFixtures UP-TO-DATE
> Task :jpa:computeActualUsageMain UP-TO-DATE
> Task :jpa:explodeJarTestFixtures UP-TO-DATE
> Task :jpa:abiAnalysisTestFixtures UP-TO-DATE
> Task :jpa:testFixturesJar UP-TO-DATE
> Task :jpa:explodeByteCodeSourceTestFixtures UP-TO-DATE
> Task :jpa:findInlineMembersTestFixtures UP-TO-DATE
> Task :jpa:compileTestJava UP-TO-DATE
> Task :jpa:synthesizeDependenciesTestFixtures UP-TO-DATE
> Task :jpa:artifactsReportTest UP-TO-DATE
> Task :jpa:serviceLoaderTest UP-TO-DATE
> Task :jpa:explodeByteCodeSourceTest UP-TO-DATE
> Task :jpa:synthesizeProjectViewTestFixtures UP-TO-DATE
> Task :jpa:explodeJarTest UP-TO-DATE
> Task :jpa:synthesizeProjectViewTest UP-TO-DATE
> Task :jpa:findInlineMembersTest UP-TO-DATE
> Task :jpa:computeActualUsageTestFixtures UP-TO-DATE
> Task :jpa:synthesizeDependenciesTest UP-TO-DATE
> Task :jpa:computeActualUsageTest UP-TO-DATE
> Task :jpa:computeAdvice UP-TO-DATE
> Task :jpa:filterAdvice FROM-CACHE

> Task :jpa:reason

[1m----------------------------------------
You asked about the dependency 'com.xenoterracide:tools:0.0.0-SNAPSHOT (libs.java.tools)'.[0m
You have been advised to remove this dependency from '[31mtestImplementation[0m'.
[1m----------------------------------------[0m

[1mShortest path from :jpa to com.xenoterracide:tools:0.0.0-SNAPSHOT (libs.java.tools) for compileClasspath:[0m
:jpa
\--- com.xenoterracide:tools:0.0.0-SNAPSHOT

[1mThere is no path from :jpa to com.xenoterracide:tools:0.0.0-SNAPSHOT (libs.java.tools) for runtimeClasspath
[0m

[1mShortest path from :jpa to com.xenoterracide:tools:0.0.0-SNAPSHOT (libs.java.tools) for testCompileClasspath:[0m
:jpa
\--- com.xenoterracide:tools:0.0.0-SNAPSHOT

[1mShortest path from :jpa to com.xenoterracide:tools:0.0.0-SNAPSHOT (libs.java.tools) for testRuntimeClasspath:[0m
:jpa
\--- com.xenoterracide:tools:0.0.0-SNAPSHOT

[1mThere is no path from :jpa to com.xenoterracide:tools:0.0.0-SNAPSHOT (libs.java.tools) for testFixturesCompileClasspath
[0m

[1mThere is no path from :jpa to com.xenoterracide:tools:0.0.0-SNAPSHOT (libs.java.tools) for testFixturesRuntimeClasspath
[0m

[1mSource: main
------------[0m
* Uses 1 class: com.xenoterracide.tools.java.annotation.Initializer (implies implementation).

[1mSource: test
------------[0m
* Uses 1 class: com.xenoterracide.tools.java.function.PredicateTools (implies testImplementation).

[1mSource: testFixtures
--------------------[0m
(no usages)


BUILD SUCCESSFUL in 1s
53 actionable tasks: 2 executed, 1 from cache, 50 up-to-date
Configuration cache entry stored.

Describe the bug

The @Initializer is only needed at compile time, so I set my library as compileOnly but PredicateTools which is part of the same library is actually runtime and I added it for use as testImplementation

To Reproduce

I suppose you could add my library to a project, here's the annotation

https://github.com/xenoterracide/java-commons/blob/main/module/tools/src/main/java/com/xenoterracide/tools/java/annotation/Initializer.java

here's the failing build https://github.com/xenoterracide/spring-app-commons/actions/runs/8382923636/job/22957653966

In order to use the latter repo you'll need to set up github credentials gradle.properties

ghUsername=<your gh user>
ghPassword=<a class pat that can read packages>

Expected behavior

no error

Additional context

xenoterracide avatar Mar 21 '24 23:03 xenoterracide

Facing the same issue

vicky17d avatar May 22 '24 23:05 vicky17d

Could you try with the latest version?

autonomousapps avatar Sep 13 '24 03:09 autonomousapps

I don't have this anymore

xenoterracide avatar Sep 17 '24 20:09 xenoterracide