Class SmithyBuildConfig

  • All Implemented Interfaces:
    software.amazon.smithy.utils.ToSmithyBuilder<SmithyBuildConfig>

    public final class SmithyBuildConfig
    extends java.lang.Object
    implements software.amazon.smithy.utils.ToSmithyBuilder<SmithyBuildConfig>
    Filter configuration that contains a list of named projections that are used to apply filters to a model.
    • Method Detail

      • load

        public static SmithyBuildConfig load​(java.nio.file.Path file)
        Loads a SmithyBuildConfig from a JSON file on disk.

        The file is expected to contain the following structure: { "version": "1.0", "imports": ["foo.json", "baz.json"], "outputDirectory": "build/output", "projections": { "projection-name": { "transforms": [ {"name": "transform-name", "args": ["argument1", "argument2", "..."]}, {"name": "other-transform"} }, "plugins": { "plugin-name": { "plugin-config": "value" }, "...": {} } } }, "plugins": { "plugin-name": { "plugin-config": "value" }, "...": {} } }

        Parameters:
        file - File to load and parse.
        Returns:
        Returns the loaded FileConfig.
        Throws:
        java.lang.RuntimeException - if the file cannot be loaded.
      • getVersion

        public java.lang.String getVersion()
        Gets the version of Smithy-Build.
        Returns:
        Returns the version.
      • getImports

        public java.util.List<java.lang.String> getImports()
        Gets the paths to all of the models to import.

        Paths can point to individual model files or directories. All models stored in all recursive directories will be imported.

        Returns:
        Gets the list of models to import.
      • getOutputDirectory

        public java.util.Optional<java.lang.String> getOutputDirectory()
        Returns:
        Gets the optional output directory to store artifacts.
      • getProjections

        public java.util.Map<java.lang.String,​ProjectionConfig> getProjections()
        Gets all of the configured projections.
        Returns:
        Gets the available projections as a map of name to config.
      • getPlugins

        public java.util.Map<java.lang.String,​software.amazon.smithy.model.node.ObjectNode> getPlugins()
        Gets the globally configured plugins that are applied to every projection.
        Returns:
        Gets plugin settings.