fleet/build.gradle
2019-04-26 13:37:57 +01:00

128 lines
2.9 KiB
Groovy

plugins {
id 'java'
id 'com.eriwen.gradle.js' version '2.14.1'
id 'com.eriwen.gradle.css' version '2.14.0'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
}
version = '1.3.0'
sourceSets {
main {
java {
srcDir 'src/main/java'
}
}
test {
java {
srcDir 'src/test/java'
}
}
}
dependencies {
// Logging
runtime 'org.apache.logging.log4j:log4j-api:2.11.1'
runtime 'org.apache.logging.log4j:log4j-core:2.11.1'
compile 'org.apache.logging.log4j:log4j-slf4j-impl:2.11.1'
// HTTP Framework
compile 'com.sparkjava:spark-core:2.7.2'
compile 'com.sparkjava:spark-template-freemarker:2.7.1'
compile 'org.apache.httpcomponents:httpclient:4.5.7'
// JSON Mapping/Marshalling
compile 'com.fasterxml.jackson.core:jackson-databind:2.9.6'
compile 'com.fasterxml.jackson.core:jackson-core:2.9.6'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.6'
// Database
compile 'com.zaxxer:HikariCP:3.3.1'
compile 'org.mariadb.jdbc:mariadb-java-client:2.4.0'
compile 'org.flywaydb:flyway-core:6.0.0-beta'
// MISC
compile 'org.apache.commons:commons-lang3:3.7'
// Unit Testing
testCompile 'junit:junit:4.11'
testCompile 'org.mockito:mockito-core:1.10.19'
}
jar {
manifest {
attributes "Main-Class": "io.linuxserver.fleet.core.Main"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA'
}
combineJs {
encoding = "UTF-8"
source = [
'src/main/resources/assets/js/jquery-3.3.1.min.js',
'src/main/resources/assets/js/bootstrap.bundle.min.js',
'src/main/resources/assets/js/fontawesome-all.min.js',
'src/main/resources/assets/js/jquery.tablesorter.js',
'src/main/resources/assets/js/Chart.bundle.min.js',
'src/main/resources/assets/js/fleet.js'
]
dest = file('src/main/resources/assets/js/all.js')
}
minifyJs {
source = combineJs
dest = file('src/main/resources/assets/js/all.min.js')
closure {
warningLevel = 'QUIET'
}
}
combineCss {
source = [
'src/main/resources/assets/css/bootstrap.css',
'src/main/resources/assets/css/Chart.min.css',
'src/main/resources/assets/css/fleet.css',
'src/main/resources/assets/css/fontawesome-all.css'
]
dest = file('src/main/resources/assets/css/all.css')
}
minifyCss {
source = combineCss
dest = file('src/main/resources/assets/css/all.min.css')
}
task configureLogConfiguration(type: Copy) {
def logFile = project.hasProperty('env') ? "${env}" : 'local'
from "config/log4j2.${logFile}.xml"
into 'src/main/resources'
rename "log4j2.${logFile}.xml", 'log4j2.xml'
}
build.dependsOn minifyCss, minifyJs, configureLogConfiguration