void (@NotNull JpsProject project, @NotNull Element componentTag) { JpsJavaCompilerConfiguration configuration = JpsJavaExtensionService.getInstance().getCompilerConfiguration(project); Element addNotNullTag = componentTag.getChild(ADD_NOTNULL_ASSERTIONS); if (addNotNullTag != null) { configuration.setAddNotNullAssertions(Boolean.parseBoolean(addNotNullTag.getAttributeValue(ENABLED, "true"))); } readExcludes(componentTag.getChild(EXCLUDE_FROM_COMPILE), configuration.getCompilerExcludes()); Element resourcePatternsTag = componentTag.getChild(WILDCARD_RESOURCE_PATTERNS); if (resourcePatternsTag == null) { for (String pattern : DEFAULT_WILDCARD_PATTERNS) { configuration.addResourcePattern(pattern); } } else { for (Element entry : resourcePatternsTag.getChildren(ENTRY)) { String pattern = entry.getAttributeValue(NAME); if (!StringUtil.isEmpty(pattern)) { configuration.addResourcePattern(pattern); } } } Element annotationProcessingTag = componentTag.getChild(ANNOTATION_PROCESSING); if (annotationProcessingTag != null) { List<Element> profiles = JDOMUtil.getChildren(annotationProcessingTag, "profile"); for (Element profileTag : profiles) { boolean isDefault = Boolean.parseBoolean(profileTag.getAttributeValue("default")); if (isDefault) { AnnotationProcessorProfileSerializer.readExternal(configuration.getDefaultAnnotationProcessingProfile(), profileTag); } else { AnnotationProcessorProfileSerializer.readExternal(configuration.addAnnotationProcessingProfile(), profileTag); } } } Element targetLevelTag = componentTag.getChild(BYTECODE_TARGET_LEVEL); if (targetLevelTag != null) { configuration.setProjectByteCodeTargetLevel(targetLevelTag.getAttributeValue(TARGET_ATTRIBUTE)); for (Element moduleTag : JDOMUtil.getChildren(targetLevelTag, MODULE)) { String moduleName = moduleTag.getAttributeValue(NAME); String level = moduleTag.getAttributeValue(TARGET_ATTRIBUTE); if (moduleName != null && level != null) { configuration.setModuleByteCodeTargetLevel(moduleName, level); } } } String compilerId = JDOMExternalizerUtil.readField(componentTag, "DEFAULT_COMPILER"); if (compilerId != null) { configuration.setJavaCompilerId(compilerId); } String useReleaseOption = JDOMExternalizerUtil.readField(componentTag, "USE_RELEASE_OPTION"); if (useReleaseOption != null) { configuration.setUseReleaseOption(Boolean.parseBoolean(useReleaseOption)); } }