private static Set<ShapeId> getTraitShapeIds(Model model) {
        // Will only get traits that are defined in the model (no synthetic traits)
        Set<Shape> traits = model.getShapesWithTrait(TraitDefinition.class);

        Set<ShapeId> result = new TreeSet<>();
        for (Shape traitShape : traits) {
            result.add(traitShape.getId());
        }

        return result;
    }
Writes a build info file for each projection. This file contains the
projection name, the filters, mappers, and validation events encountered
while building the model.

<p>This plugin is invoked regardless of whether or not the model contains
error or unsuppressed validation events.

<p>This plugin is only invoked if the projection and original model are
configured on the provided PluginContext.
smithy-build/src/main/java/software/amazon/smithy/build/plugins/BuildInfoPlugin.java