Co dokładnie robi Gradle transitive = true
? Nie jest to jasne z poziomu Gradle documentation. Jest to w kontekście compile
w obrębie build.gradle
. W moim przypadku polegam na crashlytics Androida.Co robi funkcja przechodnia = true w Gradle (w.r.t. crashlytics)?
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') {
transitive = true;
}
Kilka docs Gradle (here i here) wynika, że "przechodnie" Domyślnie true. Jednak usunięcie transitive = true
powoduje, że nie są przenoszone zależności przejściowe (w szczególności KitGroup
).
class file for io.fabric.sdk.android.KitGroup not found
Dokumenty mówią, że domyślnie są prawdziwe, ale faktyczne zachowanie wydaje się być odwrotnością.
Używam programu Gradle 2.2.1. Być może zachowanie zmieniło się pomiędzy 2.2 a 2.4?
Edit: Podobne Transitive dependencies not resolved for aar library using gradle
podczas definiowania konfiguracji, czy przy określaniu zależności? – dnault
Zależności plików jar są promowane do podprojektów. Nie każdy projekt musi wyraźnie określać jego zależności. – Konrad
Co dokładnie nie jest jasne w [tej dokumentacji] (https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.Configuration.html#org.gradle.api.artifacts.Configuration:transitive) ? –