Beispiel #1
0
function listFilesInDirectory($directory, $prefix = '')
{
    $directory = rtrim($directory, '\\/');
    $files = array();
    foreach (scandir($directory) as $file) {
        if ($file !== '.' and $file !== '..') {
            if (is_dir("{$directory}/{$file}")) {
                $files = array_merge($files, listFilesInDirectory("{$directory}/{$file}", "{$prefix}{$file}/"));
            } else {
                $files[] = $prefix . $file;
            }
        }
    }
    return $files;
}
Beispiel #2
0
 /**
  * Returns all layers found in all mapfiles of a directory
  *
  *  $directory [string] : directory path
  */
 public function parseDirectory($directory)
 {
     $files = listFilesInDirectory($directory);
     $layers = array();
     foreach ($files as $file) {
         if (substr($file, -4) == '.map') {
             //create a map object
             try {
                 $oMap = new MapObj("{$directory}/{$file}");
             } catch (Exception $e) {
                 $error = ms_getErrorObj();
                 throw new Exception($error->message);
                 exit;
             }
             $map = new Map($oMap);
             $layers = array_merge($layers, $map->parseLayers());
         }
     }
     return $this->formatParsingOutput($layers);
 }
Beispiel #3
0
function cc_showBuild($project, $log, $file)
{
    global $buildlogs;
    global $additionalfiles;
    $buildInfo = new cc_LogParser();
    $buildInfo->parseFile("{$buildlogs}/{$project}/{$log}");
    ?>

	<p>
	<span class="header-title"><?php 
    print $project;
    ?>
 - <?php 
    if ($buildnum = cc_getLabelOfLogFile($log)) {
        print "BUILD COMPLETE - build." . $buildnum;
    } else {
        print "<span class=\"header-title-error\">FAILED!</span>";
    }
    ?>
</span><br/>
	<span class="header-data"><span class="header-label">Date of build:</span> <?php 
    print cc_getDateOfLogFile($log);
    ?>
</span><br/>
	<span class="header-data"><span class="header-label">Time to build:</span> <?php 
    print $buildInfo->compileTime;
    ?>
</span><br/>
	<span class="header-data"><span class="header-label">Additional Files:</span></span><br/>
<?php 
    println("<span class=\"header-data\">");
    $builddate = substr($log, 3, 14);
    $additionalfiles = listFilesInDirectory("{$buildlogs}/{$project}/{$builddate}");
    if (!isset($additionalfiles)) {
        print "&nbsp;&nbsp;<i>No additional files.</i>";
    } else {
        println("<ul>");
        foreach ($additionalfiles as $additionalfile) {
            println("<li><a class=\"link\" href=\"viewfile.php?project={$project}&log={$log}&file={$additionalfile}\">{$additionalfile}</a></li>");
        }
        println("</ul>");
    }
    println("</span>");
    ?>
	</p>

	<table cellspacing="0" cellpadding="2">
		<tr><td colspan="5" class="table-sectionheader">Modifications since last build: (<?php 
    print count($buildInfo->modifications);
    ?>
)</td></tr>
<?php 
    if (count($buildInfo->modifications) > 0) {
        ?>
		<tr>
			<th align="left" class="table-title">User</th>
			<th align="left" class="table-title">Type of Change</th>
			<th align="left" class="table-title">File Name</th>
			<th align="left" class="table-title">Date</th>
			<th align="left" class="table-title">Commit Message</th>
		</tr>
<?php 
    } else {
        ?>
		<tr>
			<th class="table-title">None</th>
		</tr>
<?php 
    }
    $i = 0;
    foreach ($buildInfo->modifications as $modification) {
        if ($i & 1) {
            print "\t\t\t\t<tr class=\"table-oddrow\">";
        } else {
            print "\t\t\t\t<tr class=\"table-evenrow\">";
        }
        print "<td class=\"table-text\">{$modification->user}</td>";
        print "<td class=\"table-text\">{$modification->action}</td>";
        print "<td class=\"table-text\">{$modification->filename}, {$modification->revision}</td>";
        print "<td class=\"table-text\">{$modification->date}</td>";
        print "<td class=\"table-text\">{$modification->comment}</td>";
        println("</tr>");
        $i++;
    }
    ?>
</table>

<br/>

	<table cellspacing="0" cellpadding="2">
		<tr><td class="table-sectionheader">Compile Messages:</td></tr>
		<?php 
    if ($buildInfo->compileError != "") {
        print "<tr><td class=\"table-text-error\">{$buildInfo->compileError}</td></tr>";
    }
    ?>
		<tr><td class="table-text"><pre>
<?php 
    $haveOutput = false;
    foreach ($buildInfo->compileMessages as $compileMessage) {
        if ($compileMessage->priority != "debug") {
            if ($compileMessage->priority != "info") {
                print "{$compileMessage->message}\n";
                $haveOutput = true;
            }
        }
    }
    if (!$haveOutput) {
        print "(None)";
    }
    ?>
		</pre></td></tr>
	</table>

<br/>

<?php 
    if (count($buildInfo->testsuites) > 0) {
        ?>
		<table cellspacing="0" cellpadding="2">
		<tr><td colspan="5" class="table-sectionheader">Test Results:</td></tr>
		<tr>
			<th align="left" class="table-title">Name</th>
			<th align="left" class="table-title">Tests</th>
			<th align="left" class="table-title">Errors</th>
			<th align="left" class="table-title">Failures</th>
			<th align="left" class="table-title">Time (s)</th>
		</tr>
<?php 
        foreach ($buildInfo->testsuites as $testSuite) {
            print "<tr>";
            print "<td class=\"table-text\"><b>{$testSuite->name}</b></td>";
            print "<td class=\"table-text\">{$testSuite->tests}</td>";
            print "<td class=\"table-text\">{$testSuite->errors}</td>";
            print "<td class=\"table-text\">{$testSuite->failures}</td>";
            print "<td class=\"table-text\">{$testSuite->time}</td>";
            println("</tr>");
            $i = 0;
            foreach ($testSuite->testcases as $testCase) {
                if ($i & 1) {
                    print "\t\t\t\t<tr class=\"table-oddrow\">";
                } else {
                    print "\t\t\t\t<tr class=\"table-evenrow\">";
                }
                print "<td colspan=\"4\" class=\"table-text\">{$testCase->name}";
                if ($testCase->errors) {
                    print " <span class=\"table-text-error\">(ERROR!)</span>";
                } else {
                    if ($testCase->failures) {
                        print " <span class=\"table-text-failure\">(FAILURE!)</span>";
                    } else {
                        print " <span class=\"table-text-success\">(PASSED!)</span>";
                    }
                }
                print "</td>";
                print "<td class=\"table-text\">{$testCase->time}</td>";
                println("</tr>");
                $i++;
            }
            print "<tr><td colspan=\"5\">&nbsp;</td></tr>";
        }
        ?>
		</table>
<?php 
    }
}
function cc_getListOfBuilds($project)
{
    global $buildlogs;
    $builds = array();
    $files = listFilesInDirectory("{$buildlogs}/{$project}");
    if (is_null($files)) {
        return;
    }
    foreach ($files as $file) {
        if ($file == "_cache" || $file == "status" || !cc_isValidLogFilename($file)) {
            continue;
        }
        $builds[] = $file;
    }
    if (count($builds) <= 0) {
        return;
    }
    rsort($builds);
    return $builds;
}