Files
i2p.i2p/apps/i2psnark/build.gradle
2024-01-28 12:09:10 +00:00

68 lines
1.7 KiB
Groovy

plugins {
id 'java-library'
id 'war'
}
sourceSets {
main {
java {
srcDir 'java/src'
srcDir 'java/build/messages-src'
}
}
}
dependencies {
api project(':core')
api project(':apps:systray')
api 'gnu.getopt:java-getopt:1.0.13'
api project(':apps:ministreaming')
api project(':apps:jetty')
// this is not needed except for standalone,
// but we build the standalone classes even for non-standalone
api project(':apps:desktopgui')
}
task i2psnarkJar(type: Jar) {
from sourceSets.main.output
exclude 'org/klomp/snark/standalone/**'
exclude 'org/klomp/snark/web/**'
manifest {
attributes 'Main-Class': 'org.klomp.snark.Snark'
attributes 'Class-Path': 'i2p.jar mstreaming.jar streaming.jar'
}
}
// TODO: standalone jar. This is rather involved!
artifacts {
archives i2psnarkJar,war
}
// Create the java files from the po files. The jar task will compile them.
// This requires gettext 0.19 or higher.
// We don't support the "slow way"
task bundle {
doLast {
if (!(new File("$buildDir/classes/java/main/org/klomp/snark/web/messages_de.class")).exists())
println "apps/i2psnark/java/bundle-messages.sh".execute().text
}
}
war.dependsOn bundle
war {
rootSpec.exclude('/org/klomp/snark/*.class')
rootSpec.exclude('/org/klomp/snark/bencode/**')
rootSpec.exclude('/org/klomp/snark/comments/**')
rootSpec.exclude('/org/klomp/snark/dht/**')
rootSpec.exclude('/org/klomp/snark/standalone/**')
from ('resources', {
into ".resources"
})
webInf {
into 'classes/org/klomp/snark/web'
from 'mime.properties'
}
webXml = file('web.xml')
}