From 6884a05db98cb7326686c20ddbaf3f40de710088 Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Tue, 12 Nov 2024 13:47:58 +0100 Subject: [PATCH] RED-9139: move document to its own module, add TableOfContents and TableOfContentsItem * ignore checkstyle and pmd for generated proto files --- ...er.red.service.java-conventions.gradle.kts | 42 ----------------- .../build.gradle.kts | 47 +++++++++++++++++++ 2 files changed, 47 insertions(+), 42 deletions(-) diff --git a/buildSrc/src/main/kotlin/com.iqser.red.service.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/com.iqser.red.service.java-conventions.gradle.kts index 35577be4..4cfc282e 100644 --- a/buildSrc/src/main/kotlin/com.iqser.red.service.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/com.iqser.red.service.java-conventions.gradle.kts @@ -65,45 +65,3 @@ repositories { } } } - -fun parseDroolsImports(vararg droolsFilePaths: String): List { - val imports = mutableListOf() - val importPattern = Regex("^import\\s+(com\\.iqser\\.red\\.service\\.redaction\\.v1\\.[\\w.]+);") - val desiredPrefix = "com.iqser.red.service.redaction.v1" - - droolsFilePaths.forEach { filePath -> - File(filePath).forEachLine { line -> - importPattern.find(line)?.let { matchResult -> - val importPath = matchResult.groupValues[1].trim() - if (importPath.startsWith(desiredPrefix)) { - val formattedPath = importPath.replace('.', '/') - imports.add("$formattedPath.java") - } - } - } - } - - return imports -} - -// Combine imports from both drools files -val droolsImports = parseDroolsImports( - "redaction-service-v1/redaction-service-server-v1/src/main/resources/drools/all_rules_documine.drl", - "redaction-service-v1/redaction-service-server-v1/src/main/resources/drools/base_component_rules.drl" -) - -tasks.register("generateJavaDoc", Javadoc::class) { - - dependsOn("compileJava") - dependsOn("delombok") - classpath = project.sourceSets["main"].runtimeClasspath - source = fileTree("${buildDir}/generated/sources/delombok/java/main") { - include(droolsImports) - } - setDestinationDir(file(project.findProperty("javadocDestinationDir")?.toString() ?: "")) - - options.memberLevel = JavadocMemberLevel.PUBLIC - (options as StandardJavadocDocletOptions).apply { - title = "API Documentation for Redaction Service ${project.version}" - } -} diff --git a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts index ec035167..b2085b79 100644 --- a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts @@ -147,3 +147,50 @@ tasks.named("bootBuildImage") { } } +fun parseDroolsImports(vararg droolsFilePaths: String): List { + val imports = mutableListOf() + val importPattern = Regex("^import\\s+(com\\.iqser\\.red\\.service\\.redaction\\.v1\\.[\\w.]+);") + val desiredPrefix = "com.iqser.red.service.redaction.v1" + + droolsFilePaths.forEach { filePath -> + File(filePath).forEachLine { line -> + importPattern.find(line)?.let { matchResult -> + val importPath = matchResult.groupValues[1].trim() + if (importPath.startsWith(desiredPrefix)) { + val formattedPath = importPath.replace('.', '/') + imports.add("$formattedPath.java") + } + } + } + } + + return imports +} + +// Combine imports from both drools files +val droolsImports = parseDroolsImports( + "redaction-service-v1/redaction-service-server-v1/src/main/resources/drools/all_rules_documine.drl", + "redaction-service-v1/redaction-service-server-v1/src/main/resources/drools/base_component_rules.drl" +) + +tasks.register("generateJavaDoc", Javadoc::class) { + + dependsOn("compileJava") + dependsOn("delombok") + classpath = project.sourceSets["main"].runtimeClasspath + val documentFiles = fileTree("${project(":document").layout.buildDirectory.get()}/generated/sources/delombok/java/main") { + include(droolsImports) + } + val mainFiles = fileTree("${layout.buildDirectory.get()}/generated/sources/delombok/java/main") { + include(droolsImports) + } + source = documentFiles + mainFiles + + setDestinationDir(file(project.findProperty("javadocDestinationDir")?.toString() ?: "")) + + options.memberLevel = JavadocMemberLevel.PUBLIC + (options as StandardJavadocDocletOptions).apply { + title = "API Documentation for Redaction Service ${project.version}" + } +} +