buildscript { repositories { mavenLocal() maven { url "${gradle.ext.artifactoryUrl}/${gradle.ext.artifactoryRepoKey}" credentials { username = "${gradle.ext.artifactoryUser}" password = "${gradle.ext.artifactoryPass}" } } } dependencies { classpath("ee.sm.ti.teis:ee.sm.ti.teis.gradle.plugin:${pluginVersion}") } configurations.all { // Check for updates every build resolutionStrategy.cacheChangingModulesFor 0, 'seconds' } } apply plugin: 'ee.sm.ti.teis' allprojects { functionalities{ base } repositories { mavenLocal() maven { url "${gradle.ext.artifactoryUrl}/${gradle.ext.artifactoryRepoKey}" credentials { username = "${gradle.ext.artifactoryUser}" password = "${gradle.ext.artifactoryPass}" } } jcenter() } group = "${theGroup}" version = "${theVersion}" apply plugin: 'java' apply plugin: 'idea' apply plugin: 'jacoco' sourceCompatibility = 11 targetCompatibility = 11 jar { manifest { attributes('Implementation-Title': project.name, 'Implementation-Version': project.version) } } test{ useJUnitPlatform() testLogging { events "skipped", "failed" } reports.junitXml.destination = file("$buildDir/test-results/test") finalizedBy jacocoTestReport sonarqube{ properties["sonar.junit.reportPaths"] = [file("$buildDir/test-results/test")] } } jacocoTestReport { reports { xml.enabled true html.enabled true csv.enabled true } beforeEvaluate { getClassDirectories().setFrom(files(classDirectories.files.collect { fileTree(dir: it, exclude: [ '**/*MapperImpl**' ]) })) } } dependencies { // TeIS compile "ee.sm.ti.teis:office-api-gateway-lib:${officeApiGatewayVersion}" compile "ee.sm.ti.teis:service-common-lib:${commonsVersion}" compile "ee.sm.ti.teis:domain-request-lib:${commonsVersion}" compile("com.querydsl:querydsl-core:${querydslVersion}") compile("com.querydsl:querydsl-jpa:${querydslVersion}") // Annotation processors annotationProcessor ( "org.mapstruct:mapstruct-processor:${mapstructVersion}", "com.querydsl:querydsl-apt:${querydslVersion}:jpa", "org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.2.Final", "javax.annotation:javax.annotation-api:1.3.2", "org.projectlombok:lombok:${lombokVersion}" ) // Tests testAnnotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}" testImplementation "org.junit.jupiter:junit-jupiter:${junitVersion}" testCompile 'org.mockito:mockito-core:2.27.0' testCompile 'org.mockito:mockito-junit-jupiter:2.27.0' testCompile 'org.assertj:assertj-core:3.11.1' // Misc compile 'org.apache.commons:commons-lang3:3.8.1' implementation "org.mapstruct:mapstruct:${mapstructVersion}" } } sonarqube { if (System.getenv('SONAR_URL')) { System.setProperty('sonar.host.url', System.getenv('SONAR_URL')) System.setProperty('sonar.login', System.getenv('SONAR_LOGIN')) } properties { def sonarName = "teis." + project.name property "sonar.projectKey", sonarName property "sonar.projectName", sonarName } }