public static function doReport(PrintStream $out)
    {
        $out->println(str_pad('Phing diagnostics report', 79, "-", STR_PAD_BOTH));
        self::header($out, "Version");
        $out->println(Phing::getPhingVersion());

        self::header($out, "Project properties");
        self::doReportProjectProperties($out);

        self::header($out, "System properties");
        self::doReportSystemProperties($out);

        self::header($out, "PHING_HOME/vendor package listing");
        self::doReportPhingVendorLibraries($out);

        self::header($out, "COMPOSER_HOME/vendor package listing");
        self::doReportComposerSystemLibraries($out);

        self::header($out, "Tasks availability");
        self::doReportTasksAvailability($out);

        self::header($out, "Temp dir");
        self::doReportTempDir($out);
    }