private void execute()

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();
    }