mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
The new automated build system heavily endowed
with ant and xsl.
This commit is contained in:
parent
c97349a164
commit
4e69ae69d5
9 changed files with 937 additions and 0 deletions
|
@ -0,0 +1,12 @@
|
|||
build
|
||||
features
|
||||
jars
|
||||
logs
|
||||
plugins
|
||||
test
|
||||
zips
|
||||
build.log
|
||||
build.number
|
||||
index.html
|
||||
main.xml
|
||||
site.xml
|
2
releng/org.eclipse.cdt.releng/build.sh
Normal file
2
releng/org.eclipse.cdt.releng/build.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
export JAVA_HOME=/usr/java/j2sdk1.4.2
|
||||
java -classpath $JAVA_HOME/lib/tools.jar:jars/ant.jar:jars/optional.jar:jars/xalan.jar:jars/xml-apis.jar:jars/xercesImpl.jar:jars/NetComponents.jar org.apache.tools.ant.Main $* 2>&1 | tee build.log
|
19
releng/org.eclipse.cdt.releng/genscripts.xsl
Normal file
19
releng/org.eclipse.cdt.releng/genscripts.xsl
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:template match="/">
|
||||
<project name="CDT Build Generate Scripts" default="all">
|
||||
<target name="all">
|
||||
<xsl:for-each select="projects/feature">
|
||||
<eclipse.buildScript install="build">
|
||||
<xsl:attribute name="elements">
|
||||
<xsl:text>feature@</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
</xsl:attribute>
|
||||
</eclipse.buildScript>
|
||||
</xsl:for-each>
|
||||
</target>
|
||||
</project>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:transform>
|
68
releng/org.eclipse.cdt.releng/index.xsl
Normal file
68
releng/org.eclipse.cdt.releng/index.xsl
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output method="html" indent="yes"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<title>CDT 1.2 Buld Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>CDT 1.2 Build Page</h2>
|
||||
<p>
|
||||
The nightly builds are currently run every weeknight,
|
||||
Monday to Friday at 3:00 a.m. EDT/EST.
|
||||
|
||||
To get download and install the builds, add the following
|
||||
as a site bookmark in Eclipse's Update Manager perspective:
|
||||
</p>
|
||||
<p>
|
||||
http://update.eclipse.org/tools/cdt/updates/builds/1.2
|
||||
</p>
|
||||
<p>
|
||||
There is one category for each build. Expanding the
|
||||
category will reveal the installable features.
|
||||
</p>
|
||||
<p>
|
||||
<span style="font-style: italic;">
|
||||
Warning: The source feature is currently not providing
|
||||
source as required. If you require debugging the CDT
|
||||
with source, the only mechanism that works for now is
|
||||
to get the source from CVS. We are actively working
|
||||
to resolve this issue for those who do not have CVS
|
||||
access.
|
||||
</span>
|
||||
</p>
|
||||
<h3>Builds</h3>
|
||||
<p>
|
||||
The builds are currently being run every weeknight. The
|
||||
reports from the automated build verification test suites
|
||||
are linked below.
|
||||
</p>
|
||||
<ul>
|
||||
<xsl:apply-templates select="site/category-def"/>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="category-def">
|
||||
<li>
|
||||
<xsl:value-of select="@label"/>
|
||||
<ul>
|
||||
<li>
|
||||
<a>
|
||||
<xsl:attribute name="href">
|
||||
<xsl:text>logs/</xsl:text>
|
||||
<xsl:value-of select="substring-after(@name,'CDT Build ')"/>
|
||||
<xsl:text>/org.eclipse.cdt.core.tests.html</xsl:text>
|
||||
</xsl:attribute>
|
||||
org.eclipse.cdt.core.tests
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:transform>
|
455
releng/org.eclipse.cdt.releng/junit.xsl
Normal file
455
releng/org.eclipse.cdt.releng/junit.xsl
Normal file
|
@ -0,0 +1,455 @@
|
|||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output method="html" indent="yes"/>
|
||||
<xsl:decimal-format decimal-separator="." grouping-separator="," />
|
||||
|
||||
<xsl:template match="testsuites">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font:normal 68% verdana,arial,helvetica;
|
||||
color:#000000;
|
||||
}
|
||||
table tr td, table tr th {
|
||||
font-size: 68%;
|
||||
}
|
||||
table.details tr th{
|
||||
font-weight: bold;
|
||||
text-align:left;
|
||||
background:#a6caf0;
|
||||
}
|
||||
table.details tr td{
|
||||
background:#eeeee0;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height:1.5em;
|
||||
margin-top:0.5em; margin-bottom:1.0em;
|
||||
}
|
||||
h1 {
|
||||
margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
|
||||
}
|
||||
h2 {
|
||||
margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
|
||||
}
|
||||
h3 {
|
||||
margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
|
||||
}
|
||||
h4 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h5 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
h6 {
|
||||
margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
|
||||
}
|
||||
.Error {
|
||||
font-weight:bold; color:red;
|
||||
}
|
||||
.Failure {
|
||||
font-weight:bold; color:purple;
|
||||
}
|
||||
.Properties {
|
||||
text-align:right;
|
||||
}
|
||||
</style>
|
||||
<script language="JavaScript">
|
||||
var TestCases = new Array();
|
||||
var cur;
|
||||
<xsl:for-each select="./testsuite">
|
||||
<xsl:apply-templates select="properties"/>
|
||||
</xsl:for-each>
|
||||
|
||||
</script>
|
||||
<script language="JavaScript"><![CDATA[
|
||||
function displayProperties (name) {
|
||||
var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
|
||||
var doc = win.document.open();
|
||||
doc.write("<html><head><title>Properties of " + name + "</title>");
|
||||
doc.write("<style>")
|
||||
doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }");
|
||||
doc.write("table tr td, table tr th { font-size: 68%; }");
|
||||
doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
|
||||
doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
|
||||
doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
|
||||
doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
|
||||
doc.write("</style>");
|
||||
doc.write("</head><body>");
|
||||
doc.write("<h3>Properties of " + name + "</h3>");
|
||||
doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
|
||||
doc.write("<table class='properties'>");
|
||||
doc.write("<tr><th>Name</th><th>Value</th></tr>");
|
||||
for (prop in TestCases[name]) {
|
||||
doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
|
||||
}
|
||||
doc.write("</table>");
|
||||
doc.write("</body></html>");
|
||||
doc.close();
|
||||
win.focus();
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
</HEAD>
|
||||
<body>
|
||||
<a name="#top"></a>
|
||||
<xsl:call-template name="pageHeader"/>
|
||||
|
||||
<!-- Summary part -->
|
||||
<xsl:call-template name="summary"/>
|
||||
<hr size="1" width="95%" align="left"/>
|
||||
|
||||
<!-- Package List part -->
|
||||
<xsl:call-template name="packagelist"/>
|
||||
<hr size="1" width="95%" align="left"/>
|
||||
|
||||
<!-- For each package create its part -->
|
||||
<xsl:call-template name="packages"/>
|
||||
<hr size="1" width="95%" align="left"/>
|
||||
|
||||
<!-- For each class create the part -->
|
||||
<xsl:call-template name="classes"/>
|
||||
|
||||
</body>
|
||||
</HTML>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
<!-- ================================================================== -->
|
||||
<!-- Write a list of all packages with an hyperlink to the anchor of -->
|
||||
<!-- of the package name. -->
|
||||
<!-- ================================================================== -->
|
||||
<xsl:template name="packagelist">
|
||||
<h2>Packages</h2>
|
||||
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
<!-- list all packages recursively -->
|
||||
<xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
|
||||
<xsl:sort select="@package"/>
|
||||
<xsl:variable name="testsuites-in-package" select="/testsuites/testsuite[./@package = current()/@package]"/>
|
||||
<xsl:variable name="testCount" select="sum($testsuites-in-package/@tests)"/>
|
||||
<xsl:variable name="errorCount" select="sum($testsuites-in-package/@errors)"/>
|
||||
<xsl:variable name="failureCount" select="sum($testsuites-in-package/@failures)"/>
|
||||
<xsl:variable name="timeCount" select="sum($testsuites-in-package/@time)"/>
|
||||
|
||||
<!-- write a summary for the package -->
|
||||
<tr valign="top">
|
||||
<!-- set a nice color depending if there is an error/failure -->
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$failureCount > 0">Failure</xsl:when>
|
||||
<xsl:when test="$errorCount > 0">Error</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><a href="#{@package}"><xsl:value-of select="@package"/></a></td>
|
||||
<td><xsl:value-of select="$testCount"/></td>
|
||||
<td><xsl:value-of select="$errorCount"/></td>
|
||||
<td><xsl:value-of select="$failureCount"/></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="$timeCount"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ================================================================== -->
|
||||
<!-- Write a package level report -->
|
||||
<!-- It creates a table with values from the document: -->
|
||||
<!-- Name | Tests | Errors | Failures | Time -->
|
||||
<!-- ================================================================== -->
|
||||
<xsl:template name="packages">
|
||||
<!-- create an anchor to this package name -->
|
||||
<xsl:for-each select="/testsuites/testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
|
||||
<xsl:sort select="@package"/>
|
||||
<a name="#{@package}"></a>
|
||||
<h3>Package <xsl:value-of select="@package"/></h3>
|
||||
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testsuite.test.header"/>
|
||||
|
||||
<!-- match the testsuites of this package -->
|
||||
<xsl:apply-templates select="/testsuites/testsuite[./@package = current()/@package]" mode="print.test"/>
|
||||
</table>
|
||||
<a href="#top">Back to top</a>
|
||||
<p/>
|
||||
<p/>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="classes">
|
||||
<xsl:for-each select="testsuite">
|
||||
<xsl:sort select="@name"/>
|
||||
<!-- create an anchor to this class name -->
|
||||
<a name="#{@name}"></a>
|
||||
<h3>TestCase <xsl:value-of select="@name"/></h3>
|
||||
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<xsl:call-template name="testcase.test.header"/>
|
||||
<!--
|
||||
test can even not be started at all (failure to load the class)
|
||||
so report the error directly
|
||||
-->
|
||||
<xsl:if test="./error">
|
||||
<tr class="Error">
|
||||
<td colspan="4"><xsl:apply-templates select="./error"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:apply-templates select="./testcase" mode="print.test"/>
|
||||
</table>
|
||||
<div class="Properties">
|
||||
<a>
|
||||
<xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute>
|
||||
Properties >>
|
||||
</a>
|
||||
</div>
|
||||
<p/>
|
||||
|
||||
<a href="#top">Back to top</a>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="summary">
|
||||
<h2>Summary</h2>
|
||||
<xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
|
||||
<xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
|
||||
<xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
|
||||
<xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
|
||||
<xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/>
|
||||
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
|
||||
<tr valign="top">
|
||||
<th>Tests</th>
|
||||
<th>Failures</th>
|
||||
<th>Errors</th>
|
||||
<th>Success rate</th>
|
||||
<th>Time</th>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$failureCount > 0">Failure</xsl:when>
|
||||
<xsl:when test="$errorCount > 0">Error</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><xsl:value-of select="$testCount"/></td>
|
||||
<td><xsl:value-of select="$failureCount"/></td>
|
||||
<td><xsl:value-of select="$errorCount"/></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-percent">
|
||||
<xsl:with-param name="value" select="$successRate"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="$timeCount"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="95%">
|
||||
<tr>
|
||||
<td style="text-align: justify;">
|
||||
Note: <i>failures</i> are anticipated and checked for with assertions while <i>errors</i> are unanticipated.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
Write properties into a JavaScript data structure.
|
||||
This is based on the original idea by Erik Hatcher (erik@hatcher.net)
|
||||
-->
|
||||
<xsl:template match="properties">
|
||||
cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array();
|
||||
<xsl:for-each select="property">
|
||||
<xsl:sort select="@name"/>
|
||||
cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>';
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Page HEADER -->
|
||||
<xsl:template name="pageHeader">
|
||||
<h1>Unit Test Results</h1>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="left"></td>
|
||||
<td align="right">Designed for use with <a href='http://www.junit.org'>JUnit</a> and <a href='http://jakarta.apache.org/ant'>Ant</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr size="1"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testsuite" mode="header">
|
||||
<tr valign="top">
|
||||
<th width="80%">Name</th>
|
||||
<th>Tests</th>
|
||||
<th>Errors</th>
|
||||
<th>Failures</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- class header -->
|
||||
<xsl:template name="testsuite.test.header">
|
||||
<tr valign="top">
|
||||
<th width="80%">Name</th>
|
||||
<th>Tests</th>
|
||||
<th>Errors</th>
|
||||
<th>Failures</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- method header -->
|
||||
<xsl:template name="testcase.test.header">
|
||||
<tr valign="top">
|
||||
<th>Name</th>
|
||||
<th>Status</th>
|
||||
<th width="80%">Type</th>
|
||||
<th nowrap="nowrap">Time(s)</th>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- class information -->
|
||||
<xsl:template match="testsuite" mode="print.test">
|
||||
<tr valign="top">
|
||||
<!-- set a nice color depending if there is an error/failure -->
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@failures[.> 0]">Failure</xsl:when>
|
||||
<xsl:when test="@errors[.> 0]">Error</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
|
||||
<!-- print testsuite information -->
|
||||
<td><a href="#{@name}"><xsl:value-of select="@name"/></a></td>
|
||||
<td><xsl:value-of select="@tests"/></td>
|
||||
<td><xsl:value-of select="@errors"/></td>
|
||||
<td><xsl:value-of select="@failures"/></td>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="@time"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="testcase" mode="print.test">
|
||||
<tr valign="top">
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="failure | error">Error</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<td><xsl:value-of select="@name"/></td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="failure">
|
||||
<td>Failure</td>
|
||||
<td><xsl:apply-templates select="failure"/></td>
|
||||
</xsl:when>
|
||||
<xsl:when test="error">
|
||||
<td>Error</td>
|
||||
<td><xsl:apply-templates select="error"/></td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td>Success</td>
|
||||
<td></td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<td>
|
||||
<xsl:call-template name="display-time">
|
||||
<xsl:with-param name="value" select="@time"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="failure">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="error">
|
||||
<xsl:call-template name="display-failures"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Style for the error and failure in the tescase template -->
|
||||
<xsl:template name="display-failures">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@message)">N/A</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@message"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!-- display the stacktrace -->
|
||||
<code>
|
||||
<p/>
|
||||
<xsl:call-template name="br-replace">
|
||||
<xsl:with-param name="word" select="."/>
|
||||
</xsl:call-template>
|
||||
</code>
|
||||
<!-- the later is better but might be problematic for non-21" monitors... -->
|
||||
<!--pre><xsl:value-of select="."/></pre-->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="JS-escape">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose><!-- something isn't right here, basically all single quotes need to be replaced with backslash-single-quote
|
||||
<xsl:when test="contains($string,''')">
|
||||
<xsl:value-of select="substring-before($string,''')"/>
|
||||
\'
|
||||
<xsl:call-template name="JS-escape">
|
||||
<xsl:with-param name="string" select="substring-after($string,''')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when> -->
|
||||
<xsl:when test="contains($string,'\')">
|
||||
<xsl:value-of select="substring-before($string,'\')"/>\\<xsl:call-template name="JS-escape">
|
||||
<xsl:with-param name="string" select="substring-after($string,'\')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$string"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!--
|
||||
template that will convert a carriage return into a br tag
|
||||
@param word the text from which to convert CR to BR tag
|
||||
-->
|
||||
<xsl:template name="br-replace">
|
||||
<xsl:param name="word"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($word,'
')">
|
||||
<xsl:value-of select="substring-before($word,'
')"/>
|
||||
<br/>
|
||||
<xsl:call-template name="br-replace">
|
||||
<xsl:with-param name="word" select="substring-after($word,'
')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$word"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="display-time">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:value-of select="format-number($value,'0.000')"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="display-percent">
|
||||
<xsl:param name="value"/>
|
||||
<xsl:value-of select="format-number($value,'0.00%')"/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
223
releng/org.eclipse.cdt.releng/main.xsl
Normal file
223
releng/org.eclipse.cdt.releng/main.xsl
Normal file
|
@ -0,0 +1,223 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output indent="yes"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<project name="CDT Build Main" default="all">
|
||||
|
||||
<target name="build">
|
||||
|
||||
<!-- Set up build environment -->
|
||||
<ftp server="${{build.server}}"
|
||||
userid="${{build.userid}}" password="${{build.password}}"
|
||||
remotedir="${{build.remotedir}}" action="get" passive="no">
|
||||
<fileset dir=".">
|
||||
<include name="site.xml"/>
|
||||
<include name="build.number"/>
|
||||
</fileset>
|
||||
</ftp>
|
||||
<buildnumber/>
|
||||
<echo message="Build number: ${{build.version}}.${{build.number}}"/>
|
||||
<delete dir="build"/>
|
||||
<unzip src="zips/eclipse-SDK-2.1.1-linux-gtk.zip" dest="."/>
|
||||
<move todir="build">
|
||||
<fileset dir="eclipse"/>
|
||||
</move>
|
||||
|
||||
<!-- Download source from CVS -->
|
||||
<xsl:for-each select="projects/plugin">
|
||||
<cvs
|
||||
cvsroot=":pserver:anonymous@dev.eclipse.org:/home/tools"
|
||||
dest="build/plugins" quiet="true">
|
||||
<xsl:attribute name="package">
|
||||
<xsl:value-of select="@name"/>
|
||||
</xsl:attribute>
|
||||
</cvs>
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:for-each select="projects/feature">
|
||||
<cvs
|
||||
cvsroot=":pserver:anonymous@dev.eclipse.org:/home/tools"
|
||||
dest="build/features" quiet="true">
|
||||
<xsl:attribute name="package">
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>-feature</xsl:text>
|
||||
</xsl:attribute>
|
||||
</cvs>
|
||||
<move>
|
||||
<xsl:attribute name="todir">
|
||||
<xsl:text>build/features/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
</xsl:attribute>
|
||||
<fileset defaultexcludes="no">
|
||||
<xsl:attribute name="dir">
|
||||
<xsl:text>build/features/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>-feature</xsl:text>
|
||||
</xsl:attribute>
|
||||
</fileset>
|
||||
</move>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Fix up the versions to match build number -->
|
||||
<xsl:for-each select="projects/plugin|projects/feature">
|
||||
<xslt out="x" style="plugin.xsl">
|
||||
<xsl:attribute name="in">
|
||||
<xsl:text>build/</xsl:text>
|
||||
<xsl:value-of select="name()"/>
|
||||
<xsl:text>s/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>/</xsl:text>
|
||||
<xsl:value-of select="@type"/>
|
||||
<xsl:text>.xml</xsl:text>
|
||||
</xsl:attribute>
|
||||
<param name="version" expression="${{build.version}}.${{build.number}}"/>
|
||||
</xslt>
|
||||
<move file="x">
|
||||
<xsl:attribute name="tofile">
|
||||
<xsl:text>build/</xsl:text>
|
||||
<xsl:value-of select="name()"/>
|
||||
<xsl:text>s/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>/</xsl:text>
|
||||
<xsl:value-of select="@type"/>
|
||||
<xsl:text>.xml</xsl:text>
|
||||
</xsl:attribute>
|
||||
</move>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Generate build.xml files for projects -->
|
||||
<xslt in="manifest.xml" out="build/genscripts.xml" style="genscripts.xsl"/>
|
||||
<chmod perm="+x" file="build/eclipse"/>
|
||||
<exec executable="${{basedir}}/build/eclipse">
|
||||
<arg line="-nosplash -data build/workspace"/>
|
||||
<arg line="-application org.eclipse.ant.core.antRunner"/>
|
||||
<arg line="-buildfile build/genscripts.xml"/>
|
||||
</exec>
|
||||
|
||||
<!-- Run the build.xml scripts -->
|
||||
<xsl:for-each select="projects/feature">
|
||||
<ant>
|
||||
<xsl:attribute name="dir">
|
||||
<xsl:text>build/features/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
</xsl:attribute>
|
||||
<property name="javacFailOnError" value="true"/>
|
||||
<property name="ws" value="gtk"/>
|
||||
<property name="os" value="linux"/>
|
||||
</ant>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Move jars to the update site format -->
|
||||
<delete dir="plugins"/>
|
||||
<copy todir="plugins" flatten="true">
|
||||
<fileset dir="build/plugins">
|
||||
<xsl:for-each select="projects/plugin">
|
||||
<include>
|
||||
<xsl:attribute name="name">
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>_${build.version}.${build.number}.jar</xsl:text>
|
||||
</xsl:attribute>
|
||||
</include>
|
||||
</xsl:for-each>
|
||||
</fileset>
|
||||
</copy>
|
||||
<delete dir="features"/>
|
||||
<copy todir="features" flatten="true">
|
||||
<fileset dir="build/features">
|
||||
<xsl:for-each select="projects/feature">
|
||||
<include>
|
||||
<xsl:attribute name="name">
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>_${build.version}.${build.number}.jar</xsl:text>
|
||||
</xsl:attribute>
|
||||
</include>
|
||||
</xsl:for-each>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- Set up the test environment -->
|
||||
<delete dir="test"/>
|
||||
<unzip src="zips/eclipse-SDK-2.1.1-linux-gtk.zip" dest="."/>
|
||||
<move todir="test">
|
||||
<fileset dir="eclipse"/>
|
||||
</move>
|
||||
<unzip src="zips/org.eclipse.test_2.1.0.zip" dest="test/plugins"/>
|
||||
<unzip src="zips/org.eclipse.ant.optional.junit_2.1.0.zip" dest="test/plugins"/>
|
||||
|
||||
<xsl:for-each select="projects/plugin|projects/feature">
|
||||
<unjar>
|
||||
<xsl:attribute name="src">
|
||||
<xsl:value-of select="name()"/>
|
||||
<xsl:text>s/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>_${build.version}.${build.number}.jar</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="dest">
|
||||
<xsl:text>test/</xsl:text>
|
||||
<xsl:value-of select="name()"/>
|
||||
<xsl:text>s/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>_${build.version}.${build.number}</xsl:text>
|
||||
</xsl:attribute>
|
||||
</unjar>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Run the tests -->
|
||||
<chmod perm="+x" file="test/eclipse"/>
|
||||
<exec executable="${{basedir}}/test/eclipse" dir="test">
|
||||
<arg line="-nosplash"/>
|
||||
<arg line="-application org.eclipse.ant.core.antRunner"/>
|
||||
<arg line="-buildfile plugins/org.eclipse.cdt.core.tests_${{build.version}}.${{build.number}}/test.xml"/>
|
||||
<arg line="-Dorg.eclipse.test=org.eclipse.test_2.1.0"/>
|
||||
<arg line="-Declipse-home=${{basedir}}/test"/>
|
||||
<arg line="-Dos=linux -Dws=gtk -Darch=x86"/>
|
||||
</exec>
|
||||
|
||||
<!-- Create the reports -->
|
||||
<delete dir="logs"/>
|
||||
<xslt in="test/org.eclipse.cdt.core.tests.xml"
|
||||
out="logs/${{build.version}}.${{build.number}}/org.eclipse.cdt.core.tests.html"
|
||||
style="junit.xsl"/>
|
||||
|
||||
<!-- Add our version to site.xml -->
|
||||
<tstamp>
|
||||
<format property="build.date" pattern="EEE MMM d HH:mm:ss z yyyy"/>
|
||||
</tstamp>
|
||||
<xslt in="site.xml" out="s" style="site.xsl">
|
||||
<param name="version" expression="${{build.version}}.${{build.number}}"/>
|
||||
<param name="date" expression="${{build.date}}"/>
|
||||
</xslt>
|
||||
<move file="s" tofile="site.xml"/>
|
||||
|
||||
<!-- Generate the site home page -->
|
||||
<xslt in="site.xml" out="index.html" style="index.xsl"/>
|
||||
|
||||
</target>
|
||||
|
||||
<target name="upload">
|
||||
<!-- Upload the update site -->
|
||||
<ftp server="${{build.server}}"
|
||||
userid="${{build.userid}}" password="${{build.password}}"
|
||||
remotedir="${{build.remotedir}}" action="put" passive="no">
|
||||
<fileset dir=".">
|
||||
<include name="plugins/*.jar"/>
|
||||
<include name="features/*.jar"/>
|
||||
<include name="logs/**/*.html"/>
|
||||
<include name="build.number"/>
|
||||
<include name="index.html"/>
|
||||
<include name="site.xml"/>
|
||||
</fileset>
|
||||
</ftp>
|
||||
</target>
|
||||
|
||||
<target name="all" depends="build,upload"/>
|
||||
</project>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:transform>
|
34
releng/org.eclipse.cdt.releng/manifest.xml
Normal file
34
releng/org.eclipse.cdt.releng/manifest.xml
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projects>
|
||||
<plugin name="org.eclipse.cdt" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.core" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.core.linux" type="fragment"/>
|
||||
<plugin name="org.eclipse.cdt.core.qnx" type="fragment"/>
|
||||
<plugin name="org.eclipse.cdt.core.solaris" type="fragment"/>
|
||||
<plugin name="org.eclipse.cdt.core.win32" type="fragment"/>
|
||||
<plugin name="org.eclipse.cdt.core.tests" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.debug.core" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.debug.mi.core" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.debug.mi.ui" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.debug.ui" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.debug.ui.tests" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.doc.user" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.launch" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.linux.gtk" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.linux.motif" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.qnx.photon" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.solaris.motif" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.source" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.testing" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.ui" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.ui.tests" type="plugin"/>
|
||||
<plugin name="org.eclipse.cdt.win32" type="plugin"/>
|
||||
<feature name="org.eclipse.cdt" suffix="-feature" type="feature" visible="false"/>
|
||||
<feature name="org.eclipse.cdt.linux.gtk" suffix="-feature" type="feature"/>
|
||||
<feature name="org.eclipse.cdt.linux.motif" suffix="-feature" type="feature"/>
|
||||
<feature name="org.eclipse.cdt.qnx.photon" suffix="-feature" type="feature"/>
|
||||
<feature name="org.eclipse.cdt.solaris.motif" suffix="-feature" type="feature"/>
|
||||
<feature name="org.eclipse.cdt.source" suffix="-feature" type="feature"/>
|
||||
<feature name="org.eclipse.cdt.testing" suffix="-feature" type="feature"/>
|
||||
<feature name="org.eclipse.cdt.win32" suffix="-feature" type="feature"/>
|
||||
</projects>
|
68
releng/org.eclipse.cdt.releng/plugin.xsl
Normal file
68
releng/org.eclipse.cdt.releng/plugin.xsl
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output indent="yes"/>
|
||||
|
||||
<xsl:param name="version"/>
|
||||
|
||||
<xsl:template match="/plugin">
|
||||
<plugin>
|
||||
<xsl:attribute name="version">
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
<xsl:copy-of select="*|@*[not(name()='version')]"/>
|
||||
</plugin>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/fragment">
|
||||
<fragment>
|
||||
<xsl:attribute name="version">
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="plugin-version">
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
<xsl:copy-of select="*|@*[not(name()='version' or name()='plugin-version')]"/>
|
||||
</fragment>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/feature">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="version">
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
<xsl:apply-templates mode="feature" select="@*[not(name()='version')]|*|text()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template mode="feature" match="includes|plugin">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="version">
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
<xsl:copy-of select="*|@*[not(name()='version')]"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template mode="feature" match="import[starts-with(@plugin,'org.eclipse.cdt')]">
|
||||
<xsl:copy>
|
||||
<xsl:attribute name="version">
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
<xsl:copy-of select="*|@*[not(name()='version')]"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@*|*|text()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|*|text()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template mode="feature" match="@*|*|text()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates mode="feature" select="@*|*|text()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:transform>
|
56
releng/org.eclipse.cdt.releng/site.xsl
Normal file
56
releng/org.eclipse.cdt.releng/site.xsl
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output indent="yes"/>
|
||||
|
||||
<xsl:param name="version"/>
|
||||
<xsl:param name="date"/>
|
||||
|
||||
<xsl:template match="/site">
|
||||
<site>
|
||||
<xsl:copy-of select="*|@*"/>
|
||||
<category-def>
|
||||
<xsl:attribute name="name">
|
||||
<xsl:text>CDT Build </xsl:text>
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="label">
|
||||
<xsl:text>CDT Build </xsl:text>
|
||||
<xsl:value-of select="$version"/>
|
||||
<xsl:text> - </xsl:text>
|
||||
<xsl:value-of select="$date"/>
|
||||
</xsl:attribute>
|
||||
</category-def>
|
||||
<xsl:apply-templates mode="features" select="document('manifest.xml')"/>
|
||||
</site>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template mode="features" match="/projects/feature[not(@visible='false')]">
|
||||
<feature>
|
||||
<xsl:attribute name="url">
|
||||
<xsl:text>features/</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>_</xsl:text>
|
||||
<xsl:value-of select="$version"/>
|
||||
<xsl:text>.jar</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="id">
|
||||
<xsl:value-of select="@name"/>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="version">
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
<category>
|
||||
<xsl:attribute name="name">
|
||||
<xsl:text>CDT Build </xsl:text>
|
||||
<xsl:value-of select="$version"/>
|
||||
</xsl:attribute>
|
||||
</category>
|
||||
</feature>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template mode="features" match="/projects">
|
||||
<xsl:apply-templates mode="features" select="*"/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:transform>
|
Loading…
Add table
Reference in a new issue