diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 8df4b1c03..42186f9f2 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -18,10 +18,10 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Initialize CodeQL
- uses: github/codeql-action/init@v2
+ uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
- name: Autobuild
- uses: github/codeql-action/autobuild@v2
+ uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
+ uses: github/codeql-action/analyze@v3
diff --git a/boat-maven-plugin/pom.xml b/boat-maven-plugin/pom.xml
index 0e5141cd4..05b16b382 100644
--- a/boat-maven-plugin/pom.xml
+++ b/boat-maven-plugin/pom.xml
@@ -52,7 +52,7 @@
org.openapitools.openapidiff
openapi-diff-core
- 2.1.0-beta.6
+ 2.1.0-beta.8
@@ -101,7 +101,7 @@
org.codehaus.plexus
plexus-archiver
- 4.9.0
+ 4.9.1
diff --git a/boat-maven-plugin/src/main/java/com/backbase/oss/boat/DiffMojo.java b/boat-maven-plugin/src/main/java/com/backbase/oss/boat/DiffMojo.java
index 60089fb0d..5c2b476be 100644
--- a/boat-maven-plugin/src/main/java/com/backbase/oss/boat/DiffMojo.java
+++ b/boat-maven-plugin/src/main/java/com/backbase/oss/boat/DiffMojo.java
@@ -1,12 +1,7 @@
package com.backbase.oss.boat;
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.FileUtils;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Mojo;
@@ -19,6 +14,8 @@
import org.openapitools.openapidiff.core.output.MarkdownRender;
import org.openapitools.openapidiff.core.output.Render;
+import java.io.*;
+
/**
* Calculates a Change log for APIs.
*/
@@ -52,12 +49,12 @@ public void execute() throws MojoExecutionException {
ConsoleRender consoleRender = new ConsoleRender();
if (changedOpenApi.isIncompatible()) {
- log.error("\n{}", consoleRender.render(changedOpenApi));
+ log.error("\n{}", renderChangedOpenApi(consoleRender, changedOpenApi));
if (breakOnBreakingChanges) {
throw new MojoExecutionException("newFile: " + newFile + " contains breaking changes!");
}
} else {
- log.info("\n{}", consoleRender.render(changedOpenApi));
+ log.info("\n{}", renderChangedOpenApi(consoleRender, changedOpenApi));
}
if (writeChangelog) {
@@ -73,8 +70,9 @@ public void execute() throws MojoExecutionException {
} else {
throw new MojoExecutionException("Invalid changelogRender. Supported types are 'markdown' and 'html");
}
- try {
- FileUtils.write(new File(changelogOutput, "changelog." + extension), render.render(changedOpenApi), StandardCharsets.UTF_8);
+ File output = new File(changelogOutput, "changelog." + extension);
+ try (FileOutputStream outputStream = new FileOutputStream(output)) {
+ render.render(changedOpenApi, new OutputStreamWriter(outputStream));
} catch (IOException e) {
throw new MojoExecutionException("Failed to write output", e);
}
@@ -82,6 +80,15 @@ public void execute() throws MojoExecutionException {
}
+ public static String renderChangedOpenApi(Render render, ChangedOpenApi changedOpenApi) {
+ try (OutputStream outputStream = new ByteArrayOutputStream()) {
+ render.render(changedOpenApi, new OutputStreamWriter(outputStream));
+ return outputStream.toString();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
public void setNewFile(File newFile) {
this.newFile = newFile;
}
diff --git a/boat-maven-plugin/src/main/java/com/backbase/oss/boat/diff/BatchOpenApiDiff.java b/boat-maven-plugin/src/main/java/com/backbase/oss/boat/diff/BatchOpenApiDiff.java
index 17b72fb4f..90e58bb5f 100644
--- a/boat-maven-plugin/src/main/java/com/backbase/oss/boat/diff/BatchOpenApiDiff.java
+++ b/boat-maven-plugin/src/main/java/com/backbase/oss/boat/diff/BatchOpenApiDiff.java
@@ -1,10 +1,21 @@
package com.backbase.oss.boat.diff;
+import com.backbase.oss.boat.DiffMojo;
import com.backbase.oss.boat.serializer.SerializerUtils;
import io.swagger.parser.OpenAPIParser;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.parser.core.models.ParseOptions;
import io.swagger.v3.parser.core.models.SwaggerParseResult;
+import lombok.experimental.UtilityClass;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.openapitools.openapidiff.core.compare.OpenApiDiff;
+import org.openapitools.openapidiff.core.compare.OpenApiDiffOptions;
+import org.openapitools.openapidiff.core.model.ChangedOpenApi;
+import org.openapitools.openapidiff.core.output.MarkdownRender;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@@ -15,14 +26,6 @@
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import lombok.experimental.UtilityClass;
-import org.apache.commons.lang3.tuple.Pair;
-import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
-import org.openapitools.openapidiff.core.compare.OpenApiDiff;
-import org.openapitools.openapidiff.core.model.ChangedOpenApi;
-import org.openapitools.openapidiff.core.output.MarkdownRender;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
@UtilityClass
public class BatchOpenApiDiff {
@@ -44,6 +47,7 @@ public static void diff(Path outputDirectory, Map success, Map oldVersionPair = sortedSpecs.get(i-1);
Pair newVersionPair = sortedSpecs.get(i);
@@ -53,7 +57,7 @@ public static void diff(Path outputDirectory, Map success, Map changeLog = getChangeLog(oldOpenAPI);
changeLog.add(compare);
String changelogMarkdown = renderChangeLog(changeLog);
@@ -126,7 +130,7 @@ private static String renderChangeLog(List changeLog) {
if (diff.isIncompatible()) {
markDown.append("**Note:** API has incompatible changes!!\n");
}
- String changes = BatchOpenApiDiff.markdownRender.render(diff);
+ String changes = DiffMojo.renderChangedOpenApi(markdownRender, diff);
markDown.append(changes);
}
});
diff --git a/boat-quay/boat-quay-lint/pom.xml b/boat-quay/boat-quay-lint/pom.xml
index ad91fcc15..eba88b978 100644
--- a/boat-quay/boat-quay-lint/pom.xml
+++ b/boat-quay/boat-quay-lint/pom.xml
@@ -17,7 +17,7 @@
${basedir}/../${aggregate.report.dir}
- 1.9.21
+ 1.9.22
false
@@ -86,7 +86,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.11.0
+ 3.12.1
diff --git a/boat-quay/boat-quay-rules/pom.xml b/boat-quay/boat-quay-rules/pom.xml
index be66290fc..f669f9b03 100644
--- a/boat-quay/boat-quay-rules/pom.xml
+++ b/boat-quay/boat-quay-rules/pom.xml
@@ -92,7 +92,7 @@
org.assertj
assertj-core
- 3.24.2
+ 3.25.0
@@ -168,6 +168,13 @@
true
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ true
+
+
diff --git a/boat-quay/pom.xml b/boat-quay/pom.xml
index 26df2af89..0c2a08fc8 100644
--- a/boat-quay/pom.xml
+++ b/boat-quay/pom.xml
@@ -19,7 +19,7 @@
${basedir}/../${aggregate.report.dir}
- 1.9.21
+ 1.9.22
false
1.1.1
diff --git a/boat-scaffold/pom.xml b/boat-scaffold/pom.xml
index 9b39d5941..8bfb1bb45 100644
--- a/boat-scaffold/pom.xml
+++ b/boat-scaffold/pom.xml
@@ -155,7 +155,7 @@
com.github.javaparser
javaparser-core
- 3.25.7
+ 3.25.8
test
diff --git a/boat-scaffold/src/main/java/com/backbase/oss/codegen/angular/BoatAngularGenerator.java b/boat-scaffold/src/main/java/com/backbase/oss/codegen/angular/BoatAngularGenerator.java
index 0c083f418..bd078a0b5 100644
--- a/boat-scaffold/src/main/java/com/backbase/oss/codegen/angular/BoatAngularGenerator.java
+++ b/boat-scaffold/src/main/java/com/backbase/oss/codegen/angular/BoatAngularGenerator.java
@@ -151,7 +151,7 @@ public void preprocessOpenAPI(OpenAPI openAPI) {
@Override
protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) {
- codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(openAPI, schema));
+ codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema));
addImport(codegenModel, codegenModel.additionalPropertiesType);
}
diff --git a/boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java b/boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java
index 177837e28..827cd98ca 100644
--- a/boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java
+++ b/boat-scaffold/src/main/java/com/backbase/oss/codegen/java/BoatSpringCodeGen.java
@@ -17,6 +17,7 @@
import java.io.File;
import java.io.IOException;
import java.io.Writer;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Set;
@@ -354,9 +355,9 @@ public void processOpts() {
writePropertyBack(USE_PROTECTED_FIELDS, this.useProtectedFields);
- this.additionalProperties.put("indent4", new IndentedLambda(4, " "));
+ this.additionalProperties.put("indent4", new IndentedLambda(4, " ", true, true));
this.additionalProperties.put("newLine4", new NewLineIndent(4, " "));
- this.additionalProperties.put("indent8", new IndentedLambda(8, " "));
+ this.additionalProperties.put("indent8", new IndentedLambda(8, " ", true, true));
this.additionalProperties.put("newLine8", new NewLineIndent(8, " "));
this.additionalProperties.put("toOneLine", new FormatToOneLine());
this.additionalProperties.put("trimAndIndent4", new TrimAndIndent(4, " "));
@@ -381,6 +382,9 @@ private boolean needApiUtil() {
*/
@Override
public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, List servers) {
+ if (operation.getExtensions() == null) {
+ operation.setExtensions(new LinkedHashMap<>());
+ }
final CodegenOperation codegenOperation = super.fromOperation(path, httpMethod, operation, servers);
if (this.addServletRequest) {
final CodegenParameter codegenParameter = new CodegenParameter() {
diff --git a/pom.xml b/pom.xml
index 2af9d2b74..17b1d0baa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,16 +56,16 @@
backbase
https://sonarcloud.io
- 6.6.0
+ 7.2.0
tests/target/site/jacoco-aggregate/jacoco.xml
${aggregate.report.dir}
1.18.30
- 2.16.0
+ 2.16.1
5.8.0
1.7.30
- 2.2.19
+ 2.2.20
2.1.6
2.2
0.8.11
@@ -117,7 +117,7 @@
org.slf4j
slf4j-api
- 2.0.9
+ 2.0.10
@@ -203,7 +203,7 @@
org.slf4j
slf4j-ext
- 2.0.9
+ 2.0.10
@@ -353,7 +353,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.11.0
+ 3.12.1
org.apache.maven.plugins
@@ -378,7 +378,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- 3.2.2
+ 3.2.3
org.sonarsource.scanner.maven