2013-09-24 17 views
5

Mam następujący kod:Jak dodać zależności programistyczne do konfiguracji Gradle?

static def getFamilyDependencies(ConfigurationContainer configurations) { 
    def result = configurations.collect { configuration -> 
     configuration.allDependencies.findAll { dependency -> 
      dependency instanceof DefaultProjectDependency 
     } collect { projectDependency -> 
      projectDependency.dependencyProject.name 
     } 
    } flatten() 

    result as Set 
} 

i chciałbym go przetestować. Do tej pory mam:

@Test 
void shouldGetFamilyDependencies() { 
    final Project project = ProjectBuilder.builder().build() 

    final configurations = project.getConfigurations() 

    configurations.create('configuration0') 
    configurations.create('configuration1') 

    configurations.each { configuration -> 
     println "***************** ${configuration}" 

     configuration.allDependencies.each { 
      println "@@@@@@@@@@@@@@@@@ ${it}" 
     } 
    } 
} 

Jak dodać zależności do konfiguracji? Poniższa nie działa:

final Project subproject = ProjectBuilder.builder().build() 
    configurations.configuration0 { 
     subproject 
    } 
    configurations.configuration1 { 
     allDependencies { 
      subproject 
     } 
    } 

Odpowiedz

2
@Test 
void shouldGetFamilyDependenciesAcrossAllConfigurations() { 
    final expected = ['subproject-0', 'subproject-1'] 

    final Project project = ProjectBuilder.builder().build() 
    final configurations = project.getConfigurations() 

    configurations.create('configuration-0') 
    final Project subproject0 = ProjectBuilder.builder().withName(expected[0]).build() 
    project.dependencies { 
     delegate.'configuration-0'(subproject0) 
    } 

    configurations.create('configuration-1') 
    final Project subproject1 = ProjectBuilder.builder().withName(expected[1]).build() 
    project.dependencies { 
     delegate.'configuration-1'(subproject1) 
    } 

    final actual = RestorePublishedArtifactTask.getFamilyDependencies(configurations) 

    assertThat(actual, hasItems(expected.toArray(new String[expected.size()]))) 
} 
4

To powinno załatwić sprawę:

configuration.getDependencies().add(dependenyMock); 
+0

Jak włączyć subproject0 w zależności, które mogą być przekazywane do 'add()'? –

Powiązane problemy