Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions boat-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
<dependency>
<groupId>org.openapitools.openapidiff</groupId>
<artifactId>openapi-diff-core</artifactId>
<version>2.1.0-beta.6</version>
<version>2.1.0-beta.8</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -101,7 +101,7 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>4.9.0</version>
<version>4.9.1</version>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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.
*/
Expand Down Expand Up @@ -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) {
Expand All @@ -73,15 +70,25 @@ 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);
}
}

}

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;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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 {
Expand All @@ -44,6 +47,7 @@ public static void diff(Path outputDirectory, Map<File, OpenAPI> success, Map<St
.sorted(BatchOpenApiDiff::sortVersions)
.collect(Collectors.toList());

OpenApiDiffOptions diffOptions = OpenApiDiffOptions.builder().build();
for (int i = 1; i < sortedSpecs.size(); i++) {
Pair<Path,OpenAPI> oldVersionPair = sortedSpecs.get(i-1);
Pair<Path,OpenAPI> newVersionPair = sortedSpecs.get(i);
Expand All @@ -53,7 +57,7 @@ public static void diff(Path outputDirectory, Map<File, OpenAPI> success, Map<St
Path newOpenAPIPath = newVersionPair.getKey();

try {
ChangedOpenApi compare = OpenApiDiff.compare(oldOpenAPI, newOpenAPI);
ChangedOpenApi compare = OpenApiDiff.compare(oldOpenAPI, newOpenAPI, diffOptions);
List<ChangedOpenApi> changeLog = getChangeLog(oldOpenAPI);
changeLog.add(compare);
String changelogMarkdown = renderChangeLog(changeLog);
Expand Down Expand Up @@ -126,7 +130,7 @@ private static String renderChangeLog(List<ChangedOpenApi> 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);
}
});
Expand Down
4 changes: 2 additions & 2 deletions boat-quay/boat-quay-lint/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<sonar.coverage.jacoco.xmlReportPaths>${basedir}/../${aggregate.report.dir}
</sonar.coverage.jacoco.xmlReportPaths>
<kotlin.version>1.9.21</kotlin.version>
<kotlin.version>1.9.22</kotlin.version>
<kotlin.compiler.incremental>false</kotlin.compiler.incremental>
</properties>

Expand Down Expand Up @@ -86,7 +86,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<version>3.12.1</version>
<configuration>
<annotationProcessorPaths>
<path>
Expand Down
9 changes: 8 additions & 1 deletion boat-quay/boat-quay-rules/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.24.2</version>
<version>3.25.0</version>
</dependency>

</dependencies>
Expand Down Expand Up @@ -168,6 +168,13 @@
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>

Expand Down
2 changes: 1 addition & 1 deletion boat-quay/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<properties>
<sonar.coverage.jacoco.xmlReportPaths>${basedir}/../${aggregate.report.dir}
</sonar.coverage.jacoco.xmlReportPaths>
<kotlin.version>1.9.21</kotlin.version>
<kotlin.version>1.9.22</kotlin.version>
<kotlin.compiler.incremental>false</kotlin.compiler.incremental>
<auto-service.version>1.1.1</auto-service.version>
</properties>
Expand Down
2 changes: 1 addition & 1 deletion boat-scaffold/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
<dependency>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-core</artifactId>
<version>3.25.7</version>
<version>3.25.8</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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, " "));
Expand All @@ -381,6 +382,9 @@ private boolean needApiUtil() {
*/
@Override
public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, List<Server> 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() {
Expand Down
14 changes: 7 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,16 @@

<sonar.organization>backbase</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<openapi-generator.version>6.6.0</openapi-generator.version>
<openapi-generator.version>7.2.0</openapi-generator.version>
<aggregate.report.dir>tests/target/site/jacoco-aggregate/jacoco.xml</aggregate.report.dir>
<sonar.coverage.jacoco.xmlReportPaths>${aggregate.report.dir}</sonar.coverage.jacoco.xmlReportPaths>

<lombok.version>1.18.30</lombok.version>
<jackson.version>2.16.0</jackson.version>
<jackson.version>2.16.1</jackson.version>
<mockito.version>5.8.0</mockito.version>

<slf4j.version>1.7.30</slf4j.version>
<swagger-core.version>2.2.19</swagger-core.version>
<swagger-core.version>2.2.20</swagger-core.version>
<swagger-parser.version>2.1.6</swagger-parser.version>
<snakeyaml.version>2.2</snakeyaml.version>
<jacoco-maven-plugin.version>0.8.11</jacoco-maven-plugin.version>
Expand Down Expand Up @@ -117,7 +117,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.9</version>
<version>2.0.10</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -203,7 +203,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-ext</artifactId>
<version>2.0.9</version>
<version>2.0.10</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -353,7 +353,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<version>3.12.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand All @@ -378,7 +378,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.2</version>
<version>3.2.3</version>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
Expand Down