in jps-wrapper/src/main/java/org/jetbrains/jps/model/serialization/JpsProjectLoader.java [224:238]
private void loadFromIpr(@NotNull Path iprFile, @NotNull Executor executor) {
final Element iprRoot = myComponentLoader.loadRootElement(iprFile);
String projectName = FileUtilRt.getNameWithoutExtension(iprFile.getFileName().toString());
project.setName(projectName);
Path iwsFile = iprFile.getParent().resolve(projectName + ".iws");
Element iwsRoot = myComponentLoader.loadRootElement(iwsFile);
JpsSdkType<?> projectSdkType = loadProjectRoot(iprRoot);
JpsProjectConfigurationLoading.loadProjectExtensionsFromIpr(project, iprRoot, iwsRoot);
loadModules(JDomSerializationUtil.findComponent(iprRoot, "ProjectModuleManager"), projectSdkType, iwsFile, executor);
loadProjectLibraries(JDomSerializationUtil.findComponent(iprRoot, "libraryTable"));
JpsProjectConfigurationLoading.loadArtifactsFromIpr(project, iprRoot);
JpsProjectConfigurationLoading.loadRunConfigurationsFromIpr(project, iprRoot, iwsRoot);
}