in src/main/java/aws/cfn/codegen/json/Main.java [50:82]
private void execute() throws Exception {
final ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
ClassLoader loader = Thread.currentThread().getContextClassLoader();
loader = loader == null ? getClass().getClassLoader() : loader;
Config config = configFile != null ?
mapper.readValue(configFile, Config.class) :
mapper.readValue(loader.getResource("config.yml"), Config.class);
if (merge && configFile != null) {
Config bundled = mapper.readValue(loader.getResource("config.yml"), Config.class);
Config.Builder builder = Config.builder(bundled);
builder.mergeOverride(config);
config = builder.build();
}
// are their overriding args sent in outside config file
Config.Settings settings = config.getSettings();
Set<String> regions = this.region != null ? Sets.newHashSet(this.region) : settings.getRegions();
File outputDir = this.outputDir != null ? this.outputDir : settings.getOutput();
SchemaDraft draft = this.draft != null ? this.draft : settings.getDraft();
boolean single = this.single != null ? this.single : settings.getSingle();
boolean intrinsics = this.intrinsics != null ? this.intrinsics : settings.getIncludeIntrinsics();
config = Config.builder(config)
.withJsonSchema(draft)
.withOutputDirectory(outputDir)
.setRegions(regions)
.isSingleResourceSpec(single)
.withIntrinsics(intrinsics)
.build();
new Codegen(config).generate();
}