Skip to content

Commit

Permalink
only output operation manifest once
Browse files Browse the repository at this point in the history
  • Loading branch information
jimisaacs committed Sep 18, 2023
1 parent f79e659 commit c98e45a
Showing 1 changed file with 13 additions and 15 deletions.
28 changes: 13 additions & 15 deletions Sources/ApolloCodegenLib/ApolloCodegen.swift
Original file line number Diff line number Diff line change
Expand Up @@ -130,19 +130,6 @@ public class ApolloCodegen {
try validate(configContext, with: compilationResult)

let ir = IR(compilationResult: compilationResult)

if itemsToGenerate.contains(.operationManifest) {
var operationIDsFileGenerator = OperationManifestFileGenerator(config: configContext)

for operation in compilationResult.operations {
autoreleasepool {
let irOperation = ir.build(operation: operation)
operationIDsFileGenerator?.collectOperationIdentifier(irOperation)
}
}

try operationIDsFileGenerator?.generate(fileManager: fileManager)
}

if itemsToGenerate.contains(.code) {
var existingGeneratedFilePaths = configuration.options.pruneGeneratedFiles ?
Expand All @@ -165,6 +152,15 @@ public class ApolloCodegen {
afterCodeGenerationUsing: fileManager
)
}
} else if itemsToGenerate.contains(.operationManifest) {
var operationIDsFileGenerator = OperationManifestFileGenerator(config: configContext)
for operation in compilationResult.operations {
autoreleasepool {
let irOperation = ir.build(operation: operation)
operationIDsFileGenerator?.collectOperationIdentifier(irOperation)
}
}
try operationIDsFileGenerator?.generate(fileManager: fileManager)
}
}

Expand Down Expand Up @@ -435,7 +431,10 @@ public class ApolloCodegen {
}
}

var operationIDsFileGenerator = OperationManifestFileGenerator(config: config)
var operationIDsFileGenerator: OperationManifestFileGenerator?
if itemsToGenerate.contains(.operationManifest) {
operationIDsFileGenerator = OperationManifestFileGenerator(config: config)
}

for operation in compilationResult.operations {
try autoreleasepool {
Expand All @@ -453,7 +452,6 @@ public class ApolloCodegen {
if itemsToGenerate.contains(.operationManifest) {
try operationIDsFileGenerator?.generate(fileManager: fileManager)
}
operationIDsFileGenerator = nil

for graphQLObject in ir.schema.referencedTypes.objects {
try autoreleasepool {
Expand Down

0 comments on commit c98e45a

Please sign in to comment.