如何获得Gradle中外部依赖的完整路径?
问题描述:
我试图改善GradleFX的IntelliJ IDEA的项目生成功能,并希望检索外部依赖的完整路径+文件名:如何获得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( )函数用于外部依赖。
如何获取完整路径+文件名到外部依赖关系?
答
下面的代码应该给你设定的文件被解析为依赖关系:
def files = project.configurations[configType].files(externalDependency)