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

时间:2013-08-04 23:37:26

标签: java dependencies gradle

我有一个gradle构建脚本,用于定义文件依赖项。

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

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

1 个答案:

答案 0 :(得分:1)

为未从Maven存储库解析的工件添加源Jars需要一些eclipse.classpath脚本(请参阅Gradle Build Language Reference中的EclipseClasspath)。它看起来像这样:

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目录中添加符合某些命名约定的所有源Jars。