Skip to content

Commit

Permalink
try and find the limit
Browse files Browse the repository at this point in the history
  • Loading branch information
mattpolzin committed Apr 26, 2024
1 parent 7055ecb commit 1a56c43
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 12 deletions.
22 changes: 16 additions & 6 deletions Sources/OpenAPIKit/Components Object/Components.swift
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,10 @@ extension OpenAPI.Components {
return context
}

// NOTE: The links related code commented out below pushes Swift 5.8 and 5.9
// over the edge and you get exit code 137 crashes in CI.
// Swift 5.10 handles it fine.

let oldSchemas = schemas
let oldResponses = responses
let oldParameters = parameters
Expand All @@ -344,7 +348,7 @@ extension OpenAPI.Components {
async let (newRequestBodies, c5, m5) = oldRequestBodies.externallyDereferenced(with: loader)
async let (newHeaders, c6, m6) = oldHeaders.externallyDereferenced(with: loader)
async let (newSecuritySchemes, c7, m7) = oldSecuritySchemes.externallyDereferenced(with: loader)
async let (newLinks, c8, m8) = oldLinks.externallyDereferenced(with: loader)
// async let (newLinks, c8, m8) = oldLinks.externallyDereferenced(with: loader)
async let (newCallbacks, c9, m9) = oldCallbacks.externallyDereferenced(with: loader)
async let (newPathItems, c10, m10) = oldPathItems.externallyDereferenced(with: loader)

Expand All @@ -355,7 +359,7 @@ extension OpenAPI.Components {
requestBodies = try await newRequestBodies
headers = try await newHeaders
securitySchemes = try await newSecuritySchemes
links = try await newLinks
// links = try await newLinks
callbacks = try await newCallbacks
pathItems = try await newPathItems

Expand All @@ -366,10 +370,16 @@ extension OpenAPI.Components {
let c5Resolved = try await c5
let c6Resolved = try await c6
let c7Resolved = try await c7
let c8Resolved = try await c8
// let c8Resolved = try await c8
let c9Resolved = try await c9
let c10Resolved = try await c10

// For Swift 5.10+ we can delete the following links code and uncomment the
// preferred code above.
let (newLinks, c8, m8) = try await oldLinks.externallyDereferenced(with: loader)
links = newLinks
let c8Resolved = c8

let noNewComponents =
c1Resolved.isEmpty
&& c2Resolved.isEmpty
Expand All @@ -378,11 +388,11 @@ extension OpenAPI.Components {
&& c5Resolved.isEmpty
&& c6Resolved.isEmpty
&& c7Resolved.isEmpty
// && c8Resolved.isEmpty
&& c8Resolved.isEmpty
&& c9Resolved.isEmpty
&& c10Resolved.isEmpty

let newMessages = try await context + m1 + m2 + m3 + m4 + m5 + m6 + m7 + m9 + m10 // + m8
let newMessages = try await context + m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10

if noNewComponents { return newMessages }

Expand All @@ -393,7 +403,7 @@ extension OpenAPI.Components {
try merge(c5Resolved)
try merge(c6Resolved)
try merge(c7Resolved)
// try merge(c8Resolved)
try merge(c8Resolved)
try merge(c9Resolved)
try merge(c10Resolved)

Expand Down
22 changes: 16 additions & 6 deletions Sources/OpenAPIKit30/Components Object/Components.swift
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,10 @@ extension OpenAPI.Components {
return context
}

// NOTE: The links related code commented out below pushes Swift 5.8 and 5.9
// over the edge and you get exit code 137 crashes in CI.
// Swift 5.10 handles it fine.

let oldSchemas = schemas
let oldResponses = responses
let oldParameters = parameters
Expand All @@ -336,7 +340,7 @@ extension OpenAPI.Components {
async let (newRequestBodies, c5, m5) = oldRequestBodies.externallyDereferenced(with: loader)
async let (newHeaders, c6, m6) = oldHeaders.externallyDereferenced(with: loader)
async let (newSecuritySchemes, c7, m7) = oldSecuritySchemes.externallyDereferenced(with: loader)
async let (newLinks, c8, m8) = oldLinks.externallyDereferenced(with: loader)
// async let (newLinks, c8, m8) = oldLinks.externallyDereferenced(with: loader)
async let (newCallbacks, c9, m9) = oldCallbacks.externallyDereferenced(with: loader)
async let (newPathItems, c10, m10) = oldPathItems.externallyDereferenced(with: loader)

Expand All @@ -347,7 +351,7 @@ extension OpenAPI.Components {
requestBodies = try await newRequestBodies
headers = try await newHeaders
securitySchemes = try await newSecuritySchemes
links = try await newLinks
// links = try await newLinks
callbacks = try await newCallbacks
pathItems = try await newPathItems

Expand All @@ -358,10 +362,16 @@ extension OpenAPI.Components {
let c5Resolved = try await c5
let c6Resolved = try await c6
let c7Resolved = try await c7
let c8Resolved = try await c8
// let c8Resolved = try await c8
let c9Resolved = try await c9
let c10Resolved = try await c10

// For Swift 5.10+ we can delete the following links code and uncomment the
// preferred code above.
let (newLinks, c8, m8) = try await oldLinks.externallyDereferenced(with: loader)
links = newLinks
let c8Resolved = c8

let noNewComponents =
c1Resolved.isEmpty
&& c2Resolved.isEmpty
Expand All @@ -370,11 +380,11 @@ extension OpenAPI.Components {
&& c5Resolved.isEmpty
&& c6Resolved.isEmpty
&& c7Resolved.isEmpty
// && c8Resolved.isEmpty
&& c8Resolved.isEmpty
&& c9Resolved.isEmpty
&& c10Resolved.isEmpty

let newMessages = try await context + m1 + m2 + m3 + m4 + m5 + m6 + m7 + m9 + m10 //+ m8
let newMessages = try await context + m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10

if noNewComponents { return newMessages }

Expand All @@ -385,7 +395,7 @@ extension OpenAPI.Components {
try merge(c5Resolved)
try merge(c6Resolved)
try merge(c7Resolved)
// try merge(c8Resolved)
try merge(c8Resolved)
try merge(c9Resolved)
try merge(c10Resolved)

Expand Down

0 comments on commit 1a56c43

Please sign in to comment.