MPCRUISECONTROL-11 Add new properties to the maven cruisecontrol plugin
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@115943 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -15,14 +15,22 @@
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
maven.cruisecontrol.config=${basedir}/cruisecontrol.xml
|
||||
maven.cruisecontrol.schedule.type=interval
|
||||
maven.cruisecontrol.schedule.interval=300
|
||||
maven.cruisecontrol.schedule.time=1900
|
||||
maven.cruisecontrol.checkout.dir=${basedir}/checkout
|
||||
maven.cruisecontrol.logs.encodingtype=ISO-8859-1
|
||||
maven.cruisecontrol.logs.dir=${maven.build.dir}/cc-logs
|
||||
maven.cruisecontrol.logs.mergedirectory=${maven.cruisecontrol.checkout.dir}/${module}/target/test-reports
|
||||
maven.cruisecontrol.logs.merge=true
|
||||
maven.cruisecontrol.goals=scm:update-project|clean test|site:deploy
|
||||
maven.cruisecontrol.mail.host=localhost
|
||||
maven.cruisecontrol.mail.defaultsuffix=DEFAULT_SUFFIX_NOT_SET
|
||||
maven.cruisecontrol.mail.subjectprefix=[BUILD]
|
||||
maven.cruisecontrol.mail.skipusers=false
|
||||
maven.cruisecontrol.mail.reportsuccess=always
|
||||
maven.cruisecontrol.mail.usemap=true
|
||||
maven.cruisecontrol.template=${plugin.resources}/cruisecontrol.jsl
|
||||
maven.cruisecontrol.trigger.projects=
|
||||
maven.cruisecontrol.buildresults.site=${pom.url}/cruisecontrol
|
||||
maven.cruisecontrol.buildresults.url=${maven.cruisecontrol.buildresults.site}/buildresults/${pom.artifactId}
|
||||
maven.cruisecontrol.buildresults.url=${maven.cruisecontrol.buildresults.site}/buildresults/${pom.artifactId}
|
||||
@@ -36,13 +36,13 @@
|
||||
|
||||
<j:if test="${method == 'svn'}">
|
||||
<plugin name="svn" classname="net.sourceforge.cruisecontrol.sourcecontrols.SVN"/>
|
||||
<plugin name="svnbootstrapper" classname="net.sourceforge.cruisecontrol.bootstrappers.SVNBootstrapper"/>
|
||||
</j:if>
|
||||
<plugin name="svnbootstrapper" classname="net.sourceforge.cruisecontrol.bootstrappers.SVNBootstrapper"/>
|
||||
</j:if>
|
||||
<bootstrappers>
|
||||
<currentbuildstatusbootstrapper file="${maven.cruisecontrol.logs.dir}/currentbuildstatus.txt"/>
|
||||
</bootstrappers>
|
||||
<modificationset>
|
||||
<j:if test="${method == 'cvs'}">
|
||||
<j:if test="${method == 'cvs'}">
|
||||
<maven:pluginVar var="root" plugin='maven-scm-plugin' property='maven.scm.cvs.root' />
|
||||
<maven:pluginVar var="module" plugin='maven-scm-plugin' property='maven.scm.cvs.module' />
|
||||
<cvs cvsroot="${root}" localWorkingCopy="${maven.cruisecontrol.checkout.dir}/${module}" />
|
||||
@@ -52,38 +52,66 @@
|
||||
<maven:pluginVar var="root" plugin='maven-scm-plugin' property='maven.scm.svn.root' />
|
||||
<maven:pluginVar var="module" plugin='maven-scm-plugin' property='maven.scm.svn.module' />
|
||||
<svn repositoryLocation="${root}" localWorkingCopy="${maven.cruisecontrol.checkout.dir}/${module}" />
|
||||
</j:if>
|
||||
|
||||
</j:if>
|
||||
<!-- Add the list of additional directories for the classpath from ${maven.eclipse.classpath.include}-->
|
||||
<u:tokenize var="triggerProjectsSplit" delim=",">${maven.cruisecontrol.trigger.projects}</u:tokenize>
|
||||
<u:tokenize var="triggerProjectsSplit" delim=",">${maven.cruisecontrol.trigger.projects}</u:tokenize>
|
||||
<!-- add extra directories to be included in the classpath -->
|
||||
<j:forEach var="triggerProject" items="${triggerProjectsSplit}">
|
||||
<buildstatus logdir="${maven.cruisecontrol.logs.dir}/${triggerProject}"/>
|
||||
<buildstatus logdir="${maven.cruisecontrol.logs.dir}/${triggerProject}"/>
|
||||
</j:forEach>
|
||||
|
||||
</modificationset>
|
||||
<schedule interval="${maven.cruisecontrol.schedule.interval}">
|
||||
<maven mavenscript="${maven.home}/bin/maven" goal="${maven.cruisecontrol.goals}" projectfile="${maven.cruisecontrol.checkout.dir}/${module}/project.xml"/>
|
||||
|
||||
<j:set var="type" value="${maven.cruisecontrol.schedule.type}"/>
|
||||
<j:choose>
|
||||
<j:when test="${type == 'time'}">
|
||||
<schedule>
|
||||
<maven
|
||||
mavenscript="${maven.home}/bin/maven"
|
||||
time="${maven.cruisecontrol.schedule.time}"
|
||||
goal="${maven.cruisecontrol.goals}"
|
||||
projectfile="${maven.cruisecontrol.checkout.dir}/${module}/project.xml"/>
|
||||
</schedule>
|
||||
<log dir="${maven.cruisecontrol.logs.dir}/${pom.artifactId}">
|
||||
<merge dir="${maven.cruisecontrol.checkout.dir}/${module}/target/test-reports"/>
|
||||
</j:when>
|
||||
<j:otherwise>
|
||||
<schedule interval="${maven.cruisecontrol.schedule.interval}">
|
||||
<maven
|
||||
mavenscript="${maven.home}/bin/maven"
|
||||
goal="${maven.cruisecontrol.goals}"
|
||||
projectfile="${maven.cruisecontrol.checkout.dir}/${module}/project.xml"/>
|
||||
</schedule>
|
||||
</j:otherwise>
|
||||
</j:choose>
|
||||
|
||||
<log
|
||||
encoding="${maven.cruisecontrol.logs.encodingtype}"
|
||||
dir="${maven.cruisecontrol.logs.dir}/${pom.artifactId}">
|
||||
<j:set var="mergevar" value="${maven.cruisecontrol.logs.merge}"/>
|
||||
<j:if test="${mergevar == 'true'}">
|
||||
<merge dir="${maven.cruisecontrol.logs.mergedirectory}"/>
|
||||
</j:if>
|
||||
</log>
|
||||
<publishers>
|
||||
<currentbuildstatuspublisher file="${maven.cruisecontrol.logs.dir}/currentbuildstatus.txt"/>
|
||||
<htmlemail
|
||||
subjectprefix="${maven.cruisecontrol.mail.subjectprefix}"
|
||||
defaultsuffix="${maven.cruisecontrol.mail.defaultsuffix}"
|
||||
mailhost="${maven.cruisecontrol.mail.host}"
|
||||
returnaddress="${pom.build.nagEmailAddress}"
|
||||
logdir="${maven.cruisecontrol.logs.dir}/${pom.artifactId}"
|
||||
css="${maven.cruisecontrol.home}/reporting/jsp/css/cruisecontrol.css"
|
||||
skipusers="${maven.cruisecontrol.mail.skipusers}"
|
||||
reportsuccess="${maven.cruisecontrol.mail.reportsuccess}"
|
||||
subjectprefix="${maven.cruisecontrol.mail.subjectprefix}"
|
||||
defaultsuffix="${maven.cruisecontrol.mail.defaultsuffix}"
|
||||
mailhost="${maven.cruisecontrol.mail.host}"
|
||||
returnaddress="${pom.build.nagEmailAddress}"
|
||||
logdir="${maven.cruisecontrol.logs.dir}/${pom.artifactId}"
|
||||
css="${maven.cruisecontrol.home}/reporting/jsp/css/cruisecontrol.css"
|
||||
xsldir="${maven.cruisecontrol.home}/reporting/jsp/xsl">
|
||||
<!-- need to map ids to emails here -->
|
||||
<j:set var="developers" value="${pom.developers}"/>
|
||||
<j:if test="${!empty(developers)}">
|
||||
<j:forEach var="developer" items="${pom.developers}">
|
||||
<map alias="${developer.id}" address="${developer.email}"/>
|
||||
</j:forEach>
|
||||
<j:set var="usemap" value="${maven.cruisecontrol.mail.usemap}"/>
|
||||
<j:if test="${usemap == 'true'}">
|
||||
<!-- need to map ids to emails here -->
|
||||
<j:set var="developers" value="${pom.developers}"/>
|
||||
<j:if test="${!empty(developers)}">
|
||||
<j:forEach var="developer" items="${pom.developers}">
|
||||
<map alias="${developer.id}" address="${developer.email}"/>
|
||||
</j:forEach>
|
||||
</j:if>
|
||||
</j:if>
|
||||
<failure address="${pom.build.nagEmailAddress}" />
|
||||
</htmlemail>
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
</goal>
|
||||
|
||||
<goal name="test-cruisecontrol-jsl-file">
|
||||
<!-- verify we can pass in another template -->
|
||||
<j:set var="maven.cruisecontrol.template" value="${basedir}/../../plugin-resources/cruisecontrol.jsl"/>
|
||||
<attainGoal name="cruisecontrol"/>
|
||||
<ant:echo message="Now testing cruisecontrol configuration: ${maven.cruisecontrol.config}"/>
|
||||
|
||||
@@ -57,13 +59,13 @@
|
||||
<x:parse var="cruisecontrolDoc" xml="${cruisecontrolFile.toURL()}" />
|
||||
|
||||
<x:set var="count" select="count($cruisecontrolDoc/cruisecontrol/project/modificationset/cvs)"/>
|
||||
<assert:assertEquals message="Looking for modification sets" expected="1" value="${count.intValue().toString()}"/>
|
||||
<assert:assertEquals msg="Looking for modification sets" expected="1" value="${count.intValue().toString()}"/>
|
||||
|
||||
<x:set var="count" select="count($cruisecontrolDoc/cruisecontrol/project/log/merge)"/>
|
||||
<assert:assertEquals message="Looking for log merge directories" expected="1" value="${count.intValue().toString()}"/>
|
||||
<assert:assertEquals msg="Looking for log merge directories" expected="1" value="${count.intValue().toString()}"/>
|
||||
|
||||
<x:set var="count" select="count($cruisecontrolDoc/cruisecontrol/project/modificationset/buildstatus)"/>
|
||||
<assert:assertEquals message="Looking for build status" expected="1" value="${count.intValue().toString()}"/>
|
||||
<assert:assertEquals msg="Looking for build status" expected="1" value="${count.intValue().toString()}"/>
|
||||
</goal>
|
||||
|
||||
<goal name="test-report-link-to-cruisecontrol">
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
</properties>
|
||||
<body>
|
||||
<release version="1.5" date="IN CVS">
|
||||
<action dev="epugh" type="add" issue="MPCRUISECONTROL-11" due-to="Alexandre Vivien">Add new properties to the maven cruisecontrol plugin.</action>
|
||||
<action dev="epugh" type="add" issue="MPCRUISECONTROL-8">External link for report should not include artifactId.</action>
|
||||
<action dev="epugh" type="add" issue="MPCRUISECONTROL-7">Add support for projects building when dependent projects are built.</action>
|
||||
</release>
|
||||
|
||||
@@ -41,6 +41,14 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.schedule.type</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Defines the schedule type: interval or time. Default value is
|
||||
<code>interval</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.schedule.interval</td>
|
||||
<td>Yes</td>
|
||||
@@ -49,6 +57,82 @@
|
||||
<code>300</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.schedule.time</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Time when builds this project, in the form HHmm (execute every day). Default value is
|
||||
<code>1900</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.checkout.dir</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Where to checkout/update code temporarily. Default value is
|
||||
<code>${basedir}/checkout</code>.</p>
|
||||
<p>
|
||||
<strong>NOTE: </strong>It may be more appropriate to set this in build.properties
|
||||
on the CruiseControl server since the value may differ from developer to developer.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.logs.encodingtype</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Encoding type for logs files. Default value is
|
||||
<code>ISO-8859-1</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.logs.dir</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Default value is
|
||||
<code>${maven.build.dir}/cc-logs</code>.</p>
|
||||
<p>
|
||||
<strong>NOTE: </strong>It may be more appropriate to set this in build.properties
|
||||
on the CruiseControl server since the value may differ from developer to developer.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.logs.merge</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Set true if you want to add others reports files at the end of the Cruisecontrol report file. Default value is
|
||||
<code>true</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.logs.mergedirectory</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Directory containing .xml reports files to merge. Default value is
|
||||
<code>${maven.cruisecontrol.checkout.dir}/${module}/target/test-reports</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.goals</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Default value is
|
||||
<code>scm:update-project|clean test|site:deploy</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.config</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Config file to update/create. Default value is
|
||||
<code>${basedir}/cruisecontrol.xml</code>.</p>
|
||||
<p>
|
||||
<strong>NOTE: </strong>It may be more appropriate to set this in build.properties
|
||||
on the CruiseControl server since the value may differ from developer to developer.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.mail.host</td>
|
||||
<td>Yes</td>
|
||||
@@ -70,47 +154,27 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.checkout.dir</td>
|
||||
<td>maven.cruisecontrol.mail.skipusers</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Where to checkout/update code temporarily. Default value is
|
||||
<code>${basedir}/checkout</code>.</p>
|
||||
<p>
|
||||
<strong>NOTE: </strong>It may be more appropriate to set this in build.properties
|
||||
on the CruiseControl server since the value may differ from developer to developer.
|
||||
</p>
|
||||
<p>Controls if the users who made changes in this build get email. Default value is
|
||||
<code>false</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.logs.dir</td>
|
||||
<td>maven.cruisecontrol.mail.usemap</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Default value is
|
||||
<code>${maven.build.dir}/cc-logs</code>.</p>
|
||||
<p>
|
||||
<strong>NOTE: </strong>It may be more appropriate to set this in build.properties
|
||||
on the CruiseControl server since the value may differ from developer to developer.
|
||||
</p>
|
||||
<p>if true, puts developers email address (find in project.xml), so they can receive email if skipusers is false. Default value is
|
||||
<code>true</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.goals</td>
|
||||
<td>maven.cruisecontrol.mail.reportsuccess</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Default value is
|
||||
<code>scm:update-project|clean test|site:deploy</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>maven.cruisecontrol.config</td>
|
||||
<td>Yes</td>
|
||||
<td>
|
||||
<p>Config file to update/create. Default value is
|
||||
<code>${basedir}/cruisecontrol.xml</code>.</p>
|
||||
<p>
|
||||
<strong>NOTE: </strong>It may be more appropriate to set this in build.properties
|
||||
on the CruiseControl server since the value may differ from developer to developer.
|
||||
</p>
|
||||
<p>Valid values : always (mails results on every successful build), never(only mails on failed builds ), fixes(mails results only on the first successful build and the first successful build after a failed build). Default value is
|
||||
<code>always</code>.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
Reference in New Issue
Block a user