-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
129 lines (102 loc) · 3.76 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
121
122
123
124
125
126
127
128
// --features hibernate-gorm,jdbc-tomcat,groovy,jdbc-tomcat --lang groovy liquibaseworkflow
plugins {
id "groovy"
id "com.github.johnrengelman.shadow" version "5.0.0"
id "application"
id 'org.liquibase.gradle' version '2.0.1'
}
version "0.1"
group "liquibaseworkflow"
ext {
gormVersion = '7.0.0.RELEASE'
h2Version = '1.4.196'
tomcatJdbcVersion = '8.5.28'
}
// sets the default changelog file value if none was set on commandline
if( !project.ext.properties.containsKey('changeLogFile') ){
project.ext.properties.changeLogFile = ""
}
if( !project.ext.properties.runList ){
project.ext.runList = "none"
}
repositories {
mavenCentral()
maven { url "https://jcenter.bintray.com" }
}
configurations {
// for dependencies that are needed for development only
developmentOnly
}
dependencies {
implementation enforcedPlatform("io.micronaut:micronaut-bom:$micronautVersion")
compileOnly enforcedPlatform("io.micronaut:micronaut-bom:$micronautVersion")
annotationProcessor enforcedPlatform("io.micronaut:micronaut-bom:$micronautVersion")
testAnnotationProcessor enforcedPlatform("io.micronaut:micronaut-bom:$micronautVersion")
compileOnly "io.micronaut:micronaut-inject-groovy"
implementation "io.micronaut:micronaut-runtime-groovy"
implementation "io.micronaut:micronaut-validation"
implementation "io.micronaut:micronaut-http-client"
implementation "io.micronaut.configuration:micronaut-jdbc-tomcat"
implementation "javax.annotation:javax.annotation-api"
runtimeOnly "ch.qos.logback:logback-classic:1.2.3"
runtimeOnly "com.h2database:h2"
runtimeOnly "org.apache.tomcat:tomcat-jdbc"
testImplementation("org.spockframework:spock-core") {
exclude group: "org.codehaus.groovy", module: "groovy-all"
}
testImplementation "io.micronaut:micronaut-inject-groovy"
testImplementation "io.micronaut.test:micronaut-test-spock"
testImplementation "io.micronaut.test:micronaut-test-junit5"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.5.0"
if (!gradle.startParameter.taskNames.contains("generatedb")) {
implementation "io.micronaut:micronaut-http-server-netty"
}
runtime 'com.h2database:h2'
// GORM and database dependencies
implementation "io.micronaut.configuration:micronaut-hibernate-validator"
implementation ( "io.micronaut.configuration:micronaut-hibernate-gorm" ){
exclude group: 'org.grails', module: 'grails-datastore-gorm-hibernate5'
}
implementation "org.grails:grails-datastore-gorm-hibernate5:$gormVersion"
liquibaseRuntime 'org.liquibase:liquibase-core:3.6.1'
liquibaseRuntime 'org.liquibase:liquibase-groovy-dsl:2.0.1'
liquibaseRuntime "com.h2database:h2:$h2Version"
}
test.classpath += configurations.developmentOnly
mainClassName = "liquibaseworkflow.Application"
tasks.withType(GroovyCompile) {
groovyOptions.forkOptions.jvmArgs.add('-Dgroovy.parameters=true')
}
shadowJar {
mergeServiceFiles()
}
run.classpath += configurations.developmentOnly
run.jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote')
liquibase {
activities {
diffLocalDb {
changeLogFile project.ext.properties.changeLogFile
url 'jdbc:h2:./developmentdb'
username 'sa'
password 'sa'
referenceUrl 'jdbc:h2:./generatedb'
referencePassword 'sa'
referenceUsername 'sa'
}
migrateLocalDb{
changeLogFile project.ext.properties.changeLogFile
url 'jdbc:h2:./developmentdb'
username 'sa'
password 'sa'
}
none{
}
}
runList = project.ext.runList
}
// create temp db
task generatedb(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = "liquibaseworkflow.Application"
jvmArgs '-Dmicronaut.environments=generatedb'
}