From 30b3badbba10e3b1ac51fa890dba3b1e27686d49 Mon Sep 17 00:00:00 2001 From: Honza Dvorsky Date: Mon, 30 Oct 2023 13:53:20 +0100 Subject: [PATCH 1/3] Disable warnings-as-errors for nightlies --- docker/docker-compose.2204.main.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/docker-compose.2204.main.yaml b/docker/docker-compose.2204.main.yaml index d59e7ce2..970dc360 100644 --- a/docker/docker-compose.2204.main.yaml +++ b/docker/docker-compose.2204.main.yaml @@ -11,7 +11,8 @@ services: test: image: *image environment: - - WARN_AS_ERROR_ARG=-Xswiftc -warnings-as-errors + # Disable warnings as errors on nightlies as they are still in-development. + # - WARN_AS_ERROR_ARG=-Xswiftc -warnings-as-errors - IMPORT_CHECK_ARG=--explicit-target-dependency-import-check error - STRICT_CONCURRENCY_ARG=-Xswiftc -strict-concurrency=complete shell: From 23671b6c6f700b02ba4c2cd568cf4483b958dd55 Mon Sep 17 00:00:00 2001 From: Honza Dvorsky Date: Mon, 30 Oct 2023 14:11:51 +0100 Subject: [PATCH 2/3] Move closures into local variables to avoid a compiler crash --- .../GeneratorPipeline.swift | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift b/Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift index 22e12874..614305d2 100644 --- a/Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift +++ b/Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift @@ -103,20 +103,23 @@ func makeGeneratorPipeline( config: Config, diagnostics: any DiagnosticCollector ) -> GeneratorPipeline { + let filterDoc = { (doc: OpenAPI.Document) -> OpenAPI.Document in + guard let documentFilter = config.filter else { return doc } + let filteredDoc: OpenAPI.Document = try documentFilter.filter(doc) + return filteredDoc + } + let validateDoc = { (doc: OpenAPI.Document) -> OpenAPI.Document in + let validationDiagnostics = try validator(doc, config) + for diagnostic in validationDiagnostics { diagnostics.emit(diagnostic) } + return doc + } return .init( parseOpenAPIFileStage: .init( preTransitionHooks: [], transition: { input in try parser.parseOpenAPI(input, config: config, diagnostics: diagnostics) }, postTransitionHooks: [ - { document in - guard let documentFilter = config.filter else { return document } - return try documentFilter.filter(document) - }, - { doc in - let validationDiagnostics = try validator(doc, config) - for diagnostic in validationDiagnostics { diagnostics.emit(diagnostic) } - return doc - }, + filterDoc, + validateDoc, ] ), translateOpenAPIToStructuredSwiftStage: .init( From e1d6e371988cc7c8f36b56122824168a87b03ddf Mon Sep 17 00:00:00 2001 From: Honza Dvorsky Date: Mon, 30 Oct 2023 14:14:12 +0100 Subject: [PATCH 3/3] Fix soundness --- Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift b/Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift index 614305d2..e38df8d2 100644 --- a/Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift +++ b/Sources/_OpenAPIGeneratorCore/GeneratorPipeline.swift @@ -117,10 +117,7 @@ func makeGeneratorPipeline( parseOpenAPIFileStage: .init( preTransitionHooks: [], transition: { input in try parser.parseOpenAPI(input, config: config, diagnostics: diagnostics) }, - postTransitionHooks: [ - filterDoc, - validateDoc, - ] + postTransitionHooks: [filterDoc, validateDoc] ), translateOpenAPIToStructuredSwiftStage: .init( preTransitionHooks: [],