in src/main/kotlin/org/arend/module/config/ArendModuleConfigService.kt [192:263]
fun updateFromIDEA(config: ArendModuleConfiguration) {
val newLibrariesRoot = config.librariesRoot
val reload = librariesRoot != newLibrariesRoot
var updateYAML = false
val newDependencies = config.dependencies
if (dependencies != newDependencies) {
updateDependencies(newDependencies, !reload) {}
updateYAML = true
}
val newSourcesDir = config.sourcesDir
if (sourcesDir != newSourcesDir) {
sourcesDir = newSourcesDir
updateYAML = true
}
val newBinariesDir = config.flaggedBinariesDir
if (flaggedBinariesDir != newBinariesDir) {
updateYAML = true
}
withBinaries = config.withBinaries
binariesDirectory = config.binariesDirectory
val newTestsDir = config.testsDir
if (testsDir != newTestsDir) {
testsDir = newTestsDir
updateYAML = true
}
val newExtensionsDir = config.flaggedExtensionsDir
if (flaggedExtensionsDir != newExtensionsDir) {
updateYAML = true
}
val newExtensionMainClass = config.flaggedExtensionMainClass
if (flaggedExtensionMainClass != newExtensionMainClass) {
updateYAML = true
}
withExtensions = config.withExtensions
extensionsDirectory = config.extensionsDirectory
extensionMainClassData = config.extensionMainClassData
val newVersion = config.versionString
if (versionString != newVersion) {
versionString = newVersion
updateYAML = true
}
val newLangVersion = config.langVersionString
if (langVersionString != newLangVersion) {
langVersionString = newLangVersion
updateYAML = true
}
if (updateYAML) yamlFile?.write {
langVersion = newLangVersion
version = newVersion
sourcesDir = newSourcesDir
binariesDir = newBinariesDir
testsDir = newTestsDir
extensionsDir = newExtensionsDir
extensionMainClass = newExtensionMainClass
dependencies = newDependencies
}
if (reload) {
synchronized = false
librariesRoot = newLibrariesRoot
ModuleSynchronizer.synchronizeModule(this, true)
}
}