Hi Thomas,

There is currently a bug in the dynamic parameters where it does not handle 
parameters that can have multiple values correctly :-(

I'll look into it this week and see if I can resolve it.


Craig




________________________________
From: ThomasH <[email protected]>
To: ccnet-user <[email protected]>
Sent: Fri, 11 December, 2009 9:09:13 PM
Subject: [ccnet-user] Problem with dynamic parameters

I'm having problem with dynamic parameter. When building the project,
ccnet is not able to send the parameters to the finalbuilder script.

I have the following config file for my test project

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:cb="urn:ccnet.config.builder" name="Test Project"
queue="Continuous Integration" queuePriority="10">
    <cb:scope projectpath="e:\products\TestProject" svnurl="https://vd-
svn01/development/tools/TestProject">
        <webURL>http://serverhost1/ccnet</webURL>
        <workingDirectory>$(projectpath)</workingDirectory>
        <labeller type="defaultlabeller">
            <prefix>Foo-1-</prefix>
            <incrementOnFailure>true</incrementOnFailure>
            <labelFormat>00000</labelFormat>
        </labeller>

        <cb:include href="default_state.xml" />
        <sourcecontrol type="multi">
            <sourceControls>
                <filtered>
                    <sourceControlProvider type="svn">
                        <trunkUrl>$(svnurl)</trunkUrl>
                        <workingDirectory>$(projectpath)</workingDirectory>
                        <autoGetSource>true</autoGetSource>
                        <timeout units="minutes">120</timeout>
                        <checkExternals>true</checkExternals>
                        <checkExternalsRecursive>true</checkExternalsRecursive>
                    <username>bob-tromso</username>
                    <password>dips1234</password>
                    </sourceControlProvider>
                    <exclusionFilters>
                        <pathFilter>
                            <pattern>**\*</pattern>
                        </pathFilter>
                        <pathFilter>
                            <pattern>**/*</pattern>
                        </pathFilter>
                    </exclusionFilters>
                </filtered>
            </sourceControls>
        </sourcecontrol>
        <cb:include href="default_trigger.xml" />
        <tasks>
            <FinalBuilder>
                <ProjectFile>$(projectpath)\Project.fbp6</ProjectFile>
                <Timeout>7200</Timeout>
                <FBVariables>
                    <FBVariable name="BUILD_TARGET" value="$[buildType]" />
                    <FBVariable name="SIGNING_KEY_PASSWORD" 
value="$[certPasswd]" />
                </FBVariables>
            </FinalBuilder>
        </tasks>
        <publishers>

            <xmllogger/>
            <!-- send mail to developers when build fails -->
        </publishers>
        <parameters>
            <selectParameter name="buildType">
              <display>Release eller test bygg</display>
              <allowedValues>
                <value name="Test">TEST</value>
                <value name="Release" >RELEASE</value>
              </allowedValues>
            </selectParameter>
            <textParameter name="certPasswd">
              <display>Sertifikatpassord for release bygg</display>
              <required>false</required>
            </textParameter>
        </parameters>
    </cb:scope>
</project>

The finalbuilder script that ccnet runs just outpus the two variables
to console, so the output from running the project is:

<cruisecontrol project="Test Project">
  <request source="HOSTINGVM" buildCondition="ForceBuild">Build
(ForceBuild) triggered from HOSTINGVM</request>
  <parameters>
    <parameter name="buildType" value="Release" />
    <parameter name="certPasswd" value="tewsxdfsdf" />
    <parameter name="$CCNetArtifactDirectory" value="M:
\CruiseControl.Net\ccnet-bin\server\Test Project\Artifacts" />
    <parameter name="$CCNetBuildCondition" value="ForceBuild" />
    <parameter name="$CCNetBuildDate" value="2009-12-11" />
    <parameter name="$CCNetBuildTime" value="08:53:52" />
    <parameter name="$CCNetFailureUsers"
value="System.Collections.ArrayList" />
    <parameter name="$CCNetIntegrationStatus" value="Unknown" />
    <parameter name="$CCNetLabel" value="Foo-1-00006" />
    <parameter name="$CCNetLastIntegrationStatus" value="Success" />
    <parameter name="$CCNetListenerFile" value="M:\CruiseControl.Net
\ccnet-bin\server\Test Project\Artifacts\Test Project_ListenFile.xml" /
>
    <parameter name="$CCNetModifyingUsers"
value="System.Collections.ArrayList" />
    <parameter name="$CCNetNumericLabel" value="6" />
    <parameter name="$CCNetProject" value="Test Project" />
    <parameter name="$CCNetProjectUrl" value="http://serverhost1/
ccnet" />
    <parameter name="$CCNetRequestSource" value="HOSTINGVM" />
    <parameter name="$CCNetUser" value="" />
    <parameter name="$CCNetWorkingDirectory" value="e:\products
\TestProject" />
  </parameters>
  <modifications />
  <integrationProperties>
    <CCNetArtifactDirectory>M:\CruiseControl.Net\ccnet-bin\server\Test
Project\Artifacts</CCNetArtifactDirectory>
    <CCNetBuildCondition>ForceBuild</CCNetBuildCondition>
    <CCNetBuildDate>2009-12-11</CCNetBuildDate>
    <CCNetBuildTime>08:53:52</CCNetBuildTime>
    <CCNetFailureUsers />
    <CCNetIntegrationStatus>Success</CCNetIntegrationStatus>
    <CCNetLabel>Foo-1-00007</CCNetLabel>
    <CCNetLastIntegrationStatus>Success</CCNetLastIntegrationStatus>
    <CCNetListenerFile>M:\CruiseControl.Net\ccnet-bin\server\Test
Project\Artifacts\Test Project_ListenFile.xml</CCNetListenerFile>
    <CCNetModifyingUsers />
    <CCNetNumericLabel>7</CCNetNumericLabel>
    <CCNetProject>Test Project</CCNetProject>
    <CCNetProjectUrl>http://serverhost1/ccnet</CCNetProjectUrl>
    <CCNetRequestSource>HOSTINGVM</CCNetRequestSource>
    <CCNetWorkingDirectory>e:\products\TestProject</
CCNetWorkingDirectory>
    <CCNetUser />
    <LastIntegrationStatus>Success</LastIntegrationStatus>
    <LastSuccessfulIntegrationLabel>Foo-1-00007</
LastSuccessfulIntegrationLabel>
    <LastModificationDate>10.12.2009 08:54:06</LastModificationDate>
  </integrationProperties>
  <build date="2009-12-11 08:53:52" buildtime="00:00:13"
buildcondition="ForceBuild">Variable [BUILD_TARGET] set to []
Variable [SIGNING_KEY_PASSWORD] set to []

Project File: e:\products\TestProject\Project.fbp6

Build Started: 11.12.2009 08:54:05


  [Start ActionList: Main]

    [Log Variable Values [Variables:
BUILD_TARGET,SIGNING_KEY_PASSWORD]]
      Current variable values :
      BUILD_TARGET =
      SIGNING_KEY_PASSWORD =
      Success

Build Completed OK
Elapsed time: 0hrs 0min 0sec 63msec

</build>
</cruisecontrol>

I'm using the latest and "greatest" ccnet (1.5.6472.1)

Reply via email to