in buildSrc/src/main/kotlin/org/fbme/gradle/ModuleFileGenerator.kt [16:59]
fun generateSourceDescriptor(): String {
val prefix = "\n "
val libraryRoots = libraryLocations.joinToString("") {
"""$prefix<sourceRoot location="$it" />"""
}
val stubModelEntries = libraryLocations.joinToString("") {
"""$prefix<stubModelEntry path="$module/lib/$it" />"""
}
val dependencyEntries = dependencies.joinToString("") {
"""$prefix<dependency reexport="false">${it.id}(${it.name})</dependency>"""
}
val languageEntries = languages.joinToString("") {
"""$prefix<language slang="l:${it.id}:${it.name}" version="${it.version}" />"""
}
val dependencyVersionEntries = dependencies.joinToString("") {
"""$prefix<module reference="${it.id}(${it.name})" version="${it.version}" />"""
}
return """
<?xml version="1.0" encoding="UTF-8"?>
<solution name="$name" uuid="$moduleId" moduleVersion="0" pluginKind="PLUGIN_OTHER" compileInMPS="false">
<models>
<modelRoot contentPath="$module/lib" type="java_classes">$libraryRoots
</modelRoot>
</models>
<facets>
<facet type="java" languageLevel="JAVA_8">
<classes generated="true" path="$module/classes_gen" />
</facet>
<facet type="ideaPlugin" pluginId="$pluginId" />
</facets>
<stubModelEntries>$stubModelEntries
</stubModelEntries>
<sourcePath />
<dependencies>$dependencyEntries
</dependencies>
<languageVersions>$languageEntries
</languageVersions>
<dependencyVersions>$dependencyVersionEntries
</dependencyVersions>
</solution>
""".trimIndent()
}