in src/main/java/aws/cfn/codegen/json/Codegen.java [191:222]
public void generate() throws Exception {
config.getSettings().getRegions().stream()
.map(region -> {
try {
logger.debug("Loading specification for {}", region);
return new Object[] {
region,
loadSpecification(region),
loadGroupsOutputLocation(region),
loadGroupDefinitions()
};
}
catch (Exception e) {
logger.fatal(String.format("Loading specification for %s failed", region), e);
throw new RuntimeException(e);
}
})
.forEach(result -> {
String region = (String)result[0];
logger.debug("Starting generation for {} specification", region);
CfnSpecification spec = (CfnSpecification) result[1];
Map<String, File> locations = (Map<String, File>) result[2];
Map<String, ObjectNode> defns = (Map<String, ObjectNode>) result[3];
try {
generate(spec, locations, defns);
}
catch (Exception e) {
logger.fatal(String.format("Generation for %s specification failed", region), e);
throw new RuntimeException(e);
}
});
}