public static void main(String[] args) {
        TraitCodegenPlugin plugin = new TraitCodegenPlugin();
        Model model = Model.assembler(PluginExecutor.class.getClassLoader())
                .discoverModels(PluginExecutor.class.getClassLoader())
                .assemble()
                .unwrap();
        PluginContext context = PluginContext.builder()
                .fileManifest(FileManifest.create(Paths.get("build/integ")))
                .settings(ObjectNode.builder()
                        .withMember("package", "com.example.traits")
                        .withMember("namespace", "test.smithy.traitcodegen")
                        .withMember("header", ArrayNode.fromStrings("Header line One"))
                        .build())
                .model(model)
                .build();
        plugin.execute(context);
    }
Simple wrapper class used to execute the Trait codegen plugin for integration tests.
smithy-trait-codegen/src/test/java/software/amazon/smithy/traitcodegen/PluginExecutor.java