in src/main/groovy/org/jetbrains/gradle/ext/IdeaFilesProcessor.groovy [121:163]
def process(File layoutFile) {
def gson = new Gson()
def file = layoutFile
if (!file.exists()) {
logger.lifecycle("IDEA layout file 'layout.json' was not found, terminating.")
return
}
final IdeaLayoutJson layout = gson.fromJson(file.text, IdeaLayoutJson)
def ideaDir = new File(layout.ideaDirPath)
ideaDirCallbacks.each { it.execute(ideaDir) }
ideaFileXmlCallbacks.each { entry ->
def ideaFile = new File(ideaDir, entry.getKey())
def transformer = new XmlTransformer()
entry.value.each {transformer.addAction(it) }
def result = transformer.transform(ideaFile.text)
ideaFile.write(result, StandardCharsets.UTF_8.name())
}
imlsCallbacks.each { entry ->
def imlPath = lookUpImlPath(layout, entry.key)
if (imlPath == null) {
logger.warn("No path to iml is present for key [${entry.key}].\nLayout: $layout")
return
}
def moduleFile = new File(imlPath)
entry.value.each { it.execute(moduleFile) }
}
xmlCallbacks.each { entry ->
String imlPath = lookUpImlPath(layout, entry.key)
if (imlPath == null) {
logger.warn("No path to iml is present for key [${entry.key}].\\nLayout: $layout")
return
}
def moduleFile = new File(imlPath)
def transformer = new XmlTransformer()
entry.value.each { transformer.addAction(it) }
def result = transformer.transform(moduleFile.text)
moduleFile.write(result, StandardCharsets.UTF_8.name())
}
}