java/algobox/algobox-api/build.gradle
// Manifest.
group 'io.algobox'
// Import.
import org.apache.tools.ant.filters.ReplaceTokens
// Plugins.
buildscript {
repositories {
maven {
url 'https://plugins.gradle.org/m2/'
}
mavenLocal()
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
}
}
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'idea'
apply plugin: 'java'
// Plugin configuration.
jar {
manifest {
attributes 'Main-Class': 'io.algobox.api.Boot'
}
}
shadowJar {
baseName = project.name
classifier = null
version = null
}
sourceCompatibility = 1.8
def tokens = [
'APPLICATION_API_URL': 'http://127.0.0.1:8080',
'APPLICATION_ENABLE_SWAGGER': 'true',
'APPLICATION_PORT': '8080',
'APPLICATION_STRATEGIES_JAR_PATH': './',
'MARKET_OPEN_TIME_UTC': '22:00',
'MARKET_CLOSE_TIME_UTC': '22:30',
'MONGO_CONNECTION_URL': 'mongodb://127.0.0.1:27017',
'MONGO_DATABASE': 'datamaster'
]
// Default application properties.
processResources {
filter ReplaceTokens, tokens: tokens
}
// Integration test.
sourceSets {
integrationTest {
java.srcDir file("src/integrationTest/java")
resources.srcDir file("src/integrationTest/resources")
}
}
task integrationTest(type: Test) {
group "verification"
description "Runs the integration tests."
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
// Repositories.
repositories {
mavenCentral()
}
// Dependencies.
dependencies {
// Algobox.
compile project(':algobox-microservice')
compile project(':algobox-connectors')
// Local libraries.
compile fileTree(dir: 'lib', include: '*.jar')
// Serialization.
compile 'org.apache.avro:avro:1.8.1'
// Persistence.
compile 'org.mongodb:mongo-java-driver:3.2.2'
// Utils.
compile 'org.slf4j:jcl-over-slf4j:1.7.12'
compile 'ch.qos.logback:logback-classic:1.1.7'
// Testing.
testCompile project(':algobox-testing')
testCompile 'junit:junit:4.11'
testCompile 'org.mockito:mockito-core:2.2.27'
// Integration testing.
integrationTestCompile sourceSets.main.output
integrationTestCompile configurations.testCompile
integrationTestCompile sourceSets.test.output
integrationTestRuntime configurations.testRuntime
}