You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(142) |
Jun
(27) |
Jul
(122) |
Aug
(36) |
Sep
(59) |
Oct
(86) |
Nov
(140) |
Dec
(80) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(52) |
Feb
(153) |
Mar
(118) |
Apr
(143) |
May
(123) |
Jun
(64) |
Jul
(282) |
Aug
(469) |
Sep
(56) |
Oct
(201) |
Nov
(182) |
Dec
(31) |
| 2005 |
Jan
(229) |
Feb
(316) |
Mar
(187) |
Apr
(130) |
May
(190) |
Jun
(154) |
Jul
(148) |
Aug
(133) |
Sep
(209) |
Oct
(234) |
Nov
(100) |
Dec
(40) |
| 2006 |
Jan
(1) |
Feb
(87) |
Mar
(73) |
Apr
(126) |
May
(58) |
Jun
(8) |
Jul
(12) |
Aug
(14) |
Sep
(22) |
Oct
(33) |
Nov
(4) |
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
1
(4) |
2
|
3
|
4
(2) |
5
|
6
|
7
|
|
8
|
9
(6) |
10
(10) |
11
|
12
(5) |
13
|
14
|
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
|
29
|
30
|
|
|
|
|
|
|
From: <mik...@us...> - 2003-06-12 13:51:19
|
Update of /cvsroot/ccnet/ccnet/project/core/builder
In directory sc8-pr-cvs1:/tmp/cvs-serv21510/project/core/builder
Modified Files:
NAntBuilder.cs
Log Message:
Updating buildTimeout out so it defaults to 0, and interpreting this as 'never timeout'
Index: NAntBuilder.cs
===================================================================
RCS file: /cvsroot/ccnet/ccnet/project/core/builder/NAntBuilder.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** NAntBuilder.cs 4 Jun 2003 04:05:36 -0000 1.2
--- NAntBuilder.cs 12 Jun 2003 13:50:45 -0000 1.3
***************
*** 19,23 ****
private string _buildArgs = DEFAULT_BUILDARGS;
private string _buildfile;
! private int _buildTimeout = 60000;
private string[] _targets;
--- 19,23 ----
private string _buildArgs = DEFAULT_BUILDARGS;
private string _buildfile;
! private int _buildTimeout = 0;
private string[] _targets;
***************
*** 108,113 ****
{
TextReader stdOut = ProcessUtil.ExecuteRedirected(process);
! result.Output = stdOut.ReadToEnd();
! process.WaitForExit(BuildTimeout);
return process.ExitCode;
}
--- 108,120 ----
{
TextReader stdOut = ProcessUtil.ExecuteRedirected(process);
! result.Output = stdOut.ReadToEnd();
! if (BuildTimeout > 0)
! {
! process.WaitForExit(BuildTimeout);
! }
! else
! {
! process.WaitForExit();
! }
return process.ExitCode;
}
|
|
From: <mik...@us...> - 2003-06-12 13:50:53
|
Update of /cvsroot/ccnet/ccnet/project/CCTray In directory sc8-pr-cvs1:/tmp/cvs-serv21510/project/CCTray Modified Files: .cvsignore Log Message: Updating buildTimeout out so it defaults to 0, and interpreting this as 'never timeout' Index: .cvsignore =================================================================== RCS file: /cvsroot/ccnet/ccnet/project/CCTray/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .cvsignore 29 May 2003 19:11:54 -0000 1.1 --- .cvsignore 12 Jun 2003 13:50:47 -0000 1.2 *************** *** 1 **** --- 1,3 ---- CCTray.csproj.user + bin + obj \ No newline at end of file |
|
From: <mik...@us...> - 2003-06-12 13:50:53
|
Update of /cvsroot/ccnet/ccnet/doc
In directory sc8-pr-cvs1:/tmp/cvs-serv21510/doc
Modified Files:
ccnet.config.html
Log Message:
Updating buildTimeout out so it defaults to 0, and interpreting this as 'never timeout'
Index: ccnet.config.html
===================================================================
RCS file: /cvsroot/ccnet/ccnet/doc/ccnet.config.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ccnet.config.html 9 Jun 2003 02:21:47 -0000 1.2
--- ccnet.config.html 12 Jun 2003 13:50:48 -0000 1.3
***************
*** 222,229 ****
<li>buildTimeout <span style="font-style: italic;">(optional) </span>-
This element may be set to indicate the maximum amount of time in
! milliseconds CruiseControl.NET should wait for the build to finish. The
! default is 60000 or 1 minute. For most builds that isn't very long sp
! you should consider increasing it (in the example, we set it to be 5
! minutes)<br>
</li>
</ul>
--- 222,229 ----
<li>buildTimeout <span style="font-style: italic;">(optional) </span>-
This element may be set to indicate the maximum amount of time in
! milliseconds CruiseControl.NET should wait for the build to finish. If
! you leave this element out, or set it to 0, then CruiseControl.NET will
! wait indefinitely for Nant to finish (so if Nant 'hangs', so will
! CruiseControl.NET)<br>
</li>
</ul>
|
|
From: <mik...@us...> - 2003-06-12 13:50:53
|
Update of /cvsroot/ccnet/ccnet/project/web/images In directory sc8-pr-cvs1:/tmp/cvs-serv21510/project/web/images Added Files: .cvsignore Log Message: Updating buildTimeout out so it defaults to 0, and interpreting this as 'never timeout' --- NEW FILE: .cvsignore --- Thumbs.db |
|
From: <mik...@us...> - 2003-06-12 13:50:52
|
Update of /cvsroot/ccnet/ccnet/project/ControlPanel In directory sc8-pr-cvs1:/tmp/cvs-serv21510/project/ControlPanel Added Files: .cvsignore Log Message: Updating buildTimeout out so it defaults to 0, and interpreting this as 'never timeout' --- NEW FILE: .cvsignore --- bin obj *.user |
|
From: <mik...@us...> - 2003-06-10 15:24:46
|
Update of /cvsroot/ccnet/website/releases/0.3.1 In directory sc8-pr-cvs1:/tmp/cvs-serv22453/releases/0.3.1 Removed Files: ccnet.web.0.3.1.msi ccnet.server.0.3.1.msi Log Message: moving website into sub-folder, now we build the website by combining with docs in the main module --- ccnet.web.0.3.1.msi DELETED --- --- ccnet.server.0.3.1.msi DELETED --- |
|
From: <mik...@us...> - 2003-06-10 15:21:44
|
Update of /cvsroot/ccnet/website/site/images In directory sc8-pr-cvs1:/tmp/cvs-serv20961/site/images Added Files: bg_blue_stripe.gif ccnet_logo.gif tw_dev_logo.gif Removed Files: Thumbs.db Log Message: moving website into sub-folder, now we build the website by combining with docs in the main module --- NEW FILE: bg_blue_stripe.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ccnet_logo.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tw_dev_logo.gif --- (This appears to be a binary file; contents omitted.) --- Thumbs.db DELETED --- |
|
From: <mik...@us...> - 2003-06-10 15:17:15
|
Update of /cvsroot/ccnet/website/site/releases/0.3.1 In directory sc8-pr-cvs1:/tmp/cvs-serv18677/site/releases/0.3.1 Added Files: ccnet.web.0.3.1.msi ccnet.server.0.3.1.msi Log Message: moving website into sub-folder, now we build the website by combining with docs in the main module --- NEW FILE: ccnet.web.0.3.1.msi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ccnet.server.0.3.1.msi --- (This appears to be a binary file; contents omitted.) |
|
From: <mik...@us...> - 2003-06-10 15:16:33
|
Update of /cvsroot/ccnet/website/site/releases/0.3.1 In directory sc8-pr-cvs1:/tmp/cvs-serv18628/site/releases/0.3.1 Log Message: Directory /cvsroot/ccnet/website/site/releases/0.3.1 added to the repository |
|
From: <mik...@us...> - 2003-06-10 15:16:32
|
Update of /cvsroot/ccnet/website/site/releases In directory sc8-pr-cvs1:/tmp/cvs-serv18628/site/releases Log Message: Directory /cvsroot/ccnet/website/site/releases added to the repository |
Update of /cvsroot/ccnet/website/tasks In directory sc8-pr-cvs1:/tmp/cvs-serv17401/tasks Removed Files: cvs.html vss.html xmllog.html project.html nant.html email.html starteam.html perforce.html Log Message: moving website into sub-folder, now we build the website by combining with docs in the main module --- cvs.html DELETED --- --- vss.html DELETED --- --- xmllog.html DELETED --- --- project.html DELETED --- --- nant.html DELETED --- --- email.html DELETED --- --- starteam.html DELETED --- --- perforce.html DELETED --- |
|
From: <mik...@us...> - 2003-06-10 15:13:38
|
Update of /cvsroot/ccnet/website/images In directory sc8-pr-cvs1:/tmp/cvs-serv17401/images Removed Files: ccnet_logo.gif bg_blue_stripe.gif tw_dev_logo.gif Log Message: moving website into sub-folder, now we build the website by combining with docs in the main module --- ccnet_logo.gif DELETED --- --- bg_blue_stripe.gif DELETED --- --- tw_dev_logo.gif DELETED --- |
|
From: <mik...@us...> - 2003-06-10 15:11:27
|
Update of /cvsroot/ccnet/website
In directory sc8-pr-cvs1:/tmp/cvs-serv16632
Modified Files:
.cvsignore
Added Files:
b.bat website.build
Removed Files:
download.html index.php tutorial.html tasks.html license.html
documentation.html style.css default.html install.html
Log Message:
moving website into sub-folder, now we build the website by
combining with docs in the main module
--- NEW FILE: b.bat ---
@echo off
cls
tools\nant\NAnt.exe %*
--- NEW FILE: website.build ---
<?xml version="1.0"?>
<project name="ccnet-website" default="deploy.local">
<property name="ccnet-cvs-dir" value="..\ccnet" />
<target name="deploy.local">
<delete dir="deployed" failonerror="false"/>
<mkdir dir="deployed" />
<copy todir="deployed">
<fileset basedir="site">
<includes name="**\*" />
</fileset>
</copy>
<mkdir dir="deployed\docs" />
<copy todir="deployed\docs">
<fileset basedir="${ccnet-cvs-dir}\doc">
<includes name="**\*" />
</fileset>
</copy>
</target>
</project>
Index: .cvsignore
===================================================================
RCS file: /cvsroot/ccnet/website/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** .cvsignore 27 May 2003 03:48:59 -0000 1.1
--- .cvsignore 10 Jun 2003 15:11:23 -0000 1.2
***************
*** 1 ****
--- 1,2 ----
+ deployed
.project
--- download.html DELETED ---
--- index.php DELETED ---
--- tutorial.html DELETED ---
--- tasks.html DELETED ---
--- license.html DELETED ---
--- documentation.html DELETED ---
--- style.css DELETED ---
--- default.html DELETED ---
--- install.html DELETED ---
|
Update of /cvsroot/ccnet/website/tools/nant
In directory sc8-pr-cvs1:/tmp/cvs-serv15526/tools/nant
Added Files:
ICSharpCode.SharpZipLib.dll NAnt.ZipTasks.dll
log4net-net-1.0.dll NAnt.Contrib.Tasks.dll NAnt.Core.dll
nant.exe.config NAnt.DotNetTasks.dll
Log Message:
moving website into sub-folder, now we build the website by
combining with docs in the main module
--- NEW FILE: ICSharpCode.SharpZipLib.dll ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: NAnt.ZipTasks.dll ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: log4net-net-1.0.dll ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: NAnt.Contrib.Tasks.dll ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: NAnt.Core.dll ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: nant.exe.config ---
<?xml version="1.0" encoding="Windows-1252"?>
<configuration>
<!-- Leave this alone. Sets up configsectionhandler section -->
<configSections>
<section name="nantsettings" type="SourceForge.NAnt.ConfigurationSection, NAnt.Core" />
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>
<appSettings>
<!-- Used to indicate the location of the cache folder for shadow files -->
<add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
<!-- Used to indicate that NAnt should shadow files in a cache folder near the executable -->
<add key="nant.shadowfiles" value="False" />
<!-- Used to indicate if cached files should be delete when done running-->
<add key="nant.shadowfiles.cleanup" value="False" />
<!-- To enable internal log4net logging, uncomment the next line -->
<!-- <add key="log4net.Internal.Debug" value="true"/> -->
</appSettings>
<!-- nant config settings -->
<nantsettings
defaultframework="net-1.0"
>
<frameworks>
<frameworkinfo
name = "net-1.0"
description = "Microsoft .Net Framework 1.0"
version = "1.0.3705"
runtimeengine=""
csharpcompilername = "csc"
basiccompilername = "vbc"
jsharpcompilername = "vjc"
jscriptcompilername = "jsc"
resgenname = "resgen"
>
<sdkdirectory useregistry="true" regkey="Software\Microsoft\.NetFramework" regvalue="sdkInstallRoot" />
<frameworkdirectory useregistry="true" regkey="Software\Microsoft\.NetFramework" regvalue="InstallRoot" />
<frameworkassemblydirectory useregistry="true" regkey="Software\Microsoft\.NetFramework" regvalue="InstallRoot"/>
</frameworkinfo>
<frameworkinfo
name = "net-1.1"
description = "Microsoft .Net Framework 1.1"
version = "1.1.4322"
runtimeengine=""
csharpcompilername = "csc"
basiccompilername = "vbc"
jsharpcompilername = "vjc"
jscriptcompilername = "jsc"
resgenname = "resgen"
>
<sdkdirectory useregistry="true" regkey="Software\Microsoft\.NetFramework" regvalue="sdkInstallRootv1.1" />
<frameworkdirectory useregistry="true" regkey="Software\Microsoft\.NetFramework" regvalue="InstallRoot" />
<frameworkassemblydirectory useregistry="true" regkey="Software\Microsoft\.NetFramework" regvalue="InstallRoot"/>
</frameworkinfo>
<frameworkinfo
name = "mono-0.21"
description = "gnome projects port of the .Net Framework 0.21"
version = "0.21"
runtimeengine="mono.exe"
csharpcompilername = "mcs"
basiccompilername = "mbas"
jsharpcompilername = ""
jscriptcompilername = ""
resgenname = "monoresgen"
>
<sdkdirectory dir="C:\mono-0.21\install\bin" />
<frameworkdirectory dir="C:\mono-0.21\install\bin" />
<frameworkassemblydirectory dir="C:\mono-0.21\install\lib" />
</frameworkinfo>
<frameworkinfo
name = "mono-0.22"
description = "gnome projects port of the .Net Framework 0.22"
version = "0.22"
runtimeengine="mono.exe"
csharpcompilername = "mcs"
basiccompilername = "mbas"
jsharpcompilername = ""
jscriptcompilername = ""
resgenname = "monoresgen"
>
<sdkdirectory dir="C:\mono-0.22\install\bin" />
<frameworkdirectory dir="C:\mono-0.22\install\bin" />
<frameworkassemblydirectory dir="C:\mono-0.22\install\lib" />
</frameworkinfo>
<frameworkinfo
name = "mono-0.23"
description = "gnome projects port of the .Net Framework 0.23"
version = "0.23"
runtimeengine="mono.exe"
csharpcompilername = "mcs"
basiccompilername = "mbas"
jsharpcompilername = ""
jscriptcompilername = ""
resgenname = "monoresgen"
>
<sdkdirectory dir="C:\mono-0.23\bin" />
<frameworkdirectory dir="C:\mono-0.23\bin" />
<frameworkassemblydirectory dir="C:\mono-0.23\lib" />
</frameworkinfo>
<frameworkinfo
name = "netcf-1.0"
description = "Microsoft .Net Compact Framework Framework 1.0"
version = "1.1.4322"
runtimeengine=""
csharpcompilername = "csc"
basiccompilername = "vbc"
jsharpcompilername = ""
jscriptcompilername = ""
resgenname = "cfresgen"
>
<sdkdirectory dir="C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\bin" />
<frameworkdirectory useregistry="true" regkey="Software\Microsoft\.NetFramework" regvalue="InstallRoot" />
<frameworkassemblydirectory dir="C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE" />
</frameworkinfo>
<!-- shared source implementation -->
<frameworkinfo
name = "sscli-1.0"
description = "Microsoft Shared Source CLI 1.0"
version = "1.0.0000"
runtimeengine="clix.exe"
csharpcompilername = "csc"
basiccompilername = ""
jsharpcompilername = ""
jscriptcompilername = "jsc"
resgenname = "resgen"
>
<sdkdirectory dir="C:\sscli\build\v1.x86fstchk.rotor\sdk\bin"/>
<frameworkdirectory dir="C:\sscli\build\v1.x86fstchk.rotor" />
<frameworkassemblydirectory dir="C:\sscli\build\v1.x86fstchk.rotor"/>
</frameworkinfo>
</frameworks>
<!-- Default properties -->
<properties>
<!-- add global properties here in th following format-->
<!-- <property name="foo" value = "bar" readonly="false" /> -->
</properties>
<tasks>
<!-- setting for individual tasks -->
<task name ="csctask">
<!-- not used yet -->
</task>
<task name ="resgentask">
<!-- not used yet -->
</task>
</tasks>
</nantsettings>
<!--
This section contains the log4net configuration settings.
By default, no messages will be logged to the log4net logging infrastructure.
To enable the internal logging, set the threshold attribute on the log4net element
to "ALL".
When internal logging is enabled, internal messages will be written to the
console.
-->
<log4net threshold="OFF">
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%c{2}:%m - [%x] <%X{auth}>]%n" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="${APPDATA}\\NAnt\\NAnt.log" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="2" />
<param name="MaximumFileSize" value="500KB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%c{2}:%m - [%x] <%X{auth}>]%n" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<!-- Only log messages with severity ERROR (or higher) -->
<level value="ERROR" />
<!-- Log messages to the console -->
<appender-ref ref="ConsoleAppender" />
<!-- Uncomment the next line to enable logging messages to the NAnt.log file -->
<!-- <appender-ref ref="RollingLogFileAppender" /> -->
</root>
<!-- Specify the priority for some specific categories -->
<!--
<logger name="SourceForge.NAnt.TaskBuilderCollection">
<level value="DEBUG" />
</logger>
<logger name="SourceForge">
<level value="INFO" />
</logger>
-->
</log4net>
<startup>
<supportedRuntime version="v1.0.3705" />
<supportedRuntime version="v1.1.4322" />
</startup>
</configuration>
--- NEW FILE: NAnt.DotNetTasks.dll ---
(This appears to be a binary file; contents omitted.)
|
|
From: <mik...@us...> - 2003-06-10 15:08:07
|
Update of /cvsroot/ccnet/website/tools/nant In directory sc8-pr-cvs1:/tmp/cvs-serv15370/tools/nant Log Message: Directory /cvsroot/ccnet/website/tools/nant added to the repository |
|
From: <mik...@us...> - 2003-06-09 15:07:56
|
Update of /cvsroot/ccnet/website/site/images In directory sc8-pr-cvs1:/tmp/cvs-serv31498/site/images Added Files: Thumbs.db Log Message: moving website into sub-folder, now we build the website by combining with docs in the main module --- NEW FILE: Thumbs.db --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/ccnet/website/site
In directory sc8-pr-cvs1:/tmp/cvs-serv31498/site
Added Files:
style.css download.html index.php default.html
projectDetails.html license.html .cvsignore
Log Message:
moving website into sub-folder, now we build the website by
combining with docs in the main module
--- NEW FILE: style.css ---
BODY {
FONT: 11px/1.5 Verdana, sans-serif; COLOR: black; BACKGROUND-COLOR: #FFF;
PADDING: 0px; MARGIN: 0px
}
H1 {
FONT-SIZE: 2em; MARGIN: 1em 0px 0px; FONT-FAMILY: arial, verdana, sans-serif; COLOR: #036
}
H2 {
FONT-SIZE: 1.75em; MARGIN: 1em 0px 0px; FONT-FAMILY: arial, verdana, sans-serif; COLOR: #036
}
H3 {
FONT-SIZE: 1.5em; MARGIN: 1em 0px 0px; FONT-FAMILY: arial, verdana, sans-serif; COLOR: #036
}
H4 {
FONT-SIZE: 1.25em; MARGIN: 1em 0px 0px; FONT-FAMILY: arial, verdana, sans-serif; COLOR: #036
}
A {
TEXT-DECORATION: none; FONT-WEIGHT: bold; COLOR: #900;
}
A:hover {
TEXT-DECORATION: underline
}
A:visited {
COLOR: #036;
}
UL, OL {
MARGIN-TOP: 4px; MARGIN-BOTTOM: 4px
}
#header {
BACKGROUND-COLOR: #003; PADDING: 8px; BACKGROUND-IMAGE: url(images/bg_blue_stripe.gif);
BORDER-BOTTOM: #33F 4px solid;
}
#menu {
PADDING: 4px 4px 0px 8px; COLOR: white; FONT: 12px Verdana; FONT-WEIGHT: bold;
}
#menu a {
PADDING: 2px 7px 2px 7px; COLOR: #ffffff; TEXT-DECORATION: none;
}
#menu a:hover {
PADDING: 1px 6px 1px 6px; BORDER: 1px solid #ffffff; BACKGROUND-COLOR: #33F;
}
#content {
FLOAT: left; PADDING: 0px 24px 0px 24px; WIDTH: 700px; COLOR: #000;
BACKGROUND-COLOR: #fff; HEIGHT: 100%;
}
#sidebar {
BACKGROUND-COLOR: #003; BACKGROUND-IMAGE: url(images/bg_blue_stripe.gif);
}
#sidebar, #sidebar H3, #sidebar a {
COLOR: #fff;
}
.lastmod {
TEXT-ALIGN: right; FONT-STYLE: italic; COLOR: #036; CLEAR: both
}
PRE {
BORDER-COLOR: #999999; BACKGROUND-COLOR: #CCCCCC; BORDER-STYLE: solid;
BORDER-WIDTH: 1px; MARGIN-LEFT: 20px; MARGIN-TOP: 20px; PADDING: 10px;
}
--- NEW FILE: download.html ---
<h2>Download</h2>
<p>CruiseControl.NET Beta Releases are available at this time</p>
<h4>CruiseControl.NET 0.3.1</h4>
<ul>
<li><a href="releases/0.3.1/ccnet.server.0.3.1.msi">Builder Installer</a></li>
<li><a href="releases/0.3.1/ccnet.web.0.3.1.msi">Web Installer</a></li>
</ul>
--- NEW FILE: index.php ---
<?php
@ $path = GetSecurePath($_GET['page']);
function GetSecurePath($file="")
{
$file = str_replace ("..","",$file);
$path = $file;
if ("index.php" == $path or "" == $path)
{
$path = $base . 'default.html';
}
return $path;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>CruiseControl.NET: A Continuous Integration Server For .NET</title>
<meta name="author" content="CruiseControl.NET Team">
<meta name="description" content="CruiseControl.NET: A Continuous Integration Server For .NET">
<meta name="KEYWORDS" content="CruiseControl continuous integration .NET C# ThoughtWorks">
<style type="text/css" media="all">@import "style.css";</style>
<link rel="alternate style sheet" media="print" type="text/css" href="print.css" title="Printable" />
</head>
<body>
<div id="header">
<table width="100%">
<tr>
<td><a href="http://continuousintegration.org/"><img src="images/ccnet_logo.gif" border="0" width="235" height="54"></a></td>
<td align="right"><a href="http://www.thoughtworks.com/"><img src="images/tw_dev_logo.gif" border="0" align="right"/></a></td>
</tr>
</table>
<div id="menu">
<a href="?page=default.html" title="CruiseControl.NET home page">Home</a> |
<a href="?page=download.html">Download</a> |
<a href="docs/">Documentation</a> |
<a href="?page=license.html">License</a> |
<a href="?page=projectDetails.html">Project Details</a>
</div>
</div>
<div id="content">
<?php
if (file_exists ($path)) {
require_once("$path");
}
else {
print "<p>Could not find page: $path</p>";
return;
}
print ('<p class="lastmod">Page updated: ' . date("Y-m-d", filemtime(addslashes($path))) . '</p>');
?>
</div>
</body>
</html>
--- NEW FILE: default.html ---
<h2>CruiseControl.NET</h2>
<p>
CruiseControl.NET is an automated Continuous Integration server for the Microsoft .NET platform.
It is a functional port of the Java-based <a href="http://cruisecontrol.sourceforge.net">CruiseControl</a>
to the .NET platform.
</p>
<h2>Key Features</h2>
<ul>
<li>CruiseControl.NET provides the benefits of automated
<a href="http://www.martinfowler.com/articles/continuousIntegration.html">Continuous Integration</a> to .NET projects.</li>
<li>Integration with <a href="http://nant.sf.net"/>Nant</a> and <a href="http://www.nunit.org/">NUnit</a>.</li>
<li>Integration with major open source and proprietory Source Control systems:
<ul>
<li>CVS</li>
<li>VSS</li>
<li>Perforce</li>
<li>StarTeam</li>
<li>PVCS</li>
</ul>
</li>
<li>Multiple visibility options:
<ul>
<li>ASP.NET enabled Web Application</li>
<li>HTML and plain-text email</li>
<li>System Tray notification</li>
</ul>
</li>
<li>Customization options through pluggable architecture and source code availability.
</ul>
<h2>Getting Started</h2>
<ol>
<li><a href="?page=download.html">Download</a> CruiseControl.NET</li>
<li>Read the documentation <a href="docs/">online</a> or in the downloaded release</li>
</ol>
<br/>
<h2>News</h2>
<h4>8th June 2003</h4>
<p>Website and documentation updates - documentation is now available <a href="docs/">online</a>.</p>
<h2>ThoughtWorks powered</h2>
<p>CruiseControl.NET is developed by <a href="http://www.thoughtworks.com">ThoughtWorks</a>: leaders in Agile Software Development</p>
--- NEW FILE: projectDetails.html ---
<h2>Project Details</h2>
<h3>Open Source</h3>
<p>
CruiseControl.NET is an Open Source project, so the source code is available and
distributable under a few conditions. The full license is 'BSD like', and is viewable
<a href="?page=license.html">here</a>.
</p>
<h3>Project Management</h3>
<p>
The CruiseControl.NET source trees and email lists are hosted on SourceForge, and CruiseControl.NET's
SourceForge home page can be found <a href="http://www.sourceforge.net/projects/ccnet">here</a>. In
particular, if you require the latest source code you'll want to look there on how to use anonymous CVS.
</p>
<p>
The CruiseControl.NET website is updated dynamically from the website module of CVS, and its URL is
<a href="http://ccnet.thoughtworks.com">http://ccnet.thoughtworks.com</a>
</p>
<p>
Issue tracking is managed <a href="http://jira.truemesh.com/secure/BrowseProject.jspa?id=10010">here</a>
using <a href="http://www.atlassian.com/software/jira">Jira</a>.
</p>
<p>
Since we are still in the early days of the project (and we believe in lightweight methodologies anyway),
project decisions tend to be made in an ad-hoc fashion, normally by some kind of consesus on the <b>ccnet-devel</b>
email list (see below).
</p>
<h3>Support and Feedback</h3>
<p>
CruiseControl.NET is not a commercial piece of software, so we cannot guarantee any kind of level of support.
However, if you subscribe to the <b>ccnet-user</b> email list <a href="http://sourceforge.net/mail/?group_id=71179">here</a>,
and post any query you may have, we will try and answer it as best and as soon as we can. You can also use this forum
to provide any feedback (improvement ideas, feature requests, etc.)
</p>
<p>
If you are interested in the actual development of CruiseControl.NET, please also feel free to subscribe and post to the
<b>ccnet-devel</b> list, but if you are going to post to this second forum, please don't use it for support requests.
</p>
<h3>Submitting updates</h3>
<p>
We welcome patches and updates to the code and documentation for CruiseControl.NET. If you want to do this, the best
way is to email the ccnet-devel list with your change, and start the subject of your email '[PATCH]'.
</p>
<p>
The format of your submission ideally should be a description of what you have done, along with an associated CVS patch
(if you don't know how to create a CVS patch, you probably want to use <a href="http://www.eclipse.org">Eclipse</a>
as your CVS client since it has a good GUI for creating them). If your patch includes files > 100kb, please <b>don't</b>
send it to the list. Instead, either put your patch on a website that the admin team can access, or alternatively just email
the list with a description of your patch, and one of the admin team will reply off-list so that you can send the files
just to one person.
</p>
<h3>Project Team</h3>
<p>
Too many people have contributed to the source base of CruiseControl.NET for us to mention here. The admin
team extend their thanks to all of them, and we encourage new contributors to the project!
</p>
<p>
The CruiseControl.NET admin team currently consists of the following people:
<ul>
<li>Owen Rogers</li>
<li>Mike Two</li>
<li>Mike Roberts</li>
</ul>
We have no formal procedures at present for membership of this team and we we expect people to rotate in and out.
</p>
--- NEW FILE: license.html ---
<pre>
The ThoughtWorks Open Source Software License, Version 1.0
Copyright (c) 2003 ThoughtWorks, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution,
if any, must include the following acknowledgment:
"This product includes software developed by
ThoughtWorks, Inc. (http://www.thoughtworks.com/)."
Alternately, this acknowledgment may appear in the software itself,
if and wherever such third-party acknowledgments normally appear.
4. The names "CruiseControl", "CruiseControl.NET", "CCNET", and
"ThoughtWorks, Inc." must not be used to endorse or promote products
derived from this software without prior written permission. For written
permission, please contact ope...@th....
5. Products derived from this software may not be called "CruiseControl.NET"
or "ThoughtWorks", nor may "CruiseControl.NET" or "ThoughtWorks"
appear in their name, without prior written permission of
ThoughtWorks, Inc.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THOUGHTWORKS INC OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.</pre>
--- NEW FILE: .cvsignore ---
.project
|
|
From: <mik...@us...> - 2003-06-09 02:25:40
|
Update of /cvsroot/ccnet/website/tools In directory sc8-pr-cvs1:/tmp/cvs-serv29078/tools Log Message: Directory /cvsroot/ccnet/website/tools added to the repository |
|
From: <mik...@us...> - 2003-06-09 02:25:40
|
Update of /cvsroot/ccnet/website/site/images In directory sc8-pr-cvs1:/tmp/cvs-serv29078/site/images Log Message: Directory /cvsroot/ccnet/website/site/images added to the repository |
|
From: <mik...@us...> - 2003-06-09 02:25:40
|
Update of /cvsroot/ccnet/website/site In directory sc8-pr-cvs1:/tmp/cvs-serv29078/site Log Message: Directory /cvsroot/ccnet/website/site added to the repository |
|
From: <mik...@us...> - 2003-06-09 02:21:50
|
Update of /cvsroot/ccnet/ccnet/doc In directory sc8-pr-cvs1:/tmp/cvs-serv28018/doc Modified Files: index.html ccnet.config.html Added Files: installation.html Removed Files: readme.html license.html Log Message: Documentation updates --- NEW FILE: installation.html --- <html> <head> <title>CruiseControl.NET Installation</title> <link type="text/css" rel="stylesheet" href="cruisecontrol.css"/> </head> <body> <div style="float:right"><img src="images/ccnet_logo_onwhite.gif"/></div> <h2 style="color:#33F">CruiseControl.NET Installation</h2> <p/> <p>This document is currently a 'work in progress' - please bare with us until we get the documentation up to a release 1.0 standard</p> <h3>Preconditions</h3> These instructions assume that you have already: <ul> <li>Installed Microsoft IIS</li> <li>Installed the Microsoft .NET SDK (IIS must be installed before .NET)</li> <li>Set up a NAnt build file to build and test your application</li> <li>Placed your project under version control using CVS or VSS</li> </ul> <h3>Installing And Running the Server</h3> <ol> <li> Start the installation by running the CruiseControl.NET Server Installer: <code>ccnet.server.msi</code> </li> <li> Select into which folder to install the CruiseControl.NET server. This folder will be referred to as the <code><i>installation-folder</i></code>. </li> <li> Select whether you would like to install CVS and NAnt. The NAnt install is strongly recommended because CruiseControl.NET needs to use enhancements only available in recent versions of NAnt. Installing CruiseControl.NET will not affect your existing installations of CVS or NAnt. </li> <li> Once the installation is complete, you must manually edit certain files to customize CruiseControl.NET to build your project. Edit the <code><i>installation-folder</i>\ccnet.config</code> file. (eg. <a href="file://C:\Program Files\CruiseControl.Net\bin">C:\Program Files\CruiseControl.Net\bin</a>), as described <a href="ccnet.config.html">here</a>. </li> <li> Edit the <code>cruise.build</code> file. <ol type="a"> <li>If you are using CVS, modify the <code>program</code> attribute in the <code>exec</code> task to perform an update on your source tree. By default, this is set to the path where CVS is installed by CruiseControl.NET. Modify the <code>basedir</code> attribute to point to the root folder where the source will be checked out to. </li> <li> If using VSS, then delete the CVS exec task and remove the HTML comments around the VSS exec task. Change the <code>program</code> attribute to the location of the <code>ss.exe</code> file. Set the <code>basedir</code> attribute to point to the root folder where the source will be checked out to. Also, modify the <code>commandline</code> attribute to the include the name your VSS project. </li> <li>Modify the <code>buildfile</code> attribute in the <code>nant</code> task to point to the NAnt buildfile for your project. </li> </ol> </li> <li> Assuming that everything is configured correctly, you should now be able to run CruiseControl.NET. Click the <b>Run CruiseControl.NET</b> icon in the under the Start menu->Programs->CruiseControl.NET. </li> </ol> <hr/> <h3>Installing the Web Application</h3> <ol> <li> Start the installation by running the CruiseControl.NET Web Installer: <code>ccnet.web.msi</code> </li> <li> Specify the virtual directory into which to install the CruiseControl.NET Web Application. This virtual directory must match the <a href="#projectUrl">project URL</a> specified in the Server installation above. </li> <li> Specify the folder where CruiseControl.NET will generate its log files. Typically this should be set to <code><i>installation-folder</i>\log</code>. The specified folder must exist, otherwise the installation will not complete. </li> <li> Verify that the installation succeeded by browsing to the installed web application. For example <a href="http://localhost/ccnet">http://localhost/ccnet</a>. </li> </ol> </body> </html> Index: index.html =================================================================== RCS file: /cvsroot/ccnet/ccnet/doc/index.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** index.html 16 May 2003 20:24:28 -0000 1.2 --- index.html 9 Jun 2003 02:21:47 -0000 1.3 *************** *** 7,21 **** <body> <a name="top"> </a> ! <div style="float: right;"><a name="top"><img ! src="images/ccnet_logo_onwhite.gif"></a></div> <h2 style="color: rgb(51, 51, 255);"><a name="top">Documentation Index</a></h2> <p><a name="top">Welcome to the CruiseControl.NET Documentation</a></p> <ul> <li><a href="ccnet.config.html">The ccnet.config file</a></li> <li><a href="nant.html">Setting up NAnt to work with CruiseControl.NET</a></li> <li><a href="usefultips.html">Useful Tips</a></li> <li><a href="buildprocess.html">CruiseControl.NET build process</a></li> ! <li><a href="developer-guidelines.html">CruiseControl.NET ! DeveloperGuidelines</a></li> </ul> </body> --- 7,26 ---- <body> <a name="top"> </a> ! <div style="float: right;"><a name="top"><img src="images/ccnet_logo_onwhite.gif"></a></div> ! <h2 style="color: rgb(51, 51, 255);"><a name="top">Documentation Index</a></h2> + <p><a name="top">Welcome to the CruiseControl.NET Documentation</a></p> + <p>This is currently a 'work in progress' - please bare with us until we get the documentation up to + a release 1.0 standard. If you have questions, please use the <b>ccnet-user</b> list as described + on the CruiseControl.NET website <a href="http://ccnet.thoughtworks.com/?page=projectDetails.html">here</a> + </p> <ul> + <li><a href="installation.html">CruiseControl.NET Installation</a></li> <li><a href="ccnet.config.html">The ccnet.config file</a></li> <li><a href="nant.html">Setting up NAnt to work with CruiseControl.NET</a></li> <li><a href="usefultips.html">Useful Tips</a></li> <li><a href="buildprocess.html">CruiseControl.NET build process</a></li> ! <li><a href="developer-guidelines.html">CruiseControl.NET Developer Guidelines</a></li> </ul> </body> Index: ccnet.config.html =================================================================== RCS file: /cvsroot/ccnet/ccnet/doc/ccnet.config.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ccnet.config.html 22 Apr 2003 17:34:51 -0000 1.1 --- ccnet.config.html 9 Jun 2003 02:21:47 -0000 1.2 *************** *** 1,156 **** <html> <head> <title>Configuring CruiseControl.NET</title> ! <link type="text/css" rel="stylesheet" href="cruisecontrol.css"/> </head> <body> ! <a name="top"/> ! <div style="float:right"><img src="images/ccnet_logo_onwhite.gif"/></div> ! <h2 style="color:#33F">The ccnet.config file</h2> ! <p/> ! <h3>Major sections of the ccnet.config file</h3> ! <ul> ! <li><a href="#project">project</a></li> ! <li><a href="#sourcecontrol">sourcecontrol</a></li> ! <li><a href="#build">build</a></li> ! <li><a href="#publishers">publishers</a></li> ! <li><a href="#modificationdelay">modificationDelay</a></li> ! <li><a href="#sleeptime">sleepTime</a></li> ! <li><a href="#history">history</a></li> ! </ul> ! ! <h3><a name="project">project</a></h3> ! The project tag contains all of the information about a certain project. It is a wrapper for every other element defined in this document. Project has one attribute. A name. ! <p/> ! <a href="#top">back to top</a> ! <h3><a name="sourcecontrol">sourcecontrol</a></h3> ! The source control element tells Cruise Control.NET what source control system to use and where to look for the repository. Currently Cruise Control.NET supports <a href="#CVS">CVS</a>, <a href="#p4">Perforce</a>, <a href="#pvcs">PVCS</a>, <a href="#starteam">StarTeam</a>, and <a href="#vss">Visual Source Safe</a>. You tell Cruise Control.NET which source code control provider to use by setting the mandatory type attribute of the source control element. ! <h4><a name="CVS">CVS</a></h4> ! For cvs you must define where the cvs executable is and the working directory for checked out code. You may optionally specify the cvsroot.<p/> ! <pre> ! <sourcecontrol type="cvs"> ! <executable>..\tools\cvs.exe</executable> ! <workingDirectory>c:\projects\ccnet</workingDirectory> ! <cvsroot>ccnet</cvsroot> ! </sourcecontrol> ! </pre> ! <p/> ! <a href="#top">back to top</a> ! <h4><a name="p4">Perforce</a></h4> ! <p>For Perforce you must specify at least the <i>view</i> of the region of your repository ! you want to check for changes. E.g., if your project is located at ! '//projects/MyProject', you would specify '//projects/MyProject/...' as the view to ! check for activity. </p> ! <p>You may optionally specify the location of the p4.exe <i>executable</i>. If you do not specify it then the default p4.exe will be used and it must be on your path.</p> ! <p>You may also specify any of the Perforce <i>client</i>, <i>user</i> and <i>port</i> (ie 'host:port' in Perforce standards) settings to use to use. If you don't specify them, ! then Cruise Control .NET will use the defaults in your registry (use 'p4 set' to view ! and edit these.) NB: If you use a user with a <b>non-empty</b> password, you must use the user ! specified in the registry, and its password must be set in the registry too. This is done ! whenever you use 'P4Win' and tell it to remember your password.</p> ! <pre> ! <sourcecontrol type="p4"> ! <executable>c:\perforce\p4.exe</executable> ! <view>//projects/ccnet/...</view> ! <client>ccnet-buildhost</client> ! <user>public</user> ! <port>perforce01.thoughtworks.net:1666</port> ! </sourcecontrol> ! </pre> ! <a href="#top">back to top</a> ! <h4><a name="pvcs">PVCS</a></h4> ! For pvcs you must specify the executable, project and subproject. You may also specify arguments and instructions.<p/> ! <pre> ! <sourcecontrol type="p4"> ! <executable>c:\pvcs\pvcs.exe</executable> ! <project>ccnet</project> ! <subproject>ccnet1.0</subproject> ! <arguments>buildguy</arguments> ! <instructions>42</instructions> ! </sourcecontrol> ! </pre ! <p/> ! <a href="#top">back to top</a> ! <h4><a name="starteam">StarTeam</a></h4> ! For StarTeam you must specify the executable, project, username and password. You may also specify the host, port and path. The host defaults to 127.0.0.1. The port to 49201. The path to the empty string.<p/> ! <pre> ! <sourcecontrol type="starteam"> ! <executable>c:\starteam\stcmd.exe</executable> ! <project>ccnet</project> ! <username>buildguy</username> ! <password>buildguyrocks</password> ! <host>thebuildmachine</host> ! <port>49201</portt> ! <path>release2.0</path> ! </sourcecontrol> ! </pre> ! <a href="#top">back to top</a> ! <h4><a name="vss">Visual Source Safe</a></h4> ! For Visual Source Safe you must specify the executable, project, username and password. You may also specify the SSDIR. If SSDIR is not set the default or the SSDIR environment variable will be used.<p/> ! <pre> ! <sourcecontrol type="vss"> ! <!-- you have to put quotes around this because of the spaces in the path --> ! <executable>"C:\Program Files\Microsoft Visual Studio\VSS\win32\SS.EXE"</executable> ! <project>$/CCNET</project> ! <username>buildguy</username> ! <password>buildguyrocks</password> ! <ssdir>c:\repos\</ssdir> ! </sourcecontrol> ! </pre> ! <a href="#top">back to top</a> ! <h3><a name="build">build</a></h3> ! The build element tells CruiseControl.NET how to actually do a build when changes are detected. The type attribute of the build element is required. Right now only NAnt is supported. You must set the executable, baseDirectory, and buildFile. The executable tells CruiseControl.NET how to find nant.exe. The baseDirectory element contains the directory from which nant is executed. Typically this is the directory containing the build file. The buildFile element contains the name of the nant file to run. You may also specify a targetList. If ommitted the default target in you nant file is used. You can specify arguments to pass to the nant.exe by including a buildArgs element. The buildTimeout element may be set to indicate the maximum amount of time in milliseconds CruiseControl.NET should wait for the build to finish. The default is 60000 or 1 minute. For most builds that isn't very long.<p/> ! <pre> ! <build type="nant"> ! <executable>..\tools\nant\NAnt.exe</executable> ! <baseDirectory>..</baseDirectory> ! <buildFile>cruise.build</buildFile> ! <targetList> ! <target>run</target> ! </targetList> ! <buildTimeout>300000</buildTimeout> ! <buildArgs>"-Dfoo=bar"</buildArgs> ! </build> ! </pre> ! <a href="#top">back to top</a> ! <h3><a name="publishers">publishers</a></h3> ! A publisher is anything that runs after the build has been run. CruiseControl.NET defines two publishers <a href="#email">email</a> and <a href="#xmllogger">xmllogger</a>. ! <p/> ! <a href="#top">back to top</a> ! <h4><a name="email">email</a></h4> ! The email publisher can be used to send email to any number of users. It is common to include one user who gets an email for every build and then also send email to every developer who checked code in for this build. The email element has an attribute for the from address for all email that is sent out. An attribute for the mail server. And an attribute to indicate if the details of the build result should be included in the email. Inside the email element you must include an element for the project url. A list of individual users must be placed inside the users element. Each user has to have a name attribute that corresponds to their user name in the source control repository. Users also must belong to a group and have their email address specified. Group definitions are contained in the groups element. Each group definition has a name and a notification type. There are two notification types. Setting the notification to always means that anyone in that group will get notified of every build whether they checked in or not. A notification type of change means that anyone in that group will only get notified if they checked in code that is in this build.<p/> ! <pre> ! <email from="bui...@so..." mailhost="yourmailhost.com" includeDetails="true"> ! <projectUrl>http://buildmachine/myproject</projectUrl> ! <users> ! <user name="buildmaster" group="buildmaster" address="bui...@yo..."/> ! <user name="Frank" group="developers" address="[DEV...@YO...]"/> ! </users> ! <groups> ! <group name="developers" notification="change"/> ! <group name="buildmaster" notification="always"/> ! </groups> ! </email> ! </pre> ! <p/> ! <a href="#top">back to top</a> ! <h4><a name="xmllogger">xmllogger</a></h4> ! The xmllogger publisher is used to create the log files read by the CruiseControl.NET web page. So without the xmllogger the web page will not function. All that is needed is a directory to store log files in. This directory must exist before Cruise Control.NET is run.<p/> ! <xmllogger><br/> ! <logDir>C:\myproject\cclogs</logDir><br/> ! </xmllogger><br/> ! <p/> ! <h3><a name="modificationdelay">modificationDelay</a></h3> ! The minimum number of milliseconds between the last check in and the start of the build. If any modifications are found within this interval the system will sleep long enough so the last checkin is just outside this interval. For example if the modification delay is set to 10000 (10 seconds) and the last checkin was 7 seconds ago the system will sleep for 3 seconds and check again. This process will repeat until no modifications have been found within the modification delay window.<p/> ! <modificationDelay>20000</modificationDelay><br/> ! <p/> ! <a href="#top">back to top</a> ! <h3><a name="sleeptime">sleepTime</a></h3> ! The number of milliseconds between the end of the last build and the start of the next build.</p> ! <sleepTime>20000</sleepTime><br/> ! <p/> ! <h3><a name="history">history</a></h3> ! Cruise Control.NET keeps a build history that is independent from the build logs saved by the xmllogger. It is important to store the history files in a different directory than the build logs. Currently only storage of history using xml is supported. The type of the history element must be set to "xmlhistory". The "historyDir" attribute is also required.</p> ! <history type="xmlhistory" historyDir="c:\myproject\cchistory"/><br/> ! <a href="#top">back to top</a> </body> </html> --- 1,305 ---- + <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Configuring CruiseControl.NET</title> ! <link type="text/css" rel="stylesheet" href="cruisecontrol.css"> </head> <body> ! <a name="top"> </a> ! <div style="float: right;"><a name="top"><img ! src="images/ccnet_logo_onwhite.gif"></a></div> ! <a name="top"> </a> ! <h2 style="color: rgb(51, 51, 255);"><a name="top">Configuring the ! Builder : the ccnet.config file</a></h2> ! <a name="top"> </a> ! <p> <a name="top"> </a>Outside of writing your build scripts to support ! Continuous Integration, your main configuration task in getting an ! instance of CruiseControl.NET running for your project is editting the ! Builder Application's configuration. This is defined in the XML ! file 'ccnet.config' file in the same directory as the ccnet.exe ! application. (Actually it can called something else for advanced ! deployments, but we'll ignore that for now.)<br> ! </p> ! <p>This page goes over each section of the file and describes what you ! need to do. As a guide to our discussion, we'll use the following ! example config file, but note that this uses specific options (for ! Source Control systems, etc.) so it is just a guide:<br> ! </p> ! <pre><cruisecontrol><br> <project name="MyProject"><br> <schedule type="schedule" timeout="60000"/><br> <modificationDelay>10000</modificationDelay><br> <sourcecontrol type="cvs"><br> <executable>c:\putty\cvswithplinkrsh.bat</executable><br> <workingDirectory>c:\fromcvs\myrepo</workingDirectory><br> <cvsroot>:ext:mycvsserver:/cvsroot/myrepo</cvsroot><br> </sourcecontrol><br> <build type="nant"><br> <executable>c:\fromcvs\myrepo\myproject\tools\nant\nant.exe</executable><br> <baseDirectory>c:\fromcvs\myrepo\myproject</baseDirectory><br> <buildArgs>-D:cvs.executable=c:\putty\cvswithplinkrsh.bat</buildArgs><br> <buildFile>cruise.build</buildFile><br> <targetList><br> <target>run</target><br> </targetList><br> <buildTimeout>300000</buildTimeout><br> </build><br> <publishers><br> <email from="bui...@my..." mailhost="smtp.mycompany.com" includeDetails="TRUE"><br> <projectUrl>http://buildserver/myproject</projectUrl><br> <users><br> <user name="BuildGuru" group="buildmaster" address="bui...@my..."/><br> <user name="JoeDeveloper" group="developers" address="joe...@th..."/><br> </users><br> <groups><br> <group name="developers" notification="change"/><br> <group name="buildmaster" notification="always"/><br> </groups><br> </email><br> <xmllogger><br> <logDir>..\..\website\log</logDir><br> <mergeFiles><br> <file>c:\fromcvs\myrepo\myproject\build\tests\*-results.xml</file><br> </mergeFiles><br> </xmllogger><br> </publishers><br> </project><br></cruisecontrol><br><br></pre> ! <h3><a name="top">Sections of the ccnet.config file</a></h3> ! <a name="top"> </a> ! <ul> ! <li><a href="#project">project</a></li> ! <ul> ! <li><a href="#schedule">schedule</a></li> ! <li><a href="#modificationdelay">modificationDelay</a></li> ! <li><a href="#state">state</a></li> ! <li><a href="#sourcecontrol">sourcecontrol</a></li> ! <ul> ! <li><a href="#cvs">cvs</a></li> ! <li><a href="#perforce">perforce</a></li> ! <li><a href="#starteam">StarTeam</a></li> ! <li><a href="#vss">Visual SourceSafe</a></li> ! <li><a href="#pvcs">PVCS</a></li> ! </ul> ! <li><a href="#build">build</a></li> ! <li><a href="#publishers">publishers</a></li> ! <ul> ! <li><a href="#xmllogger">XML Logger</a></li> ! <li><a href="#email">Emailer</a></li> ! </ul> ! </ul> ! ! </ul> ! ! <h3><a name="project">project <span style="font-style: italic;">(required)</span><br> ! </a></h3> ! The project tag contains all of the information about a certain ! project (In later versions of CruiseControl.NET we plan to enable ! multi-project support). It is a wrapper for every other configuration ! section for a project. You need to specify the 'name' attribute, and ! this will appear in emails, log files, etc.<br> ! <p><a href="#top">back to top</a> </p> ! <h3><a name="schedule">schedule<span style="font-style: italic;">(optional)</span><br> ! </a></h3> ! The <schedule> section allows you to specify when ! CruiseControl.NET will start a new integration cycle.<br> ! <br> ! The typical scenario is to specify a 'timeout' value, which means that ! CruiseControl.NET will wait for that time between the end of one ! integration cycle and the start of the next one. For example, specifying ! a timeout value of 300000 would mean that there would be a 5 minute gap ! between cycles (and consequently at times when people are not checking ! anything into SourceControl, approximately 5 minutes between polls of ! your SourceControl server.)<br> ! <br> ! This section is optional, and if you don't specify it, ! CruiseControl.NET will use a default timeout of 1 minute.<br> ! <br> ! TODO: description of other <schedule> options<br> ! <p><a href="#top">back to top</a> </p> ! <h3><a name="modificationdelay">modificationDelay <span ! style="font-style: italic;">(optional)</span><br> ! </a></h3> ! The minimum number of milliseconds allowed between the last check in ! and the start of a valid build. <br> ! <br> ! If any modifications are found within this interval the system will ! sleep long enough so the last checkin is just outside this interval. For ! example if the modification delay is set to 10000 (10 seconds) and the ! last checkin was 7 seconds ago the system will sleep for 3 seconds and ! check again. This process will repeat until no modifications have been ! found within the modification delay window.<br> ! <br> ! This feature is in CruiseControl.NET for Source Control systems, like ! CVS, that do not support atomic checkins since starting a build half way ! through someone checking in their work could result in invalid 'logical' ! passes or failures. The property is optional though so if you are using ! a source control system with atomic checkins, leave it out (and it will ! default to '0')<br> ! <p> <a ! href="file:///C:/tools/eclipse/workspace/ccnet/doc/ccnet.config.html#top">back ! to top</a> </p> ! <h3><a name="state">state <span style="font-style: italic;">(optional)</span><br> ! </a></h3> ! By default, CruiseControl.NET stores state (last build time, ! etc.) in the file 'ccnet.state' in the CruiseControl Builder's ! 'bin' folder. If you want it to use a different file, you can add a ! <state> section, e.g. as follows:<br> ! <br> ! <state directory="c:\somewhere-else" filename="myproject.state" /><br> ! <br> ! Each of these attributes are themselves optional, so in the example ! above if you hadn't specified a directory then the default of ! CruiseControl's 'bin' folder would have been used.<br> ! <br> ! <p><a ! href="file:///C:/tools/eclipse/workspace/ccnet/doc/ccnet.config.html#top">back ! to top</a><br> ! <br> ! </p> ! <h3><a name="sourcecontrol">sourcecontrol <span ! style="font-style: italic;">(mandatory)</span><br> ! </a></h3> ! The source control element tells Cruise Control.NET what source ! control system to use, and how to query the repository, when checking ! for any new changes. Currently Cruise Control.NET supports <a ! href="#CVS">CVS</a>, <a href="#p4">Perforce</a>, <a href="#pvcs">PVCS</a>,<a ! href="#starteam">StarTeam</a>, and <a href="#vss">Visual Source Safe</a>. ! You tell Cruise Control.NET which source code control provider to use ! by setting the mandatory type attribute of the source control element.<br> ! <br> ! Lets look at these options in more detail:<br> ! ! <h4><a name="cvs">CVS</a></h4> ! For cvs you must define where the cvs executable (if you give a ! relative path, it must be relative to the ccnet.exe application) is and ! the working directory for checked out code. You may optionally specify ! the cvsroot.<br> ! <br> ! <span style="font-style: italic;">example using pserver authentication</span><br> ! <p> </p> ! <pre><sourcecontrol type="cvs"><br> <executable>..\tools\cvs.exe</executable><br> <workingDirectory>c:\projects\ccnet</workingDirectory><br> <cvsroot>:pserver:ano...@cv...:/cvsroot/ccnet</cvsroot><br></sourcecontrol><br></pre> ! <span style="font-style: italic;">example using ssh via putty (see the <a ! href="usefultips.html">Useful Tips</a> page)</span><br> ! <pre><sourcecontrol type="cvs"><br> <executable>c:\putty\cvswithplinkrsh.bat</executable><br> <workingDirectory>c:\fromcvs\myrepo</workingDirectory><br> <cvsroot>:ext:mycvsserver:/cvsroot/myrepo</cvsroot><br></sourcecontrol><br> </pre> ! <p> <a href="#top">back to top</a> </p> ! <h4><a name="perforce">Perforce</a></h4> ! <p>For Perforce you must specify at least the <i>view</i> of the region ! of your repository you want to check for changes. E.g., if your ! project is located at '//projects/MyProject', you would specify ! '//projects/MyProject/...' as the view to check for activity. </p> ! <p>You may optionally specify the location of the p4.exe <i>executable</i>. ! If you do not specify it then the default p4.exe will be used and it ! must be on your path.</p> ! <p>You may also specify any of the Perforce <i>client</i>, <i>user</i> ! and <i>port</i> (ie 'host:port' in Perforce standards) settings to use ! to use. If you don't specify them, then Cruise Control .NET will use ! the defaults in your registry (use 'p4 set' to view and edit these.) ! NB: If you use a user with a <b>non-empty</b> password, you must use the ! user specified in the registry, and its password must be set in the ! registry too. This is done whenever you use 'P4Win' and tell it to ! remember your password.</p> ! ! <pre><sourcecontrol type="p4"><br> <executable>c:\perforce\p4.exe</executable><br> <view>//projects/ccnet/...</view><br> <client>ccnet-buildhost</client><br> <user>public</user><br> <port>perforce01.thoughtworks.net:1666</port><br></sourcecontrol><br> </pre> ! <a href="#top">back to top</a> ! <h4><a name="pvcs">PVCS</a></h4> ! For pvcs you must specify the executable, project and subproject. You ! may also specify arguments and instructions. ! <p> </p> ! <pre><sourcecontrol type="pvcs"><br> <executable>c:\pvcs\pvcs.exe</executable><br> <project>ccnet</project><br> <subproject>ccnet1.0</subproject><br> <arguments>buildguy</arguments><br> <instructions>42</instructions><br></sourcecontrol><br> </pre> ! <p> <a href="#top">back to top</a> </p> ! <h4><a name="starteam">StarTeam</a></h4> ! For StarTeam you must specify the executable, project, username and ! password. You may also specify the host, port and path. The host ! defaults to 127.0.0.1. The port to 49201. The path to the empty string. ! <p> </p> ! <pre><sourcecontrol type="starteam"><br> <executable>c:\starteam\stcmd.exe</executable><br> <project>ccnet</project><br> <username>buildguy</username><br> <password>buildguypw</password><br> <host>thebuildmachine</host><br> <port>49201</portt><br> <path>release2.0</path><br></sourcecontrol><br> </pre> ! <a href="#top">back to top</a> ! <h4><a name="vss">Visual Source Safe</a></h4> ! For Visual Source Safe you must specify the executable, project, ! username and password. You may also specify the SSDIR. If SSDIR is not ! set the default or the SSDIR environment variable will be used. ! <p> </p> ! <pre><sourcecontrol type="vss"><br> <!-- you have to put quotes around this because of the spaces in the path --><br> <executable>"C:\Program Files\Microsoft Visual Studio\VSS\win32\SS.EXE"</executable><br> <project>$/CCNET</project><br> <username>buildguy</username><br> <password>buildguypw</password><br> <ssdir>c:\repos\</ssdir><br></sourcecontrol><br> </pre> ! <a href="#top">back to top</a><br> ! <br> ! ! <h3><a name="build">build <span style="font-style: italic;">(mandatory)</span><br> ! </a></h3> ! If CruiseControl.NET detects new changes in yor Source Control ! repository, it starts a build as defined in the <build> section. ! We've copied the build section from the example above, and will go ! through each part in detail.<br> ! <pre><build type="nant"><br> <executable>c:\fromcvs\myrepo\myproject\tools\nant\nant.exe</executable><br> <baseDirectory>c:\fromcvs\myrepo\myproject</baseDirectory><br> <buildArgs>-D:cvs.executable=c:\putty\cvswithplinkrsh.bat</buildArgs><br> <buildFile>cruise.build</buildFile><br> <targetList><br> <target>run</target><br> </targetList><br> <buildTimeout>300000</buildTimeout><br></build><br></pre> ! <ul> ! <li>type <span style="font-style: italic;">(mandatory) </span>- For ! now we just support Nant, so you must set this as "nant"</li> ! <li>executable <span style="font-style: italic;">(mandatory)</span> - ! The location of the nant.exe you want to use (it can be absolute, or ! relative to folder ccnet.exe is in.) Often this is set to a version of ! Nant that is checked into Source Control with your project.<br> ! </li> ! <li>baseDirectory <span style="font-style: italic;">(mandatory)</span> ! - The directory you want Nant to be started in (normally the root ! directory of your project if that's where you store your Nant build ! files)</li> ! <li>buildFile <span style="font-style: italic;">(mandatory)</span> - ! The name of the build file to run, relative to the baseDirectory. This ! would normally be your 'bootstrap' file, as discussed (TODO)</li> ! <li>buildArgs <span style="font-style: italic;">(optional)</span> - ! You can use the 'buildArgs' tag to pass through any parameters to Nant. ! This is useful if you want to define some Nant properties, e.g. in the ! example we pass through the location of a CVS executable as a Nant ! property called 'cvs.executable'</li> ! <li>targetList <span style="font-style: italic;">(optional) - </span>A ! set of targets to be called. If you don't specifiy at least one, Nant ! will use the project's default target. CruiseControl.NET does not call ! Nant once for each target, it just specifies all the targets when it ! calls Nant the one time for the build, so semantically specifying more ! than one target is the same as manually running Nant yourself with more ! than one target.</li> ! <li>buildTimeout <span style="font-style: italic;">(optional) </span>- ! This element may be set to indicate the maximum amount of time in ! milliseconds CruiseControl.NET should wait for the build to finish. The ! default is 60000 or 1 minute. For most builds that isn't very long sp ! you should consider increasing it (in the example, we set it to be 5 ! minutes)<br> ! </li> ! </ul> ! <p> </p> ! <a href="#top">back to top</a><br> ! <br> ! ! <h3><a name="publishers">publishers</a></h3> ! A publisher is anything that runs after the build has been run. ! CruiseControl.NET currently defines two publishers <a href="#email">email</a> ! and <a href="#xmllogger">xmllogger</a>. ! <p> <a href="#top">back to top</a> </p> ! <h4><a name="email">email</a></h4> ! The email publisher can be used to send email to any number of users. ! It is common to include one user who gets an email for every build and ! then also send email to every developer who checked code in for this ! build. <br> ! <pre><email from="bui...@my..." mailhost="smtp.mycompany.com" includeDetails="TRUE"><br> <projectUrl>http://buildserver/myproject</projectUrl><br> <users><br> <user name="BuildGuru" group="buildmaster" address="bui...@my..."/><br> <user name="JoeDeveloper" group="developers" address="joe...@th..."/><br> </users><br> <groups><br> <group name="developers" notification="change"/><br> <group name="buildmaster" notification="always"/><br> </groups><br></email><br></pre> ! <ul> ! <li>from <span style="font-style: italic;">(mandatory) </span>- the ! email address that email will be marked as coming from</li> ! <li>mailhost <span style="font-style: italic;">(mandatory)</span> - ! the SMTP server that CruiseControl.NET will connect to to send email</li> ! <li>includeDetails <span style="font-style: italic;">(optional) -</span> ! set to "true" if you want to include details of the build in the body in ! HTML form. Leave out, or set to "false", if you just want a plain-text ! notification email sent.</li> ! <li>projectURL <span style="font-style: italic;">(mandatory) </span>- ! The URL where the CruiseControl.NET web application can be found</li> ! <li>users <span style="font-style: italic;">(mandatory)</span> - A ! set of <user> elements that define who to send email to, defined ! as follows:</li> ! <ul> ! <li>name <span style="font-style: italic;">(mandatory</span>) - ! The user name of a user. For 'real' users, this should match the user ! name in Source Control.</li> ! <li>group <span style="font-style: italic;">(mandatory)</span> - ! The group that the user is in (see more about this in just a second</li> ! <li>address <span style="font-style: italic;">(mandatory) </span>- ! The (internet form) email address of the user</li> ! </ul> ! <li>groups <span style="font-style: italic;">(mandatory) - </span>A ! set of groups that we put users in to, defined as follows:</li> ! <ul> ! <li>name <span style="font-style: italic;">(mandatory)</span> - The ! name of the group, which corresponds to the 'group' values used in the ! <user> tags</li> ! <li>notification - When we send email to this group, one of:</li> ! <ul> ! <li>"always" - send email when any build occurs</li> ! <li>"change" - send email when the status of the build changes ! (e.g. from 'passed' to 'failed')<br> ! </li> ! </ul> ! </ul> ! </ul> ! ! <p> <a href="#top">back to top</a> </p> ! <h4><a name="xmllogger">xmllogger</a></h4> ! The xmllogger publisher is used to create the log files read by the ! CruiseControl.NET web page, so if you don't define an xmllogger the web ! page will not function. <br> ! <pre><xmllogger><br> <logDir>..\..\website\log</logDir><br> <mergeFiles><br> <file>c:\fromcvs\myrepo\myproject\build\tests\*-results.xml</file><br> </mergeFiles><br></xmllogger><br></pre> ! <ul> ! <li>logDir <span style="font-style: italic;">(mandatory)</span> - The ! directory to save the log files to. If relative, then relates to the ! ccnet.exe directory. Our example points to a log directory in the ! CruiseControl.NET webapp folder, which is the default setting for the ! webapp's configuration.<br> ! </li> ! <li>mergeFiles <span style="font-style: italic;">(optional)</span> - ! A list of <file> tags that point to files that you want to be ! included in the log. Looking at our example, we include all the NUnit ! files produced in the tests folder.<br> ! </li> ! </ul> ! <p> </p> </body> </html> --- readme.html DELETED --- --- license.html DELETED --- |
|
From: <mik...@us...> - 2003-06-04 04:05:40
|
Update of /cvsroot/ccnet/ccnet/project/core/builder
In directory sc8-pr-cvs1:/tmp/cvs-serv23782/project/core/builder
Modified Files:
NAntBuilder.cs
Log Message:
Passing through the current integrations label to the Nant script as
a property called 'label-to-apply'
Index: NAntBuilder.cs
===================================================================
RCS file: /cvsroot/ccnet/ccnet/project/core/builder/NAntBuilder.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** NAntBuilder.cs 23 Apr 2003 08:31:37 -0000 1.1
--- NAntBuilder.cs 4 Jun 2003 04:05:36 -0000 1.2
***************
*** 71,77 ****
--- 71,83 ----
set { _buildTimeout = value; }
}
+
+ public string LabelToApply = "NO-LABEL";
public void Build(IntegrationResult result)
{
+ if (result.Label != null && result.Label != "")
+ {
+ LabelToApply = result.Label;
+ }
try
{
***************
*** 92,97 ****
internal string CreateArgs()
{
! return String.Format("-buildfile:{0} {1} {2}",
! BuildFile, BuildArgs, String.Join(" ", Targets));
}
--- 98,103 ----
internal string CreateArgs()
{
! return String.Format("-buildfile:{0} {1} -D:label-to-apply={2} {3}",
! BuildFile, BuildArgs, LabelToApply, String.Join(" ", Targets));
}
|
|
From: <mik...@us...> - 2003-06-04 04:05:40
|
Update of /cvsroot/ccnet/ccnet/project/core/builder/test
In directory sc8-pr-cvs1:/tmp/cvs-serv23782/project/core/builder/test
Modified Files:
NAntBuilderTest.cs
Log Message:
Passing through the current integrations label to the Nant script as
a property called 'label-to-apply'
Index: NAntBuilderTest.cs
===================================================================
RCS file: /cvsroot/ccnet/ccnet/project/core/builder/test/NAntBuilderTest.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** NAntBuilderTest.cs 17 May 2003 13:49:43 -0000 1.4
--- NAntBuilderTest.cs 4 Jun 2003 04:05:37 -0000 1.5
***************
*** 129,141 ****
_builder.BuildFile = "foo.xml";
_builder.BuildArgs = "-bar";
_builder.Targets = new string[] {"a", "b"};
! Assertion.AssertEquals("-buildfile:foo.xml -bar a b", _builder.CreateArgs());
}
public void TestCreateBuildArgs_MissingArguments()
{
! Assertion.AssertEquals("-buildfile: -logger:SourceForge.NAnt.XmlLogger ", _builder.CreateArgs());
}
private string CreateTestBuildFile()
{
--- 129,157 ----
_builder.BuildFile = "foo.xml";
_builder.BuildArgs = "-bar";
+ _builder.LabelToApply = "1234";
_builder.Targets = new string[] {"a", "b"};
! Assertion.AssertEquals("-buildfile:foo.xml -bar -D:label-to-apply=1234 a b", _builder.CreateArgs());
}
public void TestCreateBuildArgs_MissingArguments()
{
! Assertion.AssertEquals("-buildfile: -logger:SourceForge.NAnt.XmlLogger -D:label-to-apply=NO-LABEL ", _builder.CreateArgs());
}
+ public void TestLabelGetsPassedThrough()
+ {
+ CreateTestBuildFile();
+ _builder.Executable = NANT_TEST_EXECUTABLE;
+ _builder.BuildFile = "test.build";
+ _builder.BaseDirectory = TempFileUtil.GetTempPath(TEMP_DIR);
+ _builder.Targets = new string[] {"checkLabel" };
+ IntegrationResult result = new IntegrationResult();
+ result.Label = "ATestLabel";
+ _builder.Build(result);
+
+ Assertion.Assert("test build should succeed", result.Succeeded);
+ Assertion.Assert(StringUtil.StringContains(result.Output.ToString(), "ATestLabel"));
+ }
+
private string CreateTestBuildFile()
{
***************
*** 154,157 ****
--- 170,177 ----
<echo message=""I am failure itself""/>
<fail message=""Intentional failure for test purposes, that is to say, purposes of testing, if you will""/>
+ </target>
+
+ <target name=""checkLabel"">
+ <echo message=""${label-to-apply}"" />
</target>
|
|
From: <mik...@us...> - 2003-06-01 19:12:46
|
Update of /cvsroot/ccnet/ccnet/project/web In directory sc8-pr-cvs1:/tmp/cvs-serv13871/project/web Removed Files: Template.ascx Template.ascx.cs Template.ascx.resx Log Message: Updating WebApp to use SiteMesh. At the moment, this is a fairly simple refactoring, the biggest change being replacing Template.ascx with a SiteMesh Decorator --- Template.ascx DELETED --- --- Template.ascx.cs DELETED --- --- Template.ascx.resx DELETED --- |
|
From: <mik...@us...> - 2003-06-01 19:11:16
|
Update of /cvsroot/ccnet/ccnet
In directory sc8-pr-cvs1:/tmp/cvs-serv13351
Modified Files:
ccnet.build
Log Message:
Updating WebApp to use SiteMesh.
At the moment, this is a fairly simple refactoring, the biggest change
being replacing Template.ascx with a SiteMesh Decorator
Index: ccnet.build
===================================================================
RCS file: /cvsroot/ccnet/ccnet/ccnet.build,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** ccnet.build 29 May 2003 19:11:56 -0000 1.6
--- ccnet.build 1 Jun 2003 19:11:13 -0000 1.7
***************
*** 137,140 ****
--- 137,142 ----
<includes name="${build.dir}\ccnet.remote.dll"/>
<includes name="${lib.dir}\nunit.framework.dll"/>
+ <includes name="${lib.dir}\SiteMesh.dll"/>
+ <includes name="${lib.dir}\DecoratorControls.dll"/>
</references>
<!-- don't warn about uncommented public methods -->
***************
*** 253,256 ****
--- 255,265 ----
<includes name="${core.dll}"/>
<includes name="${web.dll}"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${webapp.dir}\bin" overwrite="true">
+ <fileset basedir="lib">
+ <includes name="SiteMesh.dll"/>
+ <includes name="DecoratorControls.dll"/>
</fileset>
</copy>
|