2014-10-31 3 views
1

Я пытаюсь улучшить IntelliJ функции генерации проекта IDEA GradleFX и хочу получить полный путь + имя файла для внешних зависимостей:Как получить полный путь к внешним зависимостям в Gradle?

// Generate the dependencies XML for the .iml file: 
[ 
    Configurations.INTERNAL_CONFIGURATION_NAME.configName(), 
    Configurations.EXTERNAL_CONFIGURATION_NAME.configName(), 
    Configurations.MERGE_CONFIGURATION_NAME.configName(), 
    Configurations.RSL_CONFIGURATION_NAME.configName(), 
    Configurations.TEST_CONFIGURATION_NAME.configName(), 
    Configurations.THEME_CONFIGURATION_NAME.configName() 
].each { configType -> 
    project.configurations[configType].allDependencies.each { Dependency dependency -> 
     if (dependency instanceof DefaultProjectDependency) { 
      // generate XML for a module dependency, no need for the file 
     } else if (dependency instanceof DefaultSelfResolvingDependency) { 
      def selfDependency = dependency as DefaultSelfResolvingDependency; 
      selfDependency.source.files.each { file -> 
       // generate XML for a dependency 
      } 
     } else if (dependency instanceof DefaultExternalModuleDependency) { 
      DefaultExternalModuleDependency externalDependency = dependency as DefaultExternalModuleDependency; 
      // This is an external dependency. 
      // How to get a reference to the actual file in the cache? 
     } 
    } 
} 

Исходный код для этой функции в https://github.com/GradleFx/GradleFx/blob/develop/src/main/groovy/org/gradlefx/ide/tasks/idea/IdeaProject.groovy, я хочу, чтобы получить addDependencies (), работающая для внешних зависимостей.
Как я могу получить полный путь + имя файла для внешних зависимостей?

ответ

3

ниже код должен дать вам набор файлов, которые разрешены в качестве зависимостей:

def files = project.configurations[configType].files(externalDependency) 
Смежные вопросы