Skip to content

Commit

Permalink
codegen: Fixup service filter to not load model file if filter set (#…
Browse files Browse the repository at this point in the history
…1012)

Fixes up the code generators filter on service ID to also not compute
the projection of a service's model file if it is not included in the
filter.

  SMITHY_GO_BUILD_API=com.amazonaws.acm# make generate

Or with smithy-build

  make smithy-build-com.amazonaws.acm#
  • Loading branch information
jasdel authored Jan 5, 2021
1 parent 70cb144 commit 08f06ec
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion codegen/sdk-codegen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ tasks.register("generate-smithy-build") {
val modelsDirProp: String by project
val models = project.file(modelsDirProp);

fileTree(models).filter { it.isFile }.files.forEach { file ->
fileTree(models).filter { it.isFile }.files.forEach eachFile@{ file ->
val model = Model.assembler()
.addImport(file.absolutePath)
// Grab the result directly rather than worrying about checking for errors via unwrap.
Expand All @@ -60,6 +60,16 @@ tasks.register("generate-smithy-build") {
"${services.size} in ${file.name}: ${services.map { it.id }}");
}
val service = services[0]

var filteredServices: String = System.getenv("SMITHY_GO_BUILD_API")?: ""
if (filteredServices.isNotEmpty()) {
for (filteredService in filteredServices.split(",")) {
if (!service.id.toString().startsWith(filteredService)) {
return@eachFile
}
}
}

var (sdkId, version, remaining) = file.name.split(".")
sdkId = sdkId.replace("-", "").toLowerCase();
val projectionContents = Node.objectNodeBuilder()
Expand Down

0 comments on commit 08f06ec

Please sign in to comment.