Note that there are some explanatory texts on larger screens.

plurals
  1. POCruise Control: Correctly (or don't) Pass Integration Properties with Double Quotes
    primarykey
    data
    text
    <h1>Information</h1> <p>I'm running a GIT project and using the latest version of Cruise Control (1.8) running an MSBuild task.</p> <h1>Error</h1> <p>The error message is similar to other questions asked about but the cause is different.</p> <pre><code>MSBUILD : error MSB1008: Only one project can be specified </code></pre> <h1>Cause</h1> <p>The problem occurs because one of the authors in the history has a double quote in their name. e.g., Givename "Quoted Nickname" Surname.</p> <h2>History</h2> <p>The reason that this has happened is the change to the GIT provider for CC.Net</p> <p>Originally the provider would initially get the repository and build it without providing all the author information for the entire history. The new provider now provides the history for the entire project on its first build.</p> <h2>Diagnostics</h2> <p>So this is the full output from the log when it's trying to run the build task. (i've split the single line into multiple to make it easier to read) The 2nd line of the arguments (5th line) is the problem line.</p> <pre><code>Starting process [C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe] in working directory [c:\Builds\Build\project_master] with arguments [ /nologo /t:Build /p:CCNetArtifactDirectory=c:\Builds\Artifacts\project_master;CCNetBuildCondition=ForceBuild;CCNetBuildDate=2012-09-10;CCNetBuildId=e954ce9462d14bbc99110a0b43f9e4e2;CCNetBuildTime=12:54:23;CCNetFailureTasks=;CCNetFailureUsers="Matthew Vukomanovic,Givename "Quoted Nickname" Surname";CCNetIntegrationStatus=Unknown;CCNetLabel=1;CCNetLastIntegrationStatus=Failure;CCNetListenerFile=c:\Builds\Artifacts\project_master\project_master_ListenFile.xml;CCNetModifyingUsers=;CCNetNumericLabel=1;CCNetProject=project_master;CCNetProjectUrl=http://buildserver.domain/ccnet/server/local/project/project_master/ViewLatestBuildReport.aspx;CCNetRequestSource=buildserver;CCNetUser=;CCNetWorkingDirectory=c:\Builds\Build\project_master /v:quiet /p:Configuration=Release /p:debug=pdbonly project.sln /l:"C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll";c:\Builds\Artifacts\project_master\msbuild-results-5d764e9e-a8cb-4591-a531-71809edbe2a0.xml ] </code></pre> <h1>Current Work Around</h1> <p>The current work around that i've done is to create the project let it run and fail. Then stop cruise control, manually modify the state file for the project to <strong>NOT</strong> include the problem author name. So i modify the XML from this</p> <pre><code>&lt;FailureUsers&gt; &lt;anyType xsi:type="xsd:string"&gt;Matthew Vukomanovic&lt;/anyType&gt; &lt;anyType xsi:type="xsd:string"&gt;Givename "Quoted Nickname" Surname&lt;/anyType&gt; &lt;/FailureUsers&gt; </code></pre> <p>to this</p> <pre><code>&lt;FailureUsers&gt; &lt;anyType xsi:type="xsd:string"&gt;Matthew Vukomanovic&lt;/anyType&gt; &lt;anyType xsi:type="xsd:string"&gt;Givename Surname&lt;/anyType&gt; &lt;/FailureUsers&gt; </code></pre> <p>We could change the author for the repository, however: * the commit was a very long time ago, so the number of active branches and tags which would have to be modified also is a large task; and * On a public project you could get someone commiting who uses a double quote in their name for some reason.</p> <h1>A fix</h1> <p>Ideally the integration properties should be quoted correctly, and i'm going to raise an issue in the Cruise Control project, however that will probably take a while.</p> <h1>Permenant work around</h1> <p>What I'd like to do in the mean time is stop the msbuild task being sent the CCNetFailedUsers and CCNetModifyingUsers, or failing that the entire Integration Properties. Does anyone know how to do that? (I have not been able to find how to do so anywhere). Or does anyone have any suggestions that I have not covered above?</p> <p><em>EDIT i found someone who was having the same problem, however there doesn't seem to have been a fix put in place since it was raised in 2010 <a href="https://groups.google.com/forum/#!topic/ccnet-user/HBabRAq-tsw/discussion" rel="nofollow">https://groups.google.com/forum/#!topic/ccnet-user/HBabRAq-tsw/discussion</a></em></p> <p><em>EDIT2 I have submitted a pull request for a fix that I have done for this, which can be found on the master branch of my github fork of CruiseControl.NET. More specifically the commit <a href="https://github.com/matthewvukomanovic/CruiseControl.NET/commit/3b3ca4a1b81c02de9948ff83ad33536443b208da" rel="nofollow">https://github.com/matthewvukomanovic/CruiseControl.NET/commit/3b3ca4a1b81c02de9948ff83ad33536443b208da</a> and the two commits before that. I'm hoping that it will be put into the next release of Cruise Control Net.</em></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload