1

GradleFX の IntelliJ IDEA プロジェクト生成機能を改善しようとしており、外部依存関係のフル パスとファイル名を取得したいと考えています。

// 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 を取得したい() 外部依存関係に対して機能する関数。
外部依存関係へのフルパスとファイル名を取得するにはどうすればよいですか?

4

1 に答える 1

3

以下のコードは、依存関係として解決される一連のファイルを提供する必要があります。

def files = project.configurations[configType].files(externalDependency)
于 2014-10-31T12:01:41.517 に答える