如何从 gradle 中的 eclipse .classpath 读取依赖项?

How to read the dependencies from an eclipse .classpath in gradle?

这里是eclipse的例子.classpath文件

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src/main/java"/>
    <classpathentry kind="src" path="src/main/resources"/>
    <classpathentry kind="src" output="bin/test" path="src/test/java"/>
    <classpathentry kind="src" output="bin/test" path="src/test/resources"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/slf4j-api-1.7.7.jar"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/slf4j-log4j12-1.7.7.jar"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/commons-collections4-4.0.jar"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/commons-codec-1.6.jar"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/commons-io-2.4.jar"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/commons-cli-1.2.jar"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/commons-net-3.3.jar"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/commons-lang-2.4.jar"/>
    <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/opencsv-2.3.jar"/>
   <classpathentry kind="lib" path="/kc-tools-thirdparty/lib/log4j-1.2.17.jar"/>
   <classpathentry kind="output" path="bin/main"/>
</classpath>

在gradle中,我想自动将它们添加到依赖项中。

有没有插件可以做到这一点? (我知道我可以编写自己的方法来解析 XML 但我正在寻找一些通用的方法)

我没有测试过,但我会这样做:

//Init classpath file
def classpathFile = file('.classpath')
//parse xml
def cpXml = new XmlParser().parse(classpathFile)
//find all lib entries
def libPaths= []
cpXml.classpathentry.each {
    if('lib' == it.@kind) {
        libPaths.add(project.projectDir.parentFile.absolutePath + it.@path)
    }
}
dependencies{
    compile files(libPaths)
}