Java 如何在gradle中定义基于文件的依赖项的源位置

Java 如何在gradle中定义基于文件的依赖项的源位置,java,dependencies,gradle,Java,Dependencies,Gradle,我有一个gradle构建脚本,它定义了一个文件依赖项 dependencies { testCompile files('lib/test/wibble-1.0.jar') } 我有一个库的源jar,我想将其添加到依赖项中,以便在eclipse中导航到源jar。如何将该信息添加到依赖项?为未从Maven存储库解析的工件添加源JAR需要一些eclipse.classpath脚本(请参阅中的eclipsepasspath)。它可能是这样的: import org.gradle.plugin

我有一个gradle构建脚本,它定义了一个文件依赖项

dependencies {
    testCompile files('lib/test/wibble-1.0.jar')
}

我有一个库的源jar,我想将其添加到依赖项中,以便在eclipse中导航到源jar。如何将该信息添加到依赖项?

为未从Maven存储库解析的工件添加源JAR需要一些
eclipse.classpath
脚本(请参阅中的
eclipsepasspath
)。它可能是这样的:

import org.gradle.plugins.ide.eclipse.model.*

eclipse {
    classpath {
        file {
            whenMerged { Classpath classpath ->
                classpath.entries.each { ClasspathEntry entry ->
                    if (entry instanceof AbstractLibrary && entry.library.file == file("lib/test/wibble-1.0.jar")) {
                        entry.sourcePath = fileReferenceFactory.fromFile(file("lib/test/wibble-1.0-sources.jar"))
                    }
                }
            }
        }
    }
}

您可以将此代码概括为在
lib
目录中添加符合某些命名约定的所有源JAR。

谢谢,但是Eclipse插件(与gradle生成的Eclipse项目相反)似乎在依赖关系模型中没有看到这一点,这正是我真正想要的。请确保配置导入以在导入之前/之后运行Gradle任务。您可以尝试的另一件事是使用
flatDir
repo,并对
lib
目录中的jar和sources jar使用与Maven完全相同的命名模式。如果这不能解决问题,请在上报告您的用例。