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 a3d852c
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 18 deletions.
31 changes: 22 additions & 9 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 and callbacks 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,8 +348,8 @@ 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 (newCallbacks, c9, m9) = oldCallbacks.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)

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

let c1Resolved = try await c1
Expand All @@ -366,10 +370,19 @@ extension OpenAPI.Components {
let c5Resolved = try await c5
let c6Resolved = try await c6
let c7Resolved = try await c7
let c8Resolved = try await c8
let c9Resolved = try await c9
// 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 and callbacks code and uncomment the
// preferred code above.
let (newLinks, c8, m8) = try await oldLinks.externallyDereferenced(with: loader)
links = newLinks
let c8Resolved = c8
let (newCallbacks, c9, m9) = try await oldCallbacks.externallyDereferenced(with: loader)
callbacks = newCallbacks
let c9Resolved = c9

let noNewComponents =
c1Resolved.isEmpty
&& c2Resolved.isEmpty
Expand All @@ -378,11 +391,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 +406,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
31 changes: 22 additions & 9 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 and callbacks 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,8 +340,8 @@ 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 (newCallbacks, c9, m9) = oldCallbacks.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)

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

let c1Resolved = try await c1
Expand All @@ -358,10 +362,19 @@ extension OpenAPI.Components {
let c5Resolved = try await c5
let c6Resolved = try await c6
let c7Resolved = try await c7
let c8Resolved = try await c8
let c9Resolved = try await c9
// 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 and callbacks code and uncomment the
// preferred code above.
let (newLinks, c8, m8) = try await oldLinks.externallyDereferenced(with: loader)
links = newLinks
let c8Resolved = c8
let (newCallbacks, c9, m9) = try await oldCallbacks.externallyDereferenced(with: loader)
callbacks = newCallbacks
let c9Resolved = c9

let noNewComponents =
c1Resolved.isEmpty
&& c2Resolved.isEmpty
Expand All @@ -370,11 +383,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 +398,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 a3d852c

Please sign in to comment.