-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
120 lines (96 loc) · 2.93 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
113
114
115
116
117
118
119
120
allprojects {
apply plugin: 'uk.me.eddies.apps.edc.gradleconvention.formatter'
apply plugin: 'uk.me.eddies.apps.edc.gradleconvention.versioning'
}
project(':edc-backend') {
apply plugin: 'uk.me.eddies.apps.edc.gradleconvention.java-app'
dependencies {
implementation 'io.dropwizard:dropwizard-core:2.0.28'
implementation 'io.dropwizard:dropwizard-auth:2.0.28'
implementation 'at.favre.lib:bcrypt:0.9.0'
testImplementation 'io.dropwizard:dropwizard-testing:2.0.28'
testImplementation 'io.dropwizard:dropwizard-client:2.0.28'
}
application {
mainClass = 'uk.me.eddies.apps.edc.backend.application.EdcBackendApplication'
}
run {
args 'server'
args project.findProperty('configFile') ?: file('src/test/resources/uk/me/eddies/apps/edc/backend/application/testconfig.yaml')
}
}
project(':edc-config-util') {
apply plugin: 'uk.me.eddies.apps.edc.gradleconvention.java-app'
dependencies {
implementation 'at.favre.lib:bcrypt:0.9.0'
}
application {
mainClass = 'uk.me.eddies.apps.edc.configutil.application.EdcConfigUtil'
}
}
project('edc-frontend') {
apply plugin: 'uk.me.eddies.apps.edc.gradleconvention.angular-app'
}
project('edc-deploy') {
apply plugin: 'base'
apply plugin: 'com.palantir.docker-compose'
dependencies {
docker project(path: ':edc-backend', configuration: 'docker')
docker project(path: ':edc-frontend', configuration: 'docker')
}
generateDockerCompose {
mustRunAfter clean
}
tasks.register('processResources', Copy) {
group = 'dist'
description = 'Copies resources to the dist directory.'
from 'src/main/resources'
into 'build/dist/edc'
mustRunAfter clean
}
dockerCompose {
template 'src/main/docker/docker-compose.yaml.template'
dockerComposeFile 'build/dist/edc/docker-compose.yaml'
}
tasks.register('assembleDist') {
group = 'dist'
description = 'Assembles the project.'
dependsOn generateDockerCompose, processResources
}
tasks.register('packageDist', Zip) {
group = 'dist'
description = 'Creates a zip package of the project.'
dependsOn assembleDist
archiveFileName = "edc-${project.version}.zip"
destinationDirectory = file('build/dist')
from file('build/dist/edc')
into 'edc'
}
dockerComposeUp {
dependsOn assembleDist
dependsOn ':edc-backend:docker'
dependsOn ':edc-frontend:docker'
}
}
apply plugin: 'uk.me.eddies.gradleplugins.github-release'
githubRelease {
owner = 'StevenEddies'
repo = 'edc'
token = project.findProperty('uk.me.eddies.github.token') ?: ''
tagName = "v${version}"
name = "Version ${version}"
prerelease = version =~ /dev/
draft = true
assets = [ "edc-deploy/build/dist/edc-${project.version}.zip" ]
}
tasks.named('githubRelease') {
dependsOn ':edc-deploy:packageDist'
}
tasks.register('release') {
group = 'dist'
description = 'Makes a full release via Docker Hub and Github.'
dependsOn ':edc-backend:dockerPush'
dependsOn ':edc-frontend:dockerPush'
dependsOn ':edc-config-util:dockerPush'
dependsOn ':githubRelease'
}