diff options
Diffstat (limited to 'build.gradle')
-rw-r--r-- | build.gradle | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle new file mode 100644 index 000000000..efb65314a --- /dev/null +++ b/build.gradle @@ -0,0 +1,97 @@ +plugins { + id "java" + id "checkstyle" + id "com.google.protobuf" version "0.8.11" +} + +repositories { + mavenCentral() +} + +ext { + guiceVersion = "4.2.2" + jettyVersion = "9.4.26.v20200117" + jerseyVersion = "2.30" + jacksonVersion = "2.9.9" // same version as jersey-media-json-jackson dependency + protobufVersion = "3.11.1" +} + +sourceCompatibility = "1.8" +compileJava.options.encoding = "UTF-8" + +checkstyle { + toolVersion = "8.26" + configFile = "gradle/checkstyle.xml" as File + checkstyleTest.enabled = false +} + +protobuf { + generatedFilesBaseDir = "$projectDir/src" + protoc { + artifact = "com.google.protobuf:protoc:$protobufVersion" + } +} + +dependencies { + implementation "commons-codec:commons-codec:1.13" + implementation "com.h2database:h2:1.4.200" + implementation "mysql:mysql-connector-java:8.0.18" + implementation "org.postgresql:postgresql:42.2.9" + implementation "com.microsoft.sqlserver:mssql-jdbc:7.4.1.jre8" + implementation "com.zaxxer:HikariCP:3.4.2" + implementation "io.netty:netty-all:4.1.44.Final" + implementation "org.slf4j:slf4j-jdk14:1.7.30" + implementation "com.google.inject:guice:$guiceVersion" + implementation "com.google.inject.extensions:guice-assistedinject:$guiceVersion" + implementation "org.owasp.encoder:encoder:1.2.2" + implementation "org.glassfish:javax.json:1.1.4" + implementation "org.eclipse.jetty:jetty-server:$jettyVersion" + implementation "org.eclipse.jetty:jetty-servlet:$jettyVersion" + implementation "org.eclipse.jetty:jetty-webapp:$jettyVersion" + implementation "org.eclipse.jetty:jetty-jndi:$jettyVersion" + implementation "org.eclipse.jetty:jetty-proxy:$jettyVersion" + implementation "org.eclipse.jetty.websocket:websocket-server:$jettyVersion" + implementation "org.glassfish.jersey.containers:jersey-container-servlet:$jerseyVersion" + implementation "org.glassfish.jersey.media:jersey-media-json-jackson:$jerseyVersion" + implementation "org.glassfish.jersey.inject:jersey-hk2:$jerseyVersion" + implementation "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:$jacksonVersion" + implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr353:$jacksonVersion" + implementation "org.liquibase:liquibase-core:3.8.5", { + exclude group: "ch.qos.logback", module: "logback-classic" + } + implementation "com.sun.mail:javax.mail:1.6.2" + implementation "org.jxls:jxls:2.4.7" // needs upgrade + implementation "org.jxls:jxls-poi:1.0.16" // needs upgrade + implementation "org.apache.velocity:velocity:1.7" + implementation "org.apache.velocity:velocity-tools:2.0" + implementation "org.apache.commons:commons-collections4:4.4" + implementation "org.mnode.ical4j:ical4j:2.0.5" // needs upgrade + implementation "com.fizzed:ch-smpp:6.0.0-netty4-beta-3" + implementation "net.java.dev.jna:jna-platform:5.5.0" + implementation "com.github.jnr:jnr-posix:3.0.51" + implementation "com.google.protobuf:protobuf-java:$protobufVersion" + implementation "javax.xml.bind:jaxb-api:2.3.1" + implementation "com.sun.xml.bind:jaxb-core:2.3.0.1" + implementation "com.sun.xml.bind:jaxb-impl:2.3.2" + implementation "javax.activation:activation:1.1.1" + testImplementation "junit:junit:4.13" +} + +task copyDependencies(type: Copy) { + into "$projectDir/target/lib" + from configurations.runtimeClasspath +} +task copyBinary(type: Copy) { + into "$projectDir/target" + from jar +} +assemble.dependsOn(copyBinary, copyDependencies) + +jar { + manifest { + attributes( + "Main-Class": "org.traccar.Main", + "Implementation-Version": "4.7", + "Class-Path": configurations.runtimeClasspath.files.collect { "lib/$it.name" }.join(" ")) + } +} |