Meaning of asterisk and arrow symbol in gradle dependency tree
I gradlew
ran the command to get the gradle dependency tree.
gradlew.bat app: dependencies
In the output, I get different types of symbols attached to each dependency:
com.twotoasters.servos:util-otto:1.0.0
com.squareup.okhttp:okhttp:2.4.0 (*)
com.android.support:recyclerview-v7:23.2.0 -> 25.0.0
Some dependencies do not have any symbol, some of them have (*)
and ->
.
What do these symbols mean?
I tried searching but couldn't find any help.
source to share
(*)
stands next to a dependency that has already been imported by another artifact, resulting in duplication.
At the end of the output, ./gradlew :app:dependencies
you can see this:
->
stands next to a dependency that has already been imported through a different artifact but with a newer version . Gradle prefers newer version.
Hence, it com.android.support:recyclerview-v7:23.2.0 -> 25.0.0
means that the version 25.0.0
has already been imported, but especially that the artifact depends on an older version 23.2.0
.
See Egor Andreevich 's explanation from his Making the Most of your Gradle Builds conversation from Droidcon Italy 2017.
source to share
->
means from version 23.2.0
to 25.0.0
its useful when running gradle offline, so it will use the first available cached version
(*)
im not sure but i think this is for downloading and compiling the whole next family of libraries (core, etc), there is also +
which is used instead of a version code that will use the latest version that is available
source to share