-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.gradle
112 lines (97 loc) · 4.33 KB
/
build.gradle
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
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'pl.allegro.tech.build.axion-release'
project('gluetools-core') {
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'maven-publish'
apply plugin: 'com.bmuschko.docker-remote-api'
}
project('gluetools-mysql-docker') {
apply plugin: 'java'
apply plugin: 'com.bmuschko.docker-remote-api'
}
project('gluetools-ws') {
apply plugin: 'war'
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'maven-publish'
}
project('gluetools-web') {
apply plugin: 'war'
apply plugin: 'maven-publish'
}
project('gluetoolsApp') {
apply plugin: 'war'
}
// Unified deployment task
task deployAll(dependsOn: [
':gluetools-core:install',
':gluetools-web:install',
':gluetools-ws:install',
':gluetoolsApp:cargoRedeployRemote',
':gluetools-mysql-docker:buildMySqlDockerImage',
':gluetools-mysql-docker:pushMySqlDockerImage',
':gluetools-core:buildCoreDockerImage',
':gluetools-core:pushCoreDockerImage',
]) {
}
configure(subprojects.findAll { it.name != 'gluetools-web' }) {
dependencies {
implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.4.1'
implementation group: 'org.apache.cayenne', name: 'cayenne-server', version: '3.1.1'
implementation group: 'org.apache.cayenne', name: 'cayenne-project', version: '3.1.1'
implementation group: 'commons-io', name: 'commons-io', version: '1.3.2'
implementation group: 'org.freemarker', name: 'freemarker', version: '2.3.25-incubating'
implementation group: 'commons-collections', name: 'commons-collections', version: '3.2'
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.13'
implementation group: 'jline', name: 'jline', version: '2.14.5'
implementation group: 'com.brsanthu', name: 'data-exporter', version: '1.0.4'
implementation group: 'com.offbytwo', name: 'docopt', version: '0.6.0.20150202'
implementation group: 'javax.json', name: 'javax.json-api', version: '1.0'
implementation group: 'org.glassfish', name: 'javax.json', version: '1.0.4'
implementation group: 'com.github.samtools', name: 'htsjdk', version: '2.0.1'
implementation group: 'net.sf.trove4j', name: 'trove4j', version: '3.0.3'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.0'
implementation group: 'org.apache.bcel', name: 'bcel', version: '6.0'
implementation group: 'org.slf4j', name: 'slf4j-nop', version: '1.7.0'
annotationProcessor group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.1'
testImplementation group: 'junit', name: 'junit', version: '4.+'
}
}
def scmCustomKey = System.getProperty("user.name").equals('imacadmin') ? '/Users/imacadmin/.ssh/github_id_rsa' : '/opt/bitnami/apps/jenkins/jenkins_home/.ssh/github_id_rsa'
scmVersion {
hooks {
pre 'fileUpdate', [file: 'gluetools-core/src/main/resources/gluecore.properties', pattern: { v, c -> /version=$v/ }, replacement: { v, c -> "version=$v" }]
pre 'fileUpdate', [file: 'gluetoolsApp/WebContent/pages/download/page.html', pattern: { v, c -> /$v/ }, replacement: { v, c -> "$v" }]
pre 'fileUpdate', [file: 'gluetoolsApp/WebContent/pages/userGuide/installation/page.html', pattern: { v, c -> /$v/ }, replacement: { v, c -> "$v" }]
pre 'fileUpdate', [file: 'gluetoolsApp/WebContent/pages/userGuide/exampleProject/page.html', pattern: { v, c -> /$v/ }, replacement: { v, c -> "$v" }]
pre 'commit', { v, p -> "Release version $v" }
}
scmVersion {
versionCreator 'versionWithBranch'
repository {
def scmCustomKeyFile = new File(scmCustomKey)
if (scmCustomKeyFile.exists()) {
customKey = scmCustomKeyFile
}
}
tag {
prefix = 'gluetools'
}
}
}
allprojects {
project.version = scmVersion.version
project.group = 'cvr.ac.uk'
}
buildscript {
repositories {
mavenCentral()
gradlePluginPortal() // Required for modern Gradle plugins
}
dependencies {
classpath group: 'pl.allegro.tech.build', name: 'axion-release-plugin', version: '1.9.3'
classpath group: 'com.bmuschko', name: 'gradle-docker-plugin', version: '9.3.2'
}
}