-apply plugin: 'application'
-apply plugin: 'org.springframework.boot'
-apply plugin: 'com.gorylenko.gradle-git-properties'
-apply plugin: 'jacoco'
-apply plugin: 'com.diffplug.spotless'
+plugins {
+ id 'application'
+ id 'org.springframework.boot'
+ id 'io.spring.dependency-management'
+ id 'com.gorylenko.gradle-git-properties'
+ id 'jacoco'
+ id 'com.diffplug.spotless'
+}
dependencyManagement {
imports {
-apply plugin: 'com.gorylenko.gradle-git-properties'
-apply plugin: 'jacoco'
-apply plugin: 'com.github.johnrengelman.shadow'
-apply plugin: 'maven-publish'
-apply plugin: 'java-library'
-apply plugin: 'com.diffplug.spotless'
-apply plugin: 'com.github.spotbugs'
+plugins {
+ id 'com.gorylenko.gradle-git-properties'
+ id 'jacoco'
+ id 'com.github.johnrengelman.shadow'
+ id 'maven-publish'
+ id 'java-library'
+ id 'com.diffplug.spotless'
+ id 'com.github.spotbugs'
+}
group 'org.onap.portalng'
version rootProject.file('version').text.trim()
+++ /dev/null
-apply plugin: 'org.openapi.generator'
-
-void createOpenApiGenerateClientTask(Project project, String apiDefinition, String packageName, String dtoSuffix) {
- String taskName = "openApiGenerate_$packageName"
- tasks.create(taskName, org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
- generatorName = "java"
- library = "webclient"
- inputSpec = "${project.projectDir}/src/$apiDefinition".toString()
- outputDir = "${project.buildDir}/openapi".toString()
- configOptions = [
- openApiNullable : "false",
- dateLibrary : "java8",
- serializationLibrary: "jackson"
- ]
- typeMappings = [
- "File": "org.springframework.core.io.buffer.DataBuffer"
- ]
- generateApiTests = false
- generateApiDocumentation = false
- generateModelTests = false
- generateModelDocumentation = false
- invokerPackage = "org.onap.portalng.bff.openapi.$packageName"
- apiPackage = "org.onap.portalng.bff.openapi.${packageName}.api"
- modelPackage = "org.onap.portalng.bff.openapi.${packageName}.model"
- modelNameSuffix = dtoSuffix
- }
-}
-apply plugin: 'org.openapi.generator'
+plugins {
+ id 'org.openapi.generator'
+}
dependencies {
implementation "org.springframework.boot:spring-boot-starter-webflux"
}
compileJava {
- createOpenApiGenerateClientTask(project, "portal_history_openapi.yaml", "client_portal_history", "PortalHistoryDto")
- dependsOn = [':openapi:openApiGenerate_client_portal_history']
+ dependsOn = ['openApiGenerate_history']
}
sourceSets {
generatedSourceDirs += file("$buildDir/openapi/src/main/java")
}
}
+
+tasks.register('openApiGenerate_history', org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
+ generatorName = "java"
+ library = "webclient"
+ inputSpec = "${project.projectDir}/src/portal_history_openapi.yaml"
+ outputDir = "${project.buildDir}/openapi"
+ configOptions = [
+ openApiNullable : "false",
+ dateLibrary : "java8",
+ serializationLibrary: "jackson"
+ ]
+ typeMappings = [
+ "File": "org.springframework.core.io.buffer.DataBuffer"
+ ]
+ generateApiTests = false
+ generateApiDocumentation = false
+ generateModelTests = false
+ generateModelDocumentation = false
+ invokerPackage = "org.onap.portalng.bff.openapi.client_portal_history"
+ apiPackage = "org.onap.portalng.bff.openapi.client_portal_history.api"
+ modelPackage = "org.onap.portalng.bff.openapi.client_portal_history.model"
+ modelNameSuffix = "PortalHistoryDto"
+}
\ No newline at end of file
-apply plugin: 'org.openapi.generator'
+plugins {
+ id 'org.openapi.generator'
+}
dependencies {
implementation "org.springframework.boot:spring-boot-starter-webflux"
}
compileJava {
- createOpenApiGenerateClientTask(project, "portal_keycloak_openapi.yaml", "client_portal_keycloak", "KeycloakDto")
- dependsOn = [':openapi:openApiGenerate_client_portal_keycloak']
+ dependsOn = ['openApiGenerate_keycloak']
}
sourceSets {
generatedSourceDirs += file("$buildDir/openapi/src/main/java")
}
}
+
+tasks.register('openApiGenerate_keycloak', org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
+ generatorName = "java"
+ library = "webclient"
+ inputSpec = "${project.projectDir}/src/portal_keycloak_openapi.yaml"
+ outputDir = "${buildDir}/openapi"
+ configOptions = [
+ openApiNullable : "false",
+ dateLibrary : "java8",
+ serializationLibrary: "jackson"
+ ]
+ typeMappings = [
+ "File": "org.springframework.core.io.buffer.DataBuffer"
+ ]
+ generateApiTests = false
+ generateApiDocumentation = false
+ generateModelTests = false
+ generateModelDocumentation = false
+ invokerPackage = "org.onap.portalng.bff.openapi.client_portal_keycloak"
+ apiPackage = "org.onap.portalng.bff.openapi.client_portal_keycloak.api"
+ modelPackage = "org.onap.portalng.bff.openapi.client_portal_keycloak.model"
+ modelNameSuffix = "KeycloakDto"
+}
\ No newline at end of file
-apply plugin: 'org.openapi.generator'
+plugins {
+ id 'org.openapi.generator'
+}
dependencies {
implementation "org.springframework.boot:spring-boot-starter-webflux"
}
compileJava {
- createOpenApiGenerateClientTask(project, "portal_prefs_openapi.yaml", "client_portal_prefs", "PortalPrefsDto")
- dependsOn = [':openapi:openApiGenerate_client_portal_prefs']
+ dependsOn = ['openApiGenerate_preferences']
}
sourceSets {
generatedSourceDirs += file("$buildDir/openapi/src/main/java")
}
}
+
+tasks.register('openApiGenerate_preferences', org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
+ generatorName = "java"
+ library = "webclient"
+ inputSpec = "${project.projectDir}/src/portal_prefs_openapi.yaml"
+ outputDir = "${project.buildDir}/openapi"
+ configOptions = [
+ openApiNullable : "false",
+ dateLibrary : "java8",
+ serializationLibrary: "jackson"
+ ]
+ typeMappings = [
+ "File": "org.springframework.core.io.buffer.DataBuffer"
+ ]
+ generateApiTests = false
+ generateApiDocumentation = false
+ generateModelTests = false
+ generateModelDocumentation = false
+ invokerPackage = "org.onap.portalng.bff.openapi.client_portal_prefs"
+ apiPackage = "org.onap.portalng.bff.openapi.client_portal_prefs.api"
+ modelPackage = "org.onap.portalng.bff.openapi.client_portal_prefs.model"
+ modelNameSuffix = "PortalPrefsDto"
+}
\ No newline at end of file
-apply plugin: 'org.openapi.generator'
+plugins {
+ id 'org.openapi.generator'
+}
dependencies {
implementation "org.springframework.boot:spring-boot-starter-webflux"
-rootProject.name = 'bff'
+// Centrally declare plugin versions here
+pluginManagement {
+ // https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_version_management
+ plugins {
+ id 'io.spring.dependency-management' version '1.1.2'
+ id 'org.springframework.boot' version '3.1.2'
+ id 'com.github.hierynomus.license' version '0.16.1'
+ id 'com.gorylenko.gradle-git-properties' version '2.4.1'
+ id 'org.openapi.generator' version '7.0.0-beta'
+ id 'com.diffplug.spotless' version '6.20.0'
+ id 'com.github.johnrengelman.shadow' version '7.1.2'
+ id 'com.github.spotbugs' version '5.0.14'
+ }
+ // https://docs.gradle.org/current/userguide/plugins.html#sec:custom_plugin_repositories
+ repositories {
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
-include 'app'
+rootProject.name = 'bff'
include 'openapi:server'
include 'openapi:client-portal-prefs'
include 'openapi:client-portal-history'
include 'openapi:client-portal-keycloak'
include 'lib'
+include 'app'