All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.smithy.kotlin.codegen.KotlinCodegenPlugin.kt Maven / Gradle / Ivy

/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0
 */

package software.amazon.smithy.kotlin.codegen

import software.amazon.smithy.build.PluginContext
import software.amazon.smithy.build.SmithyBuildPlugin
import software.amazon.smithy.codegen.core.SymbolProvider
import software.amazon.smithy.kotlin.codegen.core.KotlinSymbolProvider
import software.amazon.smithy.model.Model

/**
 * Plugin to trigger Kotlin code generation.
 */
class KotlinCodegenPlugin : SmithyBuildPlugin {
    override fun getName(): String = "kotlin-codegen"

    override fun execute(context: PluginContext?) = CodegenVisitor(context ?: error("context was null")).execute()

    companion object {
        /**
         * Creates a Kotlin symbol provider.
         * @param model The model to generate symbols for
         * @param settings Codegen settings
         * @return Returns the created provider
         */
        fun createSymbolProvider(model: Model, settings: KotlinSettings): SymbolProvider =
            KotlinSymbolProvider(model, settings)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy