ext.mergeDefinitions = { String definitionsInputDir, String definitionsOutputPath -> def merged = new File(definitionsOutputPath) merged.delete() boolean isFirst = true fileTree(dir: definitionsInputDir).getFiles().each { file -> if (!file.isFile() || !file.name.endsWith(".yml")) { return } if (isFirst) { isFirst = false } else { merged << "\n---\n" } merged << file.text .replaceAll("\\s*#[^\n]+", "") .replaceAll("^[ ]+\n", "") .trim() } }