forked from xenon-middleware/xenon
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
125 lines (103 loc) · 4.16 KB
/
build.gradle
File metadata and controls
125 lines (103 loc) · 4.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// Build file which can only run when dependencies and plugins have been downloaded.
// PLUGINS
// ==============
plugins {
// Changes in the plugins section should be also be applied to build.offline.gradle
id 'java'
id 'distribution'
// publishing
id 'maven-publish'
id 'com.jfrog.bintray' version '1.8.2'
// ide
id 'idea'
id 'eclipse'
// code style
id "com.diffplug.gradle.spotless" version "3.13.0"
// code coverage
id 'jacoco'
// license
id 'com.github.hierynomus.license' version '0.14.0'
// test sets
id 'org.unbroken-dome.test-sets' version '1.5.0'
}
// METADATA
// ==============
version = '3.0.0'
description = 'Xenon: a middleware abstraction library that provides a simple programming interface to various compute and storage resources.'
// IMPORTS
// =============
apply from: 'gradle/common.gradle'
apply from: 'gradle/test.gradle'
apply from: 'gradle/codestyle.gradle'
apply from: 'gradle/release.gradle'
apply from: 'gradle/license.gradle'
// DEPENDENCIES
// ==============
// Online dependencies
repositories {
mavenLocal()
mavenCentral()
jcenter()
maven {
url 'https://dl.bintray.com/palantir/releases' // docker-compose-rule is published on bintray
}
maven {
url 'https://jitpack.io'
}
}
dependencies {
// API
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.5'
// ftp
compile group: 'commons-net', name: 'commons-net', version: '3.3'
// ssh and sftp
compile group: 'com.github.NLeSC.mina-sshd', name: 'sshd-core', version: 'known-host-hash-with-port-1.6.0-SNAPSHOT'
compile group: 'org.apache.mina', name: 'mina-core', version: '2.0.7'
compile group: 'net.i2p.crypto', name: 'eddsa', version: '0.2.0'
compile group: 'com.google.guava', name: 'guava', version: '19.0'
// webdav
compile group: 'com.github.lookfirst', name: 'sardine', version: '5.8'
// compile group: 'joda-time', name: 'joda-time', version: '2.8.1'
// Runtime dependencies
runtime group: 'ch.qos.logback', name: 'logback-core', version: '1.0.11'
runtime group: 'ch.qos.logback', name: 'logback-classic', version: '1.0.11'
// Testing dependencies
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group: 'org.hamcrest', name: 'hamcrest-core', version: '1.3'
testCompile group: 'org.hamcrest', name: 'hamcrest-library', version: '1.3'
testCompile group: 'org.mockito', name: 'mockito-all', version: '1.9.5'
testCompile group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.16.0'
testApiCompile sourceSets.main.output
testApiCompile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.5'
testApiCompile group: 'junit', name: 'junit', version: '4.12'
integrationTestCompile sourceSets.testApi.output
integrationTestCompile 'com.palantir.docker.compose:docker-compose-rule-junit4:0.32.0'
// allow isolated and live tests to import from integration test,
// so abstract test classes and docker compose files can be extended and reused
fixedClientEnvironmentTestCompile sourceSets.testApi.output
liveTestCompile sourceSets.testApi.output
// TODO fixedClientEnvironmentTest should have same dependencies as integrationTest,
// do no copy deps but append integrationTest.deps to fixedClientEnvironmentTest.deps
fixedClientEnvironmentTestCompile 'com.palantir.docker.compose:docker-compose-rule-junit4:0.32.0'
docGeneratorCompile sourceSets.main.output
docGeneratorRuntime configurations.runtime
}
task downloadCompileDependencies(type: Copy) {
from configurations.compile.files
into compileLibDir
}
task downloadTestDependencies(type: Copy) {
from (configurations.testCompile.files - configurations.compile.files)
into testLibDir
}
task downloadRuntimeDependencies(type: Copy) {
from (configurations.runtime.files - configurations.compile.files)
into runtimeLibDir
}
task downloadDependencies(dependsOn: [
downloadCompileDependencies,
downloadTestDependencies,
downloadRuntimeDependencies
]) {
description "download all Java dependencies, as resolved by gradle, into the lib directory"
}