feature incremental api generator, small fix string generator #26

Open
sergey.vlasenko wants to merge 4 commits from incremental_api_generator into feature/MB-43110_incremental_api_generator
1 changed files with 21 additions and 9 deletions
Showing only changes of commit c3a940255c - Show all commits

View File

@ -33,27 +33,39 @@ class ApiModelsDependencyResolver(
}
fun getDependenciesFromFiles(files: Collection<File>): Set<File> =
files.fold(setOf()) { dependencies, file ->
dependencies + getFileDependencies(file)
files.fold(setOf()) { foundDependencies, file ->
val newDependencies = getFileDependencies(file)
if (newDependencies.isEmpty()) {
foundDependencies
} else {
foundDependencies + getFileDependencies(file)
}
}
private fun getFileDependencies(file: File): Set<File> {
if (handledFiles.contains(file)) {
private fun getFileDependencies(sourceFile: File): Set<File> {
if (handledFiles.contains(sourceFile)) {
return emptySet()
}
handledFiles.add(file)
handledFiles.add(sourceFile)
val json = JsonSlurper().parse(file) as Map<String, Any?>
val json = JsonSlurper().parse(sourceFile) as Map<String, Any?>
val files = fileParser.getAllTypeNamesFromJson(json)
.map { type ->
modelTypes[type]
?: throw IllegalArgumentException("Couldn't resolve $type in ${file.name}")
?: throw IllegalArgumentException("Couldn't resolve $type in ${sourceFile.name}")
}
.toSet()
return files.fold(files) { dependencies, myFile ->
dependencies + getFileDependencies(myFile)
return files.fold(files) { foundDependencies, file ->
val newDependencies = getFileDependencies(file)
if (newDependencies.isEmpty()) {
foundDependencies
} else {
foundDependencies + newDependencies
}
Review

files.fold(files) { foundDependencies, file ->
val newDependencies = getFileDependencies(file)

        if (newDependencies.isEmpty()) {
            foundDependencies
        } else {
            foundDependencies + newDependencies
        }

такой же код есть в getDependenciesFromFiles

files.fold(files) { foundDependencies, file -> val newDependencies = getFileDependencies(file) if (newDependencies.isEmpty()) { foundDependencies } else { foundDependencies + newDependencies } такой же код есть в getDependenciesFromFiles
}
}
}