Comments (2)
This looks to me like you run into the special treatment of test
. The behavior you see is currently expected (it's not a bug).
If something is already implementation
, the plugin will advice to not add testImplementation
in addition. Because (historically) that is how things are wired in Gradle: testImplementation
extend implementation
. See: https://docs.gradle.org/current/userguide/java_library_plugin.html#sec:java_library_configurations_graph
However, if you want to look at test
as separate "Module", this is counterintuitive. But it depends on how you look at test
in your project.
There is a proposal to make this configurable (#900). Meaning, the plugin could introduce an option do disable this special treatment of test
. Please have a look at that issue.
Note: This has nothing to do with JPMS. It's the same behavior for any Jar.
I think this can be closed in favor of #900.
from dependency-analysis-gradle-plugin.
Hmm... except Initializer
is a compileOnly
annotation. So I think the problem is that its scope as implementation
is wrong. Sorry, I didn't notice it said "implementation" for that in its detection.
annotations are weird, and a bit obnoxious, because even if an annotation were to describe itself as runtime
that doesn't mean it should be exposed via api
... some annotations like jspecify
does that so that runtime tools like spotbugs can see them, but they aren't used beyond tests usually, not real runtime (imho). In this case though I believe this is appropriately defined as a compile only since I didn't specify runtime retention.
from dependency-analysis-gradle-plugin.
Related Issues (20)
- ComputeUsagesTask taking 30+ minutes to execute when it used to take 30 seconds for the same project HOT 8
- Count of transitive dependencies that would be required to add when removing an unused dependency
- [TestKit Plugin] Open Rendered elements to be able to create custom ones HOT 1
- thinks I can remove testImplementation after adding compileOnly HOT 1
- Unknown constant pool type HOT 14
- Missing git tag for latest stable release (1.31.0) HOT 1
- Upgrade Moshi dependency to avoid CVE-2022-3635
- Plugin creates variant ambiguity errors with JVM Test Suite Plugin + Jacoco Aggregation Plugin HOT 3
- FR: Suggest converting an android project to a JVM-only project if possible HOT 1
- synthesizeDependenciesMain is failing with exception when having a file collection with an absolute file on windows as dependency
- Make FindDeclaredProcsTask use the JDK of the configured Java toolchain to load classes HOT 1
- ClassNotFoundException when adding plugin to project HOT 1
- File-level private vals of a type from an external dependency result in that dependency requiring to be an api dependency HOT 3
- Could not resolve project -> when a submodule is aar artifact HOT 3
- Unable to find method KotlinModuleMetadata.getKmModule() , explodeJarRelease is failing HOT 1
- Add wildcard support for exclusion rules HOT 11
- Task ':explodeCodeSource' uses this output of task ':kspKotlin' without declaring an explicit or implicit dependency HOT 3
- Stuck in computeActualUsageDebug for many minutes HOT 6
- Run plugin for some specific modules only HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dependency-analysis-gradle-plugin.