Class SmithyBuildConfig
- All Implemented Interfaces:
ToSmithyBuilder<SmithyBuildConfig>
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic SmithyBuildConfig.Builder
builder()
static SmithyBuildConfig
Gets the paths to all the models to import.long
Get the last modified time of the configuration file.getMaven()
Gets Maven dependency configuration.Gets the globally configured plugins that are applied to every projection.Gets all the configured projections.Gets the paths to all model sources.Gets the version of Smithy-Build.boolean
If a plugin can't be found, Smithy will by default fail the build.static SmithyBuildConfig
Loads a SmithyBuildConfig from a JSON file on disk.Take this object and create a builder that contains all of the current property values of this object.
-
Method Details
-
fromNode
-
builder
- Returns:
- Creates a builder used to build a
SmithyBuildConfig
.
-
load
Loads a SmithyBuildConfig from a JSON file on disk.The file is expected to contain the following structure:
{ "version": "1.0", "sources": ["model"], "imports": ["foo.json", "baz.json"], "outputDirectory": "build/output", "maven" { "dependencies": ["software.amazon.smithy:smithy-aws-traits:1.26.1"], "repositories": [ { "url": "https://example.com/maven", "httpCredentials": "${MAVEN_USER}:${MAVEN_PASSWORD}" } ] } "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:
RuntimeException
- if the file cannot be loaded.
-
toBuilder
Description copied from interface:ToSmithyBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToSmithyBuilder<SmithyBuildConfig>
- Returns:
- a builder for type T
-
getVersion
Gets the version of Smithy-Build.- Returns:
- Returns the version.
-
getImports
Gets the paths to all 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.
-
getSources
Gets the paths to all model sources.Paths can point to individual model files or directories. All models stored in all recursive directories will be imported. Each found Smithy model will be considered a source model.
- Returns:
- Gets the list of models to import.
-
getOutputDirectory
- Returns:
- Gets the optional output directory to store artifacts.
-
getProjections
Gets all the configured projections.- Returns:
- Gets the available projections as a map of name to config.
-
getPlugins
Gets the globally configured plugins that are applied to every projection.- Returns:
- Gets plugin settings.
-
isIgnoreMissingPlugins
public boolean isIgnoreMissingPlugins()If a plugin can't be found, Smithy will by default fail the build. This setting can be set to true to allow the build to progress even if there is a missing plugin.- Returns:
- Returns true if missing build plugins are allowed.
-
getMaven
Gets Maven dependency configuration.Note that smithy-build does not directly resolve or use dependencies. It's up to other packages like the Smithy CLI to use a dependency resolver based on smithy-build.json configuration and call smithy-build with the appropriate classpath.
- Returns:
- Returns Maven dependency information.
-
getLastModifiedInMillis
public long getLastModifiedInMillis()Get the last modified time of the configuration file.- Returns:
- Returns the last modified time in milliseconds since the epoch.
-