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