Skip to content

Commit

Permalink
Merge pull request #85 from amzn/additional_model_path_configurations
Browse files Browse the repository at this point in the history
Add support for additional model path configurations.
  • Loading branch information
tachyonics authored Nov 16, 2022
2 parents 56d3096 + ac165e9 commit de2039d
Showing 1 changed file with 53 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,59 @@ public struct APIGatewayClientCodeGeneration {
}
}

public static func generateFromModel<ModelType: ServiceModel>(
modelFilePaths: [String],
modelType: ModelType.Type,
generationType: GenerationType,
modelTargetName: String, clientTargetName: String,
customizations: CodeGenerationCustomizations,
applicationDescription: ApplicationDescription,
modelOverride: ModelOverride?) throws {
let targetSupport = ModelAndClientTargetSupport(modelTargetName: modelTargetName,
clientTargetName: clientTargetName)

_ = try ServiceModelGenerate.generateFromModel(
modelFilePaths: modelFilePaths,
customizations: customizations,
applicationDescription: applicationDescription,
modelOverride: modelOverride,
targetSupport: targetSupport) { (codeGenerator, serviceModel: ModelType) in
try codeGenerator.generateFromModel(serviceModel: serviceModel,
generationType: generationType,
asyncAwaitAPIs: customizations.asyncAwaitAPIs,
eventLoopFutureClientAPIs: customizations.eventLoopFutureClientAPIs,
minimumCompilerSupport: customizations.minimumCompilerSupport,
clientConfigurationType: customizations.clientConfigurationType)
}
}

public static func generateFromModel<ModelType: ServiceModel>(
modelDirectoryPaths: [String], fileExtension: String,
modelType: ModelType.Type,
generationType: GenerationType,
modelTargetName: String, clientTargetName: String,
customizations: CodeGenerationCustomizations,
applicationDescription: ApplicationDescription,
modelOverride: ModelOverride?) throws {
let targetSupport = ModelAndClientTargetSupport(modelTargetName: modelTargetName,
clientTargetName: clientTargetName)

_ = try ServiceModelGenerate.generateFromModel(
modelDirectoryPaths: modelDirectoryPaths,
fileExtension: fileExtension,
customizations: customizations,
applicationDescription: applicationDescription,
modelOverride: modelOverride,
targetSupport: targetSupport) { (codeGenerator, serviceModel: ModelType) in
try codeGenerator.generateFromModel(serviceModel: serviceModel,
generationType: generationType,
asyncAwaitAPIs: customizations.asyncAwaitAPIs,
eventLoopFutureClientAPIs: customizations.eventLoopFutureClientAPIs,
minimumCompilerSupport: customizations.minimumCompilerSupport,
clientConfigurationType: customizations.clientConfigurationType)
}
}

public static func generateWithNoModel(modelLocation: ModelLocation,
modelTargetName: String, clientTargetName: String,
modelPackageDependency: ModelPackageDependency?,
Expand Down

0 comments on commit de2039d

Please sign in to comment.