Transitive dependencies by default


(Prateek Srivastava) #1

I have a project that depends on another remote dependency. Is there a way to make it have those those include transitive dependencies by default, so that users don’t have to specify it?

This is what is currently needed by users: ‘’’ compile(‘io.segment.analytics.android:mixpanel:1.3.2-SNAPSHOT@aar’) {

transitive = true } ‘’’

I’d like them to be able to just simply do: ‘’’ compile(‘io.segment.analytics.android:mixpanel:1.3.2-SNAPSHOT@aar’) ‘’’


(davidmichaelkarr) #2

Try removing “@aar”.

http://stackoverflow.com/questions/22795455/transitive-dependencies-not-resolved-for-aar-library-using-gradle


(Prateek Srivastava) #3

The android plugin isn’t able to pull the aar dependency unless you explicitly specify the packaging.


(Stig Kleppe-Jørgensen) #4

I do not think this is possible. The @aar notation turns of transitivity as specified in the manual: http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:how_to_declare_your_dependencies (see section 50.4.1.2 - Artifact only notation).


(Peter Niederwieser) #5

Sounds like the dependency has an incorrect packaging specified in its POM. ‘@aar’ indeed turns off transitive dependency resolution.