private ProjectWrapper()

in src/org/jetbrains/ether/ProjectWrapper.java [860:888]


    private ProjectWrapper(final GantBinding binding, final String prjDir, final String setupScript, final Map<String, String> pathVariables, final boolean loadHistory) {
        dependencyMapping = new Mappings(this);
        backendCallback = dependencyMapping.getCallback();
        affectedFiles = new HashSet<StringCache.S>();

        myProject = new GantBasedProject(binding == null ? new GantBinding() : binding);
        myProjectBuilder = myProject.getBuilder();

        final File prjFile = new File(prjDir);
        final boolean dirBased = !(prjFile.isFile() && prjDir.endsWith(".ipr"));

        myRoot = dirBased ? getCanonicalPath(prjDir) : getCanonicalPath(prjFile.getParent());

        final String loadPath = dirBased ? getAbsolutePath(myIDEADir) : prjDir;

        myProjectSnapshot = myHomeDir + File.separator + myJPSDir + File.separator + myRoot.replace(File.separatorChar, myFileSeparatorReplacement);

        IdeaProjectLoader.loadFromPath(myProject, loadPath, pathVariables != null ? pathVariables : Collections.<String, String>emptyMap(), setupScript);

        for (Module m : myProject.getModules().values()) {
            myModules.put(m.getName(), new ModuleWrapper(m));
        }

        for (Library l : myProject.getLibraries().values()) {
            myLibraries.put(l.getName(), new LibraryWrapper(l));
        }

        myHistory = loadHistory ? loadSnapshot(dependencyMapping, affectedFiles) : null;
    }