public static void main()

in src/org/jetbrains/ether/Main.java [180:269]


    public static void main(String[] args) {
        System.out.println("JetBrains.com build server. (C) JetBrains.com, 2010-2011.\n");

        final List<String> notes = myOptions.parse(args);

        for (String note : notes) {
            System.err.println("WARNING: " + note);
        }

        checkConsistency();

        if (doHelp()) {
            System.out.println("Usage: ??? <options> <project-specifier>\n");
            System.out.println("Options are:");
            System.out.println(myOptions.memo());
        }

        final List<String> projects = myOptions.getFree();

        if (projects.isEmpty() && !doHelp()) {
            System.out.println("Nothing to do; use --help or -h option to see the help.\n");
        }

        for (String prj : projects) {
            boolean saved = false;
            ProjectWrapper project = null;

            switch (getAction()) {
                case CLEAN:
                    System.out.println("Cleaning project \"" + prj + "\"");
                    project = ProjectWrapper.load(prj, getScript(), false);

                    project.clean();
                    project.save();
                    saved = true;
                    break;

                case REBUILD:
                    System.out.println("Rebuilding project \"" + prj + "\"");
                    project = ProjectWrapper.load(prj, getScript(), false);
                    project.rebuild();
                    project.save();
                    saved = true;
                    break;

                case MAKE:
                    final Options.Argument make = doMake();

                    if (make instanceof Options.Value) {
                        final String module = ((Options.Value) make).get();
                        System.out.println("Making module \"" + module + "\" in project \"" + prj + "\"");
                        project = ProjectWrapper.load(prj, getScript(), true);
                        project.makeModule(module, getFlags ());
                        project.save();
                        saved = true;
                    } else if (make instanceof Options.Switch) {
                        System.out.println("Making all modules in project \"" + prj + "\"");
                        project = ProjectWrapper.load(prj, getScript(), true);
                        project.makeModule(null, getFlags ());
                        project.save();
                        saved = true;
                    }
                    ;
                    break;
            }

            final Options.Argument inspect = doInspect();

            if (inspect instanceof Options.Switch) {
                project = ProjectWrapper.load(prj, getScript(), true);
                project.report();
                if (doSave()) {
                    project.save();
                    saved = true;
                }
            } else if (inspect instanceof Options.Value) {
                project = ProjectWrapper.load(prj, getScript(), true);
                project.report(((Options.Value) inspect).get());
                if (doSave()) {
                    project.save();
                    saved = true;
                }
            }

            if (doSave() && !saved) {
                project = ProjectWrapper.load(prj, getScript(), true);
                project.save();
            }
        }
    }