Files
spring-ldap/core/javacc.gradle
Josh Cummings e60f53e8af Fix Javacc Download
Closes gh-854
2023-12-19 10:43:38 -07:00

59 lines
1.4 KiB
Groovy

task downloadJavacc {
ext.file = "javacc-5.0.jar"
ext.dest = file("$buildDir/javacc/javacc.jar")
ext.url = "https://repo1.maven.org/maven2/net/java/dev/javacc/javacc/5.0/$file"
outputs.file dest
doLast {
dest.parentFile.mkdirs()
new URL(url).withInputStream{ i -> dest.withOutputStream{ it << i }}
}
}
task installJavacc(type:Copy,dependsOn:downloadJavacc) {
ext.archive = downloadJavacc.dest
ext.javaccHome = file("$buildDir/javacc/")
inputs.file archive
outputs.dir javaccHome
}
task javacc(dependsOn:installJavacc) {
ext.srcFile = file("src/main/javacc/DnParserImpl.jj")
ext.srcDestDir = file("$buildDir/generated-src/javacc")
ext.destDir = file("$srcDestDir/org/springframework/ldap/core")
ext.homeDir = file("${installJavacc.javaccHome.path}")
inputs.file srcFile
outputs.dir destDir
doLast {
destDir.mkdirs()
ant.javacc (
target:"src/main/javacc/DnParserImpl.jj",
outputdirectory : destDir,
javacchome: homeDir,
jdkversion: sourceCompatibility)
}
}
sourceSets {
main {
java {
srcDir project.javacc.srcDestDir
}
}
}
sourcesJar {
from javacc.srcDestDir
include "**/*.java"
}
sourcesJar.dependsOn javacc
compileJava.dependsOn javacc
ideaModule.dependsOn javacc
eclipseClasspath.dependsOn javacc