|
67 | 67 | import software.amazon.smithy.model.traits.EnumTrait;
|
68 | 68 | import software.amazon.smithy.model.traits.MediaTypeTrait;
|
69 | 69 | import software.amazon.smithy.model.traits.StreamingTrait;
|
| 70 | +import software.amazon.smithy.model.traits.UnitTypeTrait; |
70 | 71 | import software.amazon.smithy.utils.SmithyInternalApi;
|
71 | 72 | import software.amazon.smithy.utils.StringUtils;
|
72 | 73 |
|
@@ -458,13 +459,20 @@ public String formatModuleName(Shape shape, String name) {
|
458 | 459 | return visitedModels.get(shape);
|
459 | 460 | }
|
460 | 461 | // Add models into buckets no bigger than chunk size.
|
461 |
| - String path = String.join("/", ".", SHAPE_NAMESPACE_PREFIX, "models_" + bucketCount); |
462 |
| - visitedModels.put(shape, path); |
463 |
| - currentBucketSize++; |
464 |
| - if (currentBucketSize == chunkSize) { |
465 |
| - bucketCount++; |
466 |
| - currentBucketSize = 0; |
| 462 | + String path; |
| 463 | + if (shape.getId().equals(UnitTypeTrait.UNIT)) { |
| 464 | + // Unit should only be put in the zero bucket, since it does not |
| 465 | + // generate anything. It also does not contribute to bucket size. |
| 466 | + path = String.join("/", ".", SHAPE_NAMESPACE_PREFIX, "models_0"); |
| 467 | + } else { |
| 468 | + path = String.join("/", ".", SHAPE_NAMESPACE_PREFIX, "models_" + bucketCount); |
| 469 | + currentBucketSize++; |
| 470 | + if (currentBucketSize == chunkSize) { |
| 471 | + bucketCount++; |
| 472 | + currentBucketSize = 0; |
| 473 | + } |
467 | 474 | }
|
| 475 | + visitedModels.put(shape, path); |
468 | 476 | return path;
|
469 | 477 | }
|
470 | 478 |
|
|
0 commit comments