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": {