!help some questiones about denpendency tree

Hi guys! I use databinding in my program, and use the ‘resolutionStrategy.force’ command to force the software version I need. Here I force databinding to 7.0.4. By printing the dependency tree, I can see that the higher version 7.3.0 is indeed overwritten by 7.0.4.

Line 813: \--- androidx.databinding:databinding-compiler:7.3.0 (n)
	Line 813: \--- androidx.databinding:databinding-compiler:7.3.0 (n)
	Line 835: +--- androidx.databinding:databinding-common:7.3.0 (n)
	Line 835: +--- androidx.databinding:databinding-common:7.3.0 (n)
	Line 836: +--- androidx.databinding:databinding-runtime:7.3.0 (n)
	Line 836: +--- androidx.databinding:databinding-runtime:7.3.0 (n)
	Line 837: \--- androidx.databinding:databinding-adapters:7.3.0 (n)
	Line 837: \--- androidx.databinding:databinding-adapters:7.3.0 (n)
	Line 1860: +--- androidx.databinding:databinding-common:7.3.0 -> 7.0.4
	Line 1860: +--- androidx.databinding:databinding-common:7.3.0 -> 7.0.4
	Line 1861: +--- androidx.databinding:databinding-runtime:7.3.0 -> 7.0.4
	Line 1861: +--- androidx.databinding:databinding-runtime:7.3.0 -> 7.0.4
	Line 1862: |    +--- androidx.databinding:databinding-common:7.0.4
	Line 1862: |    +--- androidx.databinding:databinding-common:7.0.4
	Line 1863: |    +--- androidx.databinding:viewbinding:7.0.4
	Line 1866: +--- androidx.databinding:databinding-adapters:7.3.0 -> 7.0.4
	Line 1866: +--- androidx.databinding:databinding-adapters:7.3.0 -> 7.0.4
	Line 1867: |    \--- androidx.databinding:databinding-common:7.0.4
	Line 1867: |    \--- androidx.databinding:databinding-common:7.0.4
	Line 2057: |    |    |    +--- androidx.databinding:databinding-common:7.0.4
	Line 2057: |    |    |    +--- androidx.databinding:databinding-common:7.0.4
	Line 2058: |    |    |    +--- androidx.databinding:databinding-runtime:7.0.4 (*)
	Line 2058: |    |    |    +--- androidx.databinding:databinding-runtime:7.0.4 (*)
	Line 2059: |    |    |    \--- androidx.databinding:databinding-adapters:7.0.4 (*)
	Line 2059: |    |    |    \--- androidx.databinding:databinding-adapters:7.0.4 (*)
	Line 2072: |    |    +--- androidx.databinding:databinding-common:7.0.4
	Line 2072: |    |    +--- androidx.databinding:databinding-common:7.0.4
	Line 2073: |    |    +--- androidx.databinding:databinding-runtime:7.0.4 (*)
	Line 2073: |    |    +--- androidx.databinding:databinding-runtime:7.0.4 (*)
	Line 2074: |    |    \--- androidx.databinding:databinding-adapters:7.0.4 (*)
	Line 2074: |    |    \--- androidx.databinding:databinding-adapters:7.0.4 (*)
	Line 2077: |    +--- androidx.databinding:databinding-common:7.0.4
	Line 2077: |    +--- androidx.databinding:databinding-common:7.0.4
	Line 2078: |    +--- androidx.databinding:databinding-runtime:7.0.4 (*)
	Line 2078: |    +--- androidx.databinding:databinding-runtime:7.0.4 (*)
	Line 2079: |    \--- androidx.databinding:databinding-adapters:7.0.4 (*)
	Line 2079: |    \--- androidx.databinding:databinding-adapters:7.0.4 (*)
	Line 2111: \--- androidx.databinding:databinding-compiler:7.3.0 -> 7.0.4
	Line 2111: \--- androidx.databinding:databinding-compiler:7.3.0 -> 7.0.4
	Line 2112:      +--- androidx.databinding:databinding-compiler-common:7.0.4
	Line 2112:      +--- androidx.databinding:databinding-compiler-common:7.0.4
	Line 2113:      |    +--- androidx.databinding:databinding-common:7.0.4
	Line 2113:      |    +--- androidx.databinding:databinding-common:7.0.4
	Line 2114:      |    +--- com.android.databinding:baseLibrary:7.0.4
	Line 2148:      +--- androidx.databinding:databinding-common:7.0.4
	Line 2148:      +--- androidx.databinding:databinding-common:7.0.4
	Line 3157: +--- androidx.databinding:databinding-common:7.3.0 -> 7.0.4
	Line 3157: +--- androidx.databinding:databinding-common:7.3.0 -> 7.0.4
	Line 3158: +--- androidx.databinding:databinding-runtime:7.3.0 -> 7.0.4
	Line 3158: +--- androidx.databinding:databinding-runtime:7.3.0 -> 7.0.4
	Line 3159: |    +--- androidx.databinding:databinding-common:7.0.4
	Line 3159: |    +--- androidx.databinding:databinding-common:7.0.4
	Line 3160: |    +--- androidx.databinding:viewbinding:7.0.4

What puzzles me, is why 7.3.0(n) still appears in these two following directories, whether these two directories will not eventually participate in my APK version compilation, and what does this (n) mean?

annotationProcessor - Classpath for the annotation processor for 'main'. (n)
+--- org.projectlombok:lombok:1.18.22 (n)
\--- androidx.databinding:databinding-compiler:7.3.0 (n)

api - API dependencies for 'main' sources. (n)
+--- project vmall (n)
+--- project plugin-about (n)
+--- project plugin-family (n)
+--- project plugin-ble-base (n)
+--- project app-upgrade-sdk (n)
+--- project homeservice-sdk (n)
+--- project homecommon-sdk (n)
+--- project common-db-sdk (n)
+--- project feedback-sdk (n)
+--- project common-bi-sdk (n)
+--- project common-log-sdk (n)
+--- project plugin-operation (n)
+--- project plugin-global (n)
+--- project laboratory (n)
+--- scmsdk (n)
+--- androidx.databinding:databinding-common:7.3.0 (n)
+--- androidx.databinding:databinding-runtime:7.3.0 (n)
\--- androidx.databinding:databinding-adapters:7.3.0 (n)

The (n) is explained in the legend at the bottom of the output:

(n) - A dependency or dependency configuration that cannot be resolved.

api and annotationProcessor are non-resolvable and non-consumable configurations.
They are only used to declare dependencies, thus the entries “cannot be resolved” and thus the resolution strategy does not apply and it shows the originally declared version.

1 Like

Thanks , for answering my doubts. :smile:

1 Like