override fun configure()

in src/com/intellij/idea/plugin/hybris/project/configurators/impl/DefaultLibRootsConfigurator.kt [45:91]


    override fun configure(
        progressIndicator: ProgressIndicator,
        allYModules: Map<String, YModuleDescriptor>,
        modifiableRootModel: ModifiableRootModel,
        moduleDescriptor: ModuleDescriptor,
        modifiableModelsProvider: IdeModifiableModelsProvider,
        indicator: ProgressIndicator
    ) {
        indicator.text2 = HybrisI18NBundleUtils.message("hybris.project.import.module.libs")

        val sourceCodeRoot = getSourceCodeRoot(moduleDescriptor)
        for (javaLibraryDescriptor in YModuleLibDescriptorUtil.getLibraryDescriptors(moduleDescriptor, allYModules)) {
            if (!javaLibraryDescriptor.libraryFile.exists() && javaLibraryDescriptor.scope == DependencyScope.COMPILE) {
                continue
            }
            if (javaLibraryDescriptor.directoryWithClasses) {
                addClassesToModuleLibs(modifiableRootModel, modifiableModelsProvider, sourceCodeRoot, javaLibraryDescriptor)
            } else {
                addJarFolderToModuleLibs(modifiableRootModel, modifiableModelsProvider, javaLibraryDescriptor)
            }
        }

        when (moduleDescriptor) {
            is PlatformModuleDescriptor -> moduleDescriptor.createBootstrapLib(sourceCodeRoot, modifiableModelsProvider)
            is YCoreExtModuleDescriptor -> addLibsToModule(modifiableRootModel, modifiableModelsProvider, HybrisConstants.PLATFORM_LIBRARY_GROUP, true)
            is YOotbRegularModuleDescriptor -> {
                if (moduleDescriptor.hasBackofficeModule) {
                    val backofficeJarDirectory = File(moduleDescriptor.moduleRootDirectory, HybrisConstants.BACKOFFICE_JAR_PATH)
                    if (backofficeJarDirectory.exists()) {
                        YModuleLibDescriptorUtil.addBackofficeRootProjectLibrary(modifiableModelsProvider, backofficeJarDirectory)
                    }
                }
                if (moduleDescriptor.name == HybrisConstants.EXTENSION_NAME_BACK_OFFICE) {
                    addLibsToModule(modifiableRootModel, modifiableModelsProvider, HybrisConstants.BACKOFFICE_LIBRARY_GROUP, true)
                }
            }
            is YWebSubModuleDescriptor -> {
                if (moduleDescriptor.owner.name == HybrisConstants.EXTENSION_NAME_BACK_OFFICE) {
                    val classes = File(moduleDescriptor.moduleRootDirectory, HybrisConstants.WEBROOT_WEBINF_CLASSES_PATH)
                    val library = File(moduleDescriptor.moduleRootDirectory, HybrisConstants.WEBROOT_WEBINF_LIB_PATH)
                    val sources = File(moduleDescriptor.moduleRootDirectory, HybrisConstants.DOC_SOURCES_PARENT_JAR_PATH)
                    YModuleLibDescriptorUtil.addBackofficeRootProjectLibrary(modifiableModelsProvider, classes, null, false)
                    YModuleLibDescriptorUtil.addBackofficeRootProjectLibrary(modifiableModelsProvider, library, sources)
                }
            }
        }
    }