diff --git a/plugins/java/src/main/groovy/dolly-apps.gradle b/plugins/java/src/main/groovy/dolly-apps.gradle index 5551ffb17d7..ba686f8b995 100644 --- a/plugins/java/src/main/groovy/dolly-apps.gradle +++ b/plugins/java/src/main/groovy/dolly-apps.gradle @@ -1,16 +1,11 @@ plugins { + id "dolly-sonar" + id "io.spring.dependency-management" // See ../../../build.gradle for version. - id "jacoco" id "java" - id "org.sonarqube" // See ../../../build.gradle for version. id "org.springframework.boot" // See ../../../build.gradle for version. } -tasks.bootJar { - archiveFileName = "app.jar" - duplicatesStrategy = DuplicatesStrategy.WARN -} - configurations { compileOnly { extendsFrom annotationProcessor @@ -42,12 +37,18 @@ dependencies { dependencyManagement { applyMavenExclusions = false imports { - mavenBom "org.springframework.cloud:spring-cloud-dependencies:2023.0.1" mavenBom "org.springframework.boot:spring-boot-dependencies:3.2.1" + mavenBom "org.springframework.cloud:spring-cloud-dependencies:2023.0.1" mavenBom "org.springframework.session:spring-session-bom:2021.2.3" } } +java { + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } +} + repositories { mavenCentral() maven { @@ -69,23 +70,9 @@ repositories { mavenLocal() } -java { - toolchain { - languageVersion = JavaLanguageVersion.of(21) - } -} - -sonarqube { - properties { - property "sonar.dynamicAnalysis", "reuseReports" - property "sonar.host.url", "https://sonarcloud.io" - property "sonar.java.coveragePlugin", "jacoco" - property "sonar.language", "java" - property "sonar.organization", "navikt" - property "sonar.project.monorepo.enabled", true - property "sonar.sourceEncoding", "UTF-8" - property "sonar.token", System.getenv("SONAR_TOKEN") - } +tasks.bootJar { + archiveFileName = "app.jar" + duplicatesStrategy = DuplicatesStrategy.WARN } tasks.test { diff --git a/plugins/java/src/main/groovy/dolly-libs.gradle b/plugins/java/src/main/groovy/dolly-libs.gradle index 9fb888a6856..53eefa97a25 100644 --- a/plugins/java/src/main/groovy/dolly-libs.gradle +++ b/plugins/java/src/main/groovy/dolly-libs.gradle @@ -1,8 +1,8 @@ plugins { + id "dolly-sonar" + id "io.spring.dependency-management" // See ../../../build.gradle for version. - id "jacoco" id "java-library" - id "org.sonarqube" // See ../../../build.gradle for version. } group = "no.nav.testnav.libs" @@ -33,32 +33,19 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-test" } -repositories { - mavenCentral() - maven { - name = "Confluent" - url = uri("https://packages.confluent.io/maven/") - } - mavenLocal() -} - java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } -sonarqube { - properties { - property "sonar.dynamicAnalysis", "reuseReports" - property "sonar.host.url", "https://sonarcloud.io" - property "sonar.java.coveragePlugin", "jacoco" - property "sonar.language", "java" - property "sonar.organization", "navikt" - property "sonar.project.monorepo.enabled", true - property "sonar.sourceEncoding", "UTF-8" - property "sonar.token", System.getenv("SONAR_TOKEN") +repositories { + mavenCentral() + maven { + name = "Confluent" + url = uri("https://packages.confluent.io/maven/") } + mavenLocal() } tasks.test { diff --git a/plugins/java/src/main/groovy/dolly-proxies.gradle b/plugins/java/src/main/groovy/dolly-proxies.gradle index e93cc47f9a7..e6b941df7e7 100644 --- a/plugins/java/src/main/groovy/dolly-proxies.gradle +++ b/plugins/java/src/main/groovy/dolly-proxies.gradle @@ -1,9 +1,84 @@ +plugins { + id "dolly-sonar" + + id "io.spring.dependency-management" // See ../../../build.gradle for version. + id "java" + id "org.springframework.boot" // See ../../../build.gradle for version. +} + +configurations { + compileOnly { + extendsFrom annotationProcessor + } +} + dependencies { + annotationProcessor "org.projectlombok:lombok" + annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" + + compileOnly "org.projectlombok:lombok" + + developmentOnly "org.springframework.boot:spring-boot-devtools" + + implementation "net.logstash.logback:logstash-logback-encoder:7.4" implementation "no.nav.testnav.libs:reactive-core" implementation "no.nav.testnav.libs:reactive-proxy" - + implementation "org.hibernate.validator:hibernate-validator" + implementation "org.projectlombok:lombok" + implementation "org.springframework.boot:spring-boot-starter-actuator" implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server" implementation "org.springframework.cloud:spring-cloud-starter-gateway" + runtimeOnly "io.micrometer:micrometer-registry-prometheus" + + testAnnotationProcessor "org.projectlombok:lombok" + + testImplementation "org.springframework.boot:spring-boot-starter-test" testImplementation "org.springframework.cloud:spring-cloud-contract-wiremock" +} + +dependencyManagement { + applyMavenExclusions = false + imports { + mavenBom "org.springframework.boot:spring-boot-dependencies:3.2.1" + mavenBom "org.springframework.cloud:spring-cloud-dependencies:2023.0.1" + mavenBom "org.springframework.session:spring-session-bom:2021.2.3" + } +} + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } +} + +repositories { + mavenCentral() + maven { + name = "GitHub Packages" + url = uri("https://maven.pkg.github.com/navikt/maven-release") + credentials(PasswordCredentials) { + username "token" + password System.getenv("NAV_TOKEN") + } + } + maven { + name = "Confluent" + url = uri("https://packages.confluent.io/maven/") + } + maven { + name = "Shibboleth" + url = uri("https://build.shibboleth.net/maven/releases/") + } + mavenLocal() +} + +tasks.bootJar { + archiveFileName = "app.jar" + duplicatesStrategy = DuplicatesStrategy.WARN +} + +tasks.test { + useJUnitPlatform() + jvmArgs "--add-opens", "java.base/java.lang=ALL-UNNAMED" } \ No newline at end of file diff --git a/plugins/java/src/main/groovy/dolly-sonar.gradle b/plugins/java/src/main/groovy/dolly-sonar.gradle new file mode 100644 index 00000000000..7ef76b56442 --- /dev/null +++ b/plugins/java/src/main/groovy/dolly-sonar.gradle @@ -0,0 +1,17 @@ +plugins { + id "jacoco" + id "org.sonarqube" // See ../../../build.gradle for version. +} + +sonarqube { + properties { + property "sonar.dynamicAnalysis", "reuseReports" + property "sonar.host.url", "https://sonarcloud.io" + property "sonar.java.coveragePlugin", "jacoco" + property "sonar.language", "java" + property "sonar.organization", "navikt" + property "sonar.project.monorepo.enabled", true + property "sonar.sourceEncoding", "UTF-8" + property "sonar.token", System.getenv("SONAR_TOKEN") + } +} \ No newline at end of file