-
Zlatin Balevsky authoredZlatin Balevsky authored
build.gradle 2.87 KiB
apply plugin: 'application'
application {
mainClassName='net.i2p.router.RouterLaunch'
applicationName='i2p'
}
dependencies {
implementation project(':router')
implementation project(':apps:ministreaming')
implementation project(':apps:streaming')
implementation project(':apps:i2ptunnel')
implementation project(':apps:jetty')
implementation project(':apps:i2psnark')
implementation project(':apps:systray')
implementation project(':apps:BOB')
implementation project(':apps:sam')
implementation project(':apps:routerconsole')
implementation project(':apps:desktopgui')
implementation project(':apps:jrobin')
implementation project(':apps:addressbook')
implementation project(':apps:susidns')
implementation project(':apps:susimail')
implementation project(':apps:i2pcontrol')
implementation project(':apps:imagegen')
implementation project(':core')
implementation project(':router')
implementation project(path : ':installer', configuration: 'jbigi')
implementation files("../apps/susidns/src/lib/standard.jar")
implementation files("../apps/susidns/src/lib/jstl.jar")
}
import java.nio.file.*
import java.util.zip.*
def projects = [':apps:routerconsole',
':apps:addressbook',
':apps:i2psnark',
':apps:imagegen',
':apps:i2pcontrol',
':apps:susidns',
':apps:susimail',
':apps:i2ptunnel'].collect {project(it)}
def rootDir = project.getRootProject().getRootDir()
def buildDir = new File("$buildDir")
def webappDir = new File(buildDir, 'webapps')
def geoipDir = new File(buildDir, "geoip")
task copyWars {
doLast {
webappDir.mkdirs()
projects.each { p ->
p.configurations.archives.getArtifacts().getFiles().
filter({it.getName().endsWith('war')}).each { file ->
println "copying war $file exists ${file.exists()}"
File target = new File(webappDir, file.getName())
Files.copy(file.toPath(), target.toPath())
}
}
}
}
projects.each { p ->
copyWars.dependsOn p.tasks['assemble']
}
task copyGeoip() {
doLast {
geoipDir.mkdirs()
File target = new File(geoipDir, "GeoLite2-Country.mmdb")
File source = new File("$rootDir/installer/resources/GeoLite2-Country.mmdb.gz")
InputStream is = new GZIPInputStream(new FileInputStream(source))
java.nio.file.Files.copy(is, target.toPath())
}
}
jar.dependsOn copyWars,copyGeoip
distributions {
main {
contents {
from('../installer/resources/') {
exclude '*.gz*'
}
from(webappDir.getAbsolutePath()) {
into 'webapps'
}
from(geoipDir.getAbsolutePath()) {
into 'geoip'
}
}
}
}