December 2009 - Posts
Tonight I was facing an issue with TeamCity 5.0 plugin in Visual Studio 2008.
I was getting the error message 'Failed to collect changes error' in the new Local changes window.
Searching on the bug tracking tool of JetBrains for TeamCity I found this issue "TW-10474 I can not make VS addin recollect changes after recieveing 'Failed to collect changes error'”
Has this issue breaks my way to work with pre-tested build I decided to search for a solution because I cannot work without this now!
So following the instruction "Logging in TeamCity Visual Studio plugin" : Reporting Issues
Looking at the produced logs I found this:
9:28:24 PM.987: Thread:31: svn.exe info "xml" "non-interactive" "p:\@projects\_handsup\portal"
9:28:24 PM.987: Thread:31: Failed to execute svn. code 1, error svn: Try 'svn help' for more info svn: Syntax error parsing revision 'projects\_handsup\portal' , output <?xml version="1.0"?> <info>
9:28:24 PM.991: Thread:31: EXCEPTION: svn: Try 'svn help' for more info
svn: Syntax error parsing revision 'projects\_handsup\portal'.
Svn has exited with code '1'.
SvnInfoUuidCommand failed
I tried then the svn command from the command prompt and got the same error!
I finally renamed the path to my project from p:\@projects\_handsup\portal to p:\projects\_handsup\portal
And now it works again! So forget strange characters in your path!
JetBrains just published TeamCity 5.
The wait is over, ladies and gentlemen! The release build is baked, tested, and put on the shelf. Tastes good, so go and grab it now!
Let us write down a short summary of what was accomplished since the TeamCity 4.5 release.
First of all, here’s the list of most noteworthy features:
- Support for Amazon EC2: Take advantage of cloud computing with TeamCity by putting build agents on Amazon EC2 cloud with on-demand image starting and on-idle stopping.
- Issue tracker integration with JetBrains YouTrack, JIRA and Bugzilla - out of the box, plus an API for the integration plugins for other systems.
- Maven support improvements, including simplified build configuration creation from POM file, and build triggering on Maven artifacts change.
- Build configuration templates for eliminating redundancy in build configurations settings.
- Project archiving for putting no-longer-active projects out of sight.
- Command line tool for running Personal builds on server without IDE integration.
- Backup & Restore were added to simplify TeamCity maintenance. Also, migration tool was re-implemented.
Other improvements:
- Now you can view the status of a change across all build configurations on a single page.
- Failure responsibility feature has been advanced to cover not only builds, but also individual test failures.
- Various actions performed by TeamCity users are now stored in the Audit log, which can be browsed from the web UI.
- Code coverage analysis has been significantly improved for both Java (based on IntelliJ IDEA coverage engine) and .NET (support for NCover and PartCover).
- And many more
New and improved integrations:
- Git & Mercurial support are now bundled with TeamCity.
- Remote Run now works for Git from IntelliJ IDEA & Eclipse.
- New support for Cucumber, Shoulda, Test-Spec in Rake runner.
- TeamCity IntelliJ IDEA plugin now works with IntelliJ IDEA Community Edition and RubyMine 2.0.
Of course, this is not an exhaustive list, so check What’s New to get a full overview of new features and improvements.
As always, TeamCity 5.0 Professional is available for FREE for all small- and middle-sized development teams and can be downloaded at http://www.jetbrains.com/teamcity/download.
TeamCity 5.0 Enterprise is available for a 60-day free trial download at http://www.jetbrains.com/teamcity/download.
New customers can purchase TeamCity 5.0 online at http://www.jetbrains.com/teamcity/buy/.
Existing customers can upgrade to version 5.0 after purchasing a 1-year subscription for software updates at http://www.jetbrains.com/teamcity/buy/.
TeamCity licenses bought after October 1, 2009, receive a 1-year subscription for software updates for free, and therefore will work fine with TeamCity version 5.0. If you have such licenses, you will soon receive an e-mail with the new keys and certificates.
Build safe!
The JetBrains TeamCity Team
Since some time I have the current scenario where I need to have conditional reference in a project. Basically the application must reference an assembly in one case in other it should reference another one. This was working correctly from an MSBuild point of view as the first implemented solution let me compile and run the application on my development machine and it was also working for our TeamCity build server. So everything was fine in this perfect word expect one thing!
The issue was the following; Visual Studio was showing two references of the ‘same assembly’ with different path. Not really an issue you would say because the correct one was used at compile time and at run time in all configurations. So the issue was that this had an impact of ReSharper. And this is I cannot accept because it affect my productivity.
So the other day I had a discussion with Ilya of JetBrains which gave me some idea but also told me that ReSharper reads project structure out of Visual Studio and that it doesn't provide lots of info, e.g. conditions on references. So this is why seeing two reference of the ‘same assembly’ was not a problem on Visual Studio itself and on the build server but was an issue to ReSharper because it was seeing two same reference, same namespace, same classes…
Today I had some time free and decided to see where I can come with this issue. And I found a solution.
My first solution, which had the explained issue was the same as the one on this post “Don't be afraid of your csproj-Files (III): We have a condition”, so having a Condition on the ItemGroup.
The solution I came to is to bring the Condition to one upper level than the ItemGroup, so I used Choose like this:
- <Choose>
- <When Condition=" '$(Configuration)' == 'client1DeployClickOnce' ">
- <ItemGroup>
- <ProjectReferenceInclude="..\client1\app.Controls\app.Controls.csproj">
- <Project>{A7714633-66D7-4099-A255-5A911DB7BED8}</Project>
- <Name>app.Controls %28Sources\client1\app.Controls%29</Name>
- </ProjectReference>
- </ItemGroup>
- </When>
- <Otherwise>
- <ItemGroup>
- <ProjectReference Include="..\app.Controls\app.Controls.csproj">
- <Project>{2E6D4065-E042-44B9-A569-FA1C36F1BDCE}</Project>
- <Name>app.Controls %28Sources\app.Controls%29</Name>
- </ProjectReference>
- </ItemGroup>
- </Otherwise>
- </Choose>
Reloading the project I had the surprise to see only one reference and that ReSharper was working again correctly!
For sure the build on TeamCity is also working perfectly.
Laurent Bugnion just published MVVM Light Toolkit V3 Alpha 3 which support WPF 4 and Silverlight 4!
I published, yesterday a short post in French on my Tech Head Brothers portal about Silverlight 4 Beta, Drop Target et MVVM which shows the usage of this new version of EventToCommand combined with Silverlight 4 Drop Target.
Here is the post of Laurent
I just published the latest alpha version of the MVVM Light Toolkit. I will post more about the new features in this alpha version, but the most exciting is probably that with this release, the MVVM Light Toolkit works in Windows Presentation Foundation 4 and in Silverlight 4 (in Visual Studio 2010).
There is no automatic installer for this version yet, but I wrote a page describing how to install manually (it is as easy as unzipping a few files). All the features are also available for Visual Studio 2008 as usual.
The source code was also updated on the Codeplex website.
More documentation will follow soon so stay tuned. In the mean time, have fun with MVVM in WPF4/SL4!
More Posts