부울

2016-07-12 3 views
7

을 반환하여 특정 의존성이 Gradle을 파일에 컴파일되어 있는지 여부를 알 수있는 방법 그래서 사건이 내가 가지고있는 종속 구조에서 build.gradle 파일에서,이 있는가부울

dependencies { 
    compile 'A' 
    compile 'B' 
} 

그러나 I 사람들이 A 나 B 중 하나만 컴파일 할 수 있기를 원한다면, 예를 들어 의존성 A가 gradle 태스크에서 다른 곳에서 사용될 수있는 전역 부울을 반환하여 사용되었는지 여부를 알 수있는 방법이 있습니까?

def compile = configurations.compile.allDependencies*.with{"$it.group:$it.name:$it.version".toString()} 

그것은 group:name:version 형식으로 모든 종속성의 목록을 반환합니다 : 즉

if (A was compiled) { 
     compile A; 
} else { 
     exclude A; 
} 
+1

왜 옵션 종속성을 원하십니까? –

+0

특정 종속성이 포함되었는지 여부를 알 필요가있는 작업이 있기 때문에이 작업은 기본적으로 항아리를 만듭니다. –

+1

여전히 이해 못 하겠지만 ... 팻 항아리를 만드는 것입니까? 그래서 가끔은 항아리에서 일부 종속성을 제외 시키시겠습니까? –

답변

1

당신은 모두가 같은 종속성을 컴파일 얻을 수있는 너무

. 그렇다면 다음을 사용할 수 있습니다 :

if("org.codehaus.groovy:groovy-all:2.4.7" in compile) { 
    println "org.codehaus.groovy:groovy-all:2.4.7 was compiled" 
} 
+0

흥미 롭습니다. 감사합니다. –