How to read the dependencies from an eclipse .classpath in gradle?
here is a example of eclipse .classpath
file
<?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>
In gradle I would like to automatically add these into dependencies.
Is there any plugin which could do that ? (I know I could write my own method to parse XML but I am looking for some general way)
I didn't test it but I would do something like this:
//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)
}