Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- plugins {
- id "com.github.johnrengelman.shadow" version "5.0.0"
- id "application"
- id "org.liquibase.gradle" version "2.0.0"
- id "java"
- id "nu.studer.jooq" version "3.0.3"
- }
- group 'com.mycompany'
- version '1.0'
- sourceCompatibility = 1.11
- targetCompatibility = 1.11
- repositories {
- mavenCentral()
- }
- dependencies {
- annotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion")
- annotationProcessor "io.micronaut:micronaut-inject-java"
- annotationProcessor "io.micronaut:micronaut-validation"
- implementation platform("io.micronaut:micronaut-bom:$micronautVersion")
- implementation "io.micronaut:micronaut-http-client"
- implementation "io.micronaut:micronaut-inject"
- implementation "io.micronaut:micronaut-validation"
- implementation "io.micronaut:micronaut-runtime"
- implementation "io.micronaut:micronaut-http-server-netty"
- implementation 'com.google.code.gson:gson:2.8.5'
- implementation 'io.micronaut.configuration:micronaut-jooq'
- implementation 'io.micronaut:micronaut-management:1.1.0'
- runtime 'org.postgresql:postgresql:42.2.4'
- runtimeOnly "ch.qos.logback:logback-classic:1.2.3"
- testAnnotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion")
- testAnnotationProcessor "io.micronaut:micronaut-inject-java"
- testImplementation platform("io.micronaut:micronaut-bom:$micronautVersion")
- testImplementation "org.junit.jupiter:junit-jupiter-api"
- testImplementation "io.micronaut.test:micronaut-test-junit5"
- testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine"
- jooqRuntime 'postgresql:postgresql:9.1-901.jdbc4'
- liquibaseRuntime("org.liquibase:liquibase-core:3.6.1")
- liquibaseRuntime('org.postgresql:postgresql:42.2.4')
- }
- test.classpath += configurations.developmentOnly
- mainClassName = "com.mycompany.Application"
- // use JUnit 5 platform
- test {
- useJUnitPlatform()
- }
- tasks.withType(JavaCompile){
- options.encoding = "UTF-8"
- options.compilerArgs.add('-parameters')
- }
- // Database setup
- project.ext {
- name = "my-app"
- ciCommitSha = ""
- dbUrl = "jdbc:postgresql://localhost:5432/my_app"
- username = "username"
- password = "password"
- }
- def generatedDir = 'src/main/generated'
- sourceSets {
- main {
- java {
- srcDirs += [generatedDir]
- }
- }
- }
- jooq {
- Postgres(sourceSets.main) {
- jdbc {
- driver = 'org.postgresql.Driver'
- url = project.ext.dbUrl
- user = project.ext.username
- password = project.ext.password
- schema = 'my_app'
- }
- generator {
- name = 'org.jooq.codegen.DefaultGenerator'
- strategy {
- name = 'org.jooq.codegen.DefaultGeneratorStrategy'
- }
- database {
- name = 'org.jooq.meta.postgres.PostgresDatabase'
- inputSchema = 'public'
- forcedTypes {
- forcedType {
- userType = 'com.google.gson.JsonElement'
- binding = 'com.mycompany.util.PostgresJSONGsonBinding'
- expression = '.*'
- types = 'JSONB?'
- }
- }
- }
- generate {
- relations = true
- deprecated = false
- records = true
- immutablePojos = true
- fluentSetters = true
- }
- target {
- packageName = 'com.mycompany.jooq'
- directory = generatedDir
- }
- }
- }
- }
- // Task to create the jar containing all the libraries
- shadowJar {
- mergeServiceFiles()
- archiveName = "${project.ext.name}.jar"
- }
- run.classpath += configurations.developmentOnly
- run.jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement