Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
179 lines (159 sloc) 6.41 KB
plugins {
id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.21'
id 'org.springframework.boot' version '2.2.0.RELEASE'
id 'org.jetbrains.kotlin.jvm' version '1.3.21'
id 'org.jetbrains.kotlin.plugin.spring' version '1.3.21'
id 'com.diffplug.gradle.spotless' version '3.19.0'
id 'com.bertramlabs.asset-pipeline' version '3.0.8'
id 'jacoco'
id 'com.github.kt3k.coveralls' version '2.8.2'
id 'ua.eshepelyuk.ManifestClasspath' version '1.0.0'
id "org.jetbrains.kotlin.kapt" version "1.3.31"
id "com.gorylenko.gradle-git-properties" version "2.0.0"
id "org.sonarqube" version "2.7"
id 'net.researchgate.release' version '2.6.0'
id 'org.liquibase.gradle' version '2.0.1'
}
apply plugin: 'io.spring.dependency-management'
group = 'de.code_freak'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
jcenter()
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-aop'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-data-ldap'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-batch'
implementation 'org.springframework.security:spring-security-ldap'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:2.3.0'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.9'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
implementation 'com.bertramlabs.plugins:asset-pipeline-spring-boot:3.0.10'
implementation 'com.bertramlabs.plugins:sass-asset-pipeline:3.0.9'
implementation 'com.vladsch.flexmark:flexmark-all:0.40.32'
implementation 'org.webjars:jquery:3.3.1'
implementation 'org.webjars:popper.js:1.14.6'
implementation 'org.webjars:bootstrap:4.3.1'
implementation 'org.webjars:font-awesome:5.8.1'
implementation 'com.spotify:docker-client:8.15.1'
implementation 'org.apache.commons:commons-compress:1.19'
implementation 'org.apache.commons:commons-csv:1.7'
implementation 'io.sentry:sentry-logback:1.7.16'
implementation 'com.github.hsingh:java-shortuuid:2a4d72f'
implementation 'com.github.Open-MBEE:junit-xml-parser:1.0.0'
implementation 'org.mitre:openid-connect-client:1.3.3'
implementation 'org.eclipse.jgit:org.eclipse.jgit:5.4.2.201908231537-r'
implementation 'org.eclipse.jgit:org.eclipse.jgit.archive:5.4.2.201908231537-r'
implementation 'org.liquibase:liquibase-core:3.6.3'
implementation 'com.graphql-java-kickstart:graphql-spring-boot-starter:5.10.0'
implementation 'com.expediagroup:graphql-kotlin-spring-server:1.2.2'
kapt 'org.springframework.boot:spring-boot-configuration-processor'
runtimeOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'org.postgresql:postgresql'
runtimeOnly 'org.hsqldb:hsqldb'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.batch:spring-batch-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.hamcrest:hamcrest:2.1'
testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.1.0'
testImplementation 'com.tngtech.archunit:archunit-junit4:0.11.0'
// workaround for https://github.com/spotify/docker-client/issues/1030
implementation 'org.glassfish.jersey.inject:jersey-hk2:2.26'
implementation 'org.glassfish.jersey.bundles.repackaged:jersey-guava:2.25.1'
// workaround for https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/issues/1468
implementation 'org.springframework.security.oauth:spring-security-oauth2:2.1.5.RELEASE'
liquibaseRuntime 'org.liquibase.ext:liquibase-hibernate5:3.6'
liquibaseRuntime 'com.h2database:h2:1.4.199'
liquibaseRuntime 'org.yaml:snakeyaml:1.15'
liquibaseRuntime sourceSets.main.runtimeClasspath
liquibaseRuntime sourceSets.main.output
}
liquibase {
activities {
main {
// this is a path relative to src/main/resources/
changeLogFile project.hasProperty('changeLogFile') ? project.property('changeLogFile') : 'db/changelog-master.yaml'
url 'jdbc:h2:./build/db/migration'
username 'sa'
driver 'org.h2.Driver'
referenceDriver 'liquibase.ext.hibernate.database.connection.HibernateDriver'
referenceUrl 'hibernate:spring:de.code_freak.codefreak.entity?dialect=org.hibernate.dialect.H2Dialect&' +
'hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&' +
'hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy'
}
}
}
compileKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '1.8'
}
}
compileTestKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '1.8'
}
}
bootJar {
// include assets so they can be served dynamically in production
from (fileTree("src/assets").files) {
into 'META-INF/assets'
}
}
spotless {
kotlin {
ktlint().userData(['indent_size': '2'])
}
}
jacoco {
toolVersion = '0.8.4'
}
jacocoTestReport {
reports {
xml.enabled = true
html.enabled = true
}
}
coveralls {
sourceDirs += ['src/main/kotlin']
}
springBoot {
mainClassName = 'de.code_freak.codefreak.CodeFreakApplicationKt'
}
test {
testLogging {
events "failed"
exceptionFormat "full"
}
}
task vagrantTest(type: Test) {
systemProperty "code-freak.docker.host", "http://localhost:2375"
testLogging {
events "failed"
exceptionFormat "full"
}
}
// Tests reports are required or Sonar will show 0% coverage
tasks.sonarqube.dependsOn jacocoTestReport
sonarqube {
properties {
property "sonar.projectKey", "code-freak_code-freak"
property "sonar.coverage.jacoco.xmlReportPaths", "build/reports/jacoco/test/jacocoTestReport.xml"
}
}
task generateGraphqlSchema(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = "de.code_freak.codefreak.graphql.SchemaPrinterKt"
args 'build/generated/graphql/schema.graphqls'
}
You can’t perform that action at this time.