git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@115420 13f79535-47bb-0310-9956-ffa450edef68
99 lines
4.2 KiB
XML
99 lines
4.2 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!--
|
|
/*
|
|
* Copyright 2001-2004 The Apache Software Foundation.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
-->
|
|
|
|
|
|
<!-- $Id: faq.fml,v 1.7 2004/05/05 07:34:38 brett Exp $ -->
|
|
<faqs title="Frequently Asked Questions">
|
|
|
|
<part id="General">
|
|
<title>General</title>
|
|
|
|
<faq id="change-template">
|
|
<question>How do I change the template used to generate <code>cruisecontrol.xml</code> configuration file?</question>
|
|
<answer>
|
|
If you specify your own maven.cruisecontrol.template, then that will be used
|
|
instead. If you want to wrap all of your logic up in your own plugin so that
|
|
you don't have to set each project individually, then specify it like this:
|
|
<code>maven.cruisecontrol.template=${maven.home}/plugins/my-company-plugin-0.1/plugin-resources/cruisecontrol.jsl</code>
|
|
and add to your plugin.xml this:
|
|
<source>
|
|
<![CDATA[
|
|
<preGoal name="build:start">
|
|
<ant:property name="maven.cruisecontrol.template" value="${anite.cruisecontrol.template}"/>
|
|
<maven:pluginVar plugin="maven-cruisecontrol-plugin" property="maven.cruisecontrol.template" var="loc"/>
|
|
</preGoal>
|
|
]]>
|
|
</source>
|
|
Note, this is a very brittle solution and suggestions on how to not hardcode the path would be appreciated!
|
|
</answer>
|
|
</faq>
|
|
|
|
<faq id="pass-in-values">
|
|
<question>How do I pass in my own values in my cruisecontrol.jsl?</question>
|
|
<answer>
|
|
Just setup in your project or plugin your own properties like: myplugin.cruisecontrol.mailhost=localhost
|
|
and then just use <code>mailhost=${myplugin.cruisecontrol.mailhost}</code> in your cruisecontrol.jsl!
|
|
</answer>
|
|
</faq>
|
|
|
|
<faq id="crossplatform">
|
|
<question>I am running Cruise on both a Linux and Window's boxes, how can I be crossplatform?</question>
|
|
<answer>
|
|
I specified it like this in my own plugin, this would work in your maven.xml as well:
|
|
<p>
|
|
<source>
|
|
<![CDATA[
|
|
<preGoal name="cruisecontrol:validate">
|
|
<ant:echo message="Generating CruiseControl configuration for ${systemScope['os.name']} platform. "/>
|
|
<j:choose>
|
|
<j:when test="${systemScope['os.name'].startsWith('Windows')}">
|
|
<ant:property name="maven.cruisecontrol.home" value="${anite.cruisecontrol.windows.home}"/>
|
|
<ant:property name="anite.cruisecontrol.mavenscript" value="${myplugin.cruisecontrol.windows.mavenscript}"/>
|
|
</j:when>
|
|
<j:otherwise>
|
|
<ant:property name="maven.cruisecontrol.home" value="${myplugin.cruisecontrol.linux.home}"/>
|
|
<ant:property name="myplugin.cruisecontrol.mavenscript" value="${myplugin.cruisecontrol.linux.mavenscript}"/>
|
|
</j:otherwise>
|
|
</j:choose>
|
|
<ant:echo message="maven.cruisecontrol.template:${maven.cruisecontrol.template}"/>
|
|
</preGoal>
|
|
]]>
|
|
</source>
|
|
</p>
|
|
</answer>
|
|
</faq>
|
|
|
|
<faq id="multiple-projects">
|
|
<question>How can I generate just a single configuration file for multiple projects?</question>
|
|
<answer>
|
|
A neat trick of the cruisecontrol plugin is that if you specify a single configuration file for all your
|
|
projects, then the plugin will just install/update the one your are working on. So, in your project.xml
|
|
set <code>maven.cruisecontrol.config=c:/cruisecontrol.xml</code> or maybe
|
|
<code>maven.cruisecontrol.config=${maven.cruisecontrol.home}/cruisecontrol.xml</code> for use in cross
|
|
platform situations. Unfortunantly, I haven't been able to have a plugin set this value, so you need
|
|
to put it in all your projects.
|
|
</answer>
|
|
</faq>
|
|
|
|
|
|
</part>
|
|
|
|
</faqs>
|
|
|