From b06775c56b97497abb060b47e5b1d11a590d100e Mon Sep 17 00:00:00 2001 From: Bartosz Michalik Date: Thu, 8 Dec 2022 22:13:28 +0100 Subject: [PATCH] maintenance release --- .github/workflows/maven_build_release.yaml | 5 +-- .github/workflows/package_release.yaml | 22 +++++++++++++ pom.xml | 15 ++++++--- .../blender/parser/DeserializerProvider.java | 3 +- .../sonata/blender/impl/SpecValidator.java | 2 +- src/test/resources/schemas/3.0/schema.json | 31 +++++++++++++------ 6 files changed, 58 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/package_release.yaml diff --git a/.github/workflows/maven_build_release.yaml b/.github/workflows/maven_build_release.yaml index c71d629..a124ed6 100644 --- a/.github/workflows/maven_build_release.yaml +++ b/.github/workflows/maven_build_release.yaml @@ -1,13 +1,10 @@ name: Java CI with Maven on: push: - tags: - - v* + tags: [v*] jobs: build: - runs-on: ubuntu-latest - steps: - uses: actions/checkout@v3 - name: Set up JDK 11 diff --git a/.github/workflows/package_release.yaml b/.github/workflows/package_release.yaml new file mode 100644 index 0000000..d2b0f4c --- /dev/null +++ b/.github/workflows/package_release.yaml @@ -0,0 +1,22 @@ +name: Publish package to GitHub Packages +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: maven + - name: Publish package + run: mvn --batch-mode deploy + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/pom.xml b/pom.xml index fa469bc..a5ad6e9 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ com.amartus.sonata blender SonataBlendingTool - 1.9.2 + 1.9.3 6.0.1 2.14.0 @@ -46,7 +46,7 @@ org.slf4j slf4j-api - 1.7.36 + 2.0.5 com.github.rvesse @@ -61,7 +61,7 @@ io.swagger.parser.v3 swagger-parser-v3 - 2.1.8 + 2.1.1 com.fasterxml.jackson.core @@ -89,10 +89,17 @@ com.networknt json-schema-validator - 1.0.73 + 1.0.74 test + + + github + GitHub Packages + https://maven.pkg.github.com/Amartus/LsoBlendingTool + + diff --git a/src/main/java/com/amartus/sonata/blender/parser/DeserializerProvider.java b/src/main/java/com/amartus/sonata/blender/parser/DeserializerProvider.java index c0a8c3f..d1f449e 100644 --- a/src/main/java/com/amartus/sonata/blender/parser/DeserializerProvider.java +++ b/src/main/java/com/amartus/sonata/blender/parser/DeserializerProvider.java @@ -1,6 +1,7 @@ package com.amartus.sonata.blender.parser; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.parser.util.OpenAPIDeserializer; import org.slf4j.Logger; @@ -13,7 +14,7 @@ public class DeserializerProvider { static class AmartusDeserializer extends OpenAPIDeserializer { @Override - public Schema getSchema(JsonNode node, String location, ParseResult result) { + public Schema getSchema(ObjectNode node, String location, ParseResult result) { var schema = super.getSchema(node, location, result); if (schema.get$ref() != null) { var description = Optional.ofNullable(node.get("description")) diff --git a/src/test/java/com/amartus/sonata/blender/impl/SpecValidator.java b/src/test/java/com/amartus/sonata/blender/impl/SpecValidator.java index b327610..3207157 100644 --- a/src/test/java/com/amartus/sonata/blender/impl/SpecValidator.java +++ b/src/test/java/com/amartus/sonata/blender/impl/SpecValidator.java @@ -14,7 +14,7 @@ public class SpecValidator { private final Supplier factory; public SpecValidator(JsonNode specification) { - var jsf = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V201909); + var jsf = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V4); factory = () -> jsf.getSchema(specification); } public Collection validate(JsonNode toValidate) { diff --git a/src/test/resources/schemas/3.0/schema.json b/src/test/resources/schemas/3.0/schema.json index d856ebe..3e12b00 100644 --- a/src/test/resources/schemas/3.0/schema.json +++ b/src/test/resources/schemas/3.0/schema.json @@ -1,4 +1,7 @@ { + "id": "https://spec.openapis.org/oas/3.0/schema/2021-09-28", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "The description of OpenAPI v3.0.x documents, as defined by https://spec.openapis.org/oas/v3.0.3", "type": "object", "required": [ "openapi", @@ -1355,9 +1358,8 @@ "description": "Bearer", "properties": { "scheme": { - "enum": [ - "bearer" - ] + "type": "string", + "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$" } } }, @@ -1371,9 +1373,8 @@ "properties": { "scheme": { "not": { - "enum": [ - "bearer" - ] + "type": "string", + "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$" } } } @@ -1486,7 +1487,8 @@ "PasswordOAuthFlow": { "type": "object", "required": [ - "tokenUrl" + "tokenUrl", + "scopes" ], "properties": { "tokenUrl": { @@ -1513,7 +1515,8 @@ "ClientCredentialsFlow": { "type": "object", "required": [ - "tokenUrl" + "tokenUrl", + "scopes" ], "properties": { "tokenUrl": { @@ -1541,7 +1544,8 @@ "type": "object", "required": [ "authorizationUrl", - "tokenUrl" + "tokenUrl", + "scopes" ], "properties": { "authorizationUrl": { @@ -1625,7 +1629,14 @@ "headers": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/Header" + "oneOf": [ + { + "$ref": "#/definitions/Header" + }, + { + "$ref": "#/definitions/Reference" + } + ] } }, "style": {