119 lines
3.8 KiB
Groovy
119 lines
3.8 KiB
Groovy
configurations {
|
|
warArtifact
|
|
jarArtifact
|
|
}
|
|
|
|
apply plugin : 'war'
|
|
|
|
dependencies {
|
|
providedCompile(project(':core')) {
|
|
transitive = false
|
|
}
|
|
compile fileTree("../i2pjars") { include '*.jar' }
|
|
}
|
|
|
|
war {
|
|
from 'src/main/css'
|
|
from ('src/main/images', {
|
|
into "images"
|
|
})
|
|
from ('src/main/js', {
|
|
into "js"
|
|
})
|
|
from ('src/main/resources', {
|
|
into "WEB-INF/classes/com/muwire/webui"
|
|
})
|
|
webInf {
|
|
from "$buildDir/compiledJsps"
|
|
into "classes"
|
|
}
|
|
excludes = new HashSet(['**/*.jsp', '**/*.jsi'])
|
|
webXml = file("$buildDir/tmp_jsp/web.xml")
|
|
}
|
|
|
|
task precompileJsp {
|
|
doLast {
|
|
ant.taskdef (name : 'jasper',
|
|
classname: 'org.apache.jasper.JspC',
|
|
classpath: configurations.compile.asPath)
|
|
def generated = new File("$buildDir/tmp_jsp")
|
|
generated.mkdirs()
|
|
ant.jasper(package: 'com.muwire.webui',
|
|
classPath : sourceSets.main.runtimeClasspath.asPath,
|
|
uriroot: webAppDir,
|
|
outputDir: "$buildDir/tmp_jsp",
|
|
compilerSourceVM: project.sourceCompatibility,
|
|
compilerTargetVM: project.targetCompatibility,
|
|
webXmlFragment: "$buildDir/tmp_jsp/web.xml.jasper")
|
|
def output = new File("$buildDir/compiledJsps")
|
|
output.mkdirs()
|
|
ant.javac(srcDir: 'build/tmp_jsp',
|
|
classPath : sourceSets.main.runtimeClasspath.asPath,
|
|
debug : true,
|
|
includeAntRuntime : false,
|
|
deprecation : "on",
|
|
source: project.sourceCompatibility,
|
|
target: project.targetCompatibility,
|
|
destDir:file("$buildDir/compiledJsps"))
|
|
|
|
}
|
|
}
|
|
|
|
task generateWebXML {
|
|
doLast {
|
|
def template = new File("$projectDir/templates/web.xml.template")
|
|
def templateText = template.text
|
|
def jasper = new File("$buildDir/tmp_jsp/web.xml.jasper")
|
|
templateText = templateText.replaceAll("__JASPER__", jasper.text)
|
|
templateText = templateText.replaceAll("__VERSION__", project.version)
|
|
templateText = templateText.replaceAll("__BUILD_NUMBER__", project.buildNumber)
|
|
def webXml = new File("$buildDir/tmp_jsp/web.xml")
|
|
webXml.text = templateText
|
|
}
|
|
}
|
|
|
|
// compile the po files and put them in the jar
|
|
task bundle {
|
|
doLast {
|
|
// run bundle-messages.sh
|
|
println 'starting bundle-messages'
|
|
println "webui/bundle-messages.sh".execute().text
|
|
println 'finished bundle-messages'
|
|
// compile java files in build/messages-src
|
|
ant.mkdir(dir: "$buildDir/compiledMessages")
|
|
ant.javac(srcDir: "$buildDir/messages-src",
|
|
classPath : sourceSets.main.runtimeClasspath.asPath,
|
|
debug : false,
|
|
includeAntRuntime : false,
|
|
source: project.sourceCompatibility,
|
|
target: project.targetCompatibility,
|
|
destDir:file("$buildDir/compiledMessages"))
|
|
// add resulting classes to build/libs/webui-(version).jar
|
|
ant.jar(destfile: "$buildDir/libs/webui-${version}.jar",
|
|
basedir: "$buildDir/compiledMessages",
|
|
includes: '**/messages_*.class',
|
|
update: 'true')
|
|
}
|
|
}
|
|
|
|
// rebuild the english po file for uploading to transifex
|
|
task poupdate {
|
|
doLast {
|
|
// run bundle-messages.sh
|
|
println 'starting bundle-messages -p'
|
|
println "webui/bundle-messages.sh -p".execute().text
|
|
println 'finished bundle-messages -p'
|
|
}
|
|
}
|
|
|
|
precompileJsp.dependsOn compileJava
|
|
generateWebXML.dependsOn precompileJsp
|
|
bundle.dependsOn precompileJsp
|
|
poupdate.dependsOn precompileJsp
|
|
war.dependsOn generateWebXML, bundle
|
|
|
|
artifacts {
|
|
warArtifact war
|
|
jarArtifact jar
|
|
}
|