def loadFromDirectoryBased()

in model/src/org/jetbrains/jps/idea/IdeaProjectLoader.groovy [111:162]


  def loadFromDirectoryBased(File dir) {
    projectMacroExpander = new ProjectMacroExpander(pathVariables, dir.parentFile.absolutePath)
    def modulesXml = new File(dir, "modules.xml")
    if (!modulesXml.exists()) errorReporter.error("Cannot find modules.xml in $dir")

    def miscXml = new File(dir, "misc.xml")
    if (!miscXml.exists()) errorReporter.error("Cannot find misc.xml in $dir")
    loadProjectJdkAndOutput(new XmlParser(false, false).parse(miscXml))

    def encodingsXml = new File(dir, "encodings.xml")
    if (encodingsXml.exists()) {
      loadProjectFileEncodings(new XmlParser(false, false).parse(encodingsXml))
    }

    def compilerXml = new File(dir, "compiler.xml")
    if (compilerXml.exists()) {
      loadCompilerConfiguration(new XmlParser(false, false).parse(compilerXml))
    }

    Node modulesXmlRoot = new XmlParser(false, false).parse(modulesXml)
    loadModules(modulesXmlRoot.component[0])

    def librariesFolder = new File(dir, "libraries")
    if (librariesFolder.isDirectory()) {
      librariesFolder.eachFile {File file ->
        if (file.isFile()) {
          Node librariesComponent = new XmlParser(false, false).parse(file)
          loadProjectLibraries(librariesComponent)
        }
      }
    }

    def artifactsFolder = new File(dir, "artifacts")
    if (artifactsFolder.isDirectory()) {
      artifactsFolder.eachFile {File file ->
        if (file.isFile()) {
          def artifactsComponent = new XmlParser(false, false).parse(file)
          loadArtifacts(artifactsComponent)
        }
      }
    }

    def runConfFolder = new File(dir, "runConfigurations")
    if (runConfFolder.isDirectory()) {
      runConfFolder.eachFile {File file ->
        if (file.isFile()) {
          def runConfManager = new XmlParser(false, false).parse(file);
          loadRunConfigurations(runConfManager);
        }
      }
    }
  }