<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;Ak8FR307fSp7ImA9WhVTFE4.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659</id><updated>2012-02-28T15:20:16.305+01:00</updated><category term="nupkg" /><category term="linux" /><category term="codebetter.com" /><category term="debug" /><category term="teamcity" /><category term="coverage" /><category term="package" /><category term="java" /><category term="VSS SourceSafe" /><category term="process" /><category term="security" /><category term="javadoc" /><category term="dvcs" /><category term="leak" /><category term="trigger" /><category term="xunit" /><category term="teamcity plugin" /><category term="wtf" /><category term="msbuild" /><category term="concurrency" /><category term="library" /><category term="suse" /><category term="mq" /><category term="c#" /><category term="branches" /><category term="servicemessage" /><category term="nuget" /><category term="teamcity runner" /><category term="git" /><category term="build" /><category term="opensource" /><category term="youtrack" /><category term="ci" /><category term="dotCover" /><category term="windows" /><category term=".net" /><category term="mono" /><category term="hg" /><category term="openapi" /><category term="mercurial" /><category term="teamcity api" /><category term="vcs" /><category term="codegeneration" /><category term="teamcity agent" /><title>Eugene on dev</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/EugeneOnDev" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="eugeneondev" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEYCQ384fyp7ImA9WhRbFkU.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-976183601566549324</id><published>2012-02-08T08:29:00.001+01:00</published><updated>2012-02-08T08:29:22.137+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-08T08:29:22.137+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mq" /><category scheme="http://www.blogger.com/atom/ns#" term="mercurial" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="dvcs" /><category scheme="http://www.blogger.com/atom/ns#" term="hg" /><category scheme="http://www.blogger.com/atom/ns#" term="vcs" /><category scheme="http://www.blogger.com/atom/ns#" term="opensource" /><title>TeamCity and Mercurial Mq Extensions</title><summary>In this post I show how to setup Mq patches with TeamCity build.


First of all, let's start with basics. I decided to use Mq extension to deal with patches to a opensource library with sources under Mercurial. The goal was to have a build configuration that fetches sources from the library repository, applies patches from patches repository, builds, tests and packages the library.


Mq Basics

</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/976183601566549324/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=976183601566549324" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/976183601566549324?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/976183601566549324?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2012/02/teamcity-and-mercurial-mq-extensions.html" title="TeamCity and Mercurial Mq Extensions" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-e-K405aiO4o/TyUVaM49dSI/AAAAAAAABvo/tA_y3Cux_Ks/s72-c/Image_0110.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUIMRXo9fCp7ImA9WhRQGUs.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-1883058831215903881</id><published>2011-12-15T17:46:00.000+01:00</published><updated>2011-12-15T17:46:24.464+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-15T17:46:24.464+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="build" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity plugin" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><title>TeamCity Support for NuGet 1.6</title><summary>
Today I added tests for compatibility of NuGet plugin for TeamCity with NuGet 1.6



It's nice to say that my plugin for NuGet commandline that I wrote for NuGet 1.4 is still working.
All tests are green. 



I created an issue for NuGet.org v2 feed to provide more easy-to-fetch information about packages in the feed.


If you use NuGet, please make sure you on the latest build of the plugin. 

</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/1883058831215903881/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=1883058831215903881" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/1883058831215903881?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/1883058831215903881?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/12/teamcity-support-for-nuget-16.html" title="TeamCity Support for NuGet 1.6" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ck8BRH4_fSp7ImA9WhRXGUo.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-8014222338944374453</id><published>2011-12-02T15:42:00.001+01:00</published><updated>2011-12-27T08:27:35.045+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-27T08:27:35.045+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="build" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity plugin" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><title>NuGet.config Support</title><summary>
There was an issue for our NuGet in TeamCity plugin support: TW-18927



As it turned out, it's possible to make NuGet use custom folder to store all packages. To do it you need to create NuGet.config file near your .sln file with the following content:


&lt;![CDATA[

  ..\lib
]]&gt;


Starting from recent builds, NuGet plugin for TeamCity (versions 0.5.x and bundled) will be using this file to </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/8014222338944374453/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=8014222338944374453" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/8014222338944374453?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/8014222338944374453?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/12/nugetconfig-support.html" title="NuGet.config Support" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CU8FQHk7fip7ImA9WhRXE0w.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-4727969290756566976</id><published>2011-12-02T12:45:00.001+01:00</published><updated>2011-12-19T17:56:51.706+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T17:56:51.706+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="git" /><category scheme="http://www.blogger.com/atom/ns#" term="dvcs" /><category scheme="http://www.blogger.com/atom/ns#" term="branches" /><category scheme="http://www.blogger.com/atom/ns#" term="vcs" /><title>Playing Git</title><summary>
In this post I describe my pattern of Git usage.



My project (NuGet support for TeamCity) contains two main branches called 'v0.5-bugfix' and 'v0.6-bugfix'. 'v0.5-bugfix' branch is targeted for TeamCity 6.5.x. 'v0.6-bugfix' is targeted for TeamCity 7.0 and contains more features.



To start a new feature development I first decide if I want this feature to be delivered for 0.5 or 0.6 version.</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/4727969290756566976/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=4727969290756566976" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4727969290756566976?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4727969290756566976?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/12/playing-git.html" title="Playing Git" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-pRywmyzOPn4/Tup994Pv4EI/AAAAAAAABvM/oJUbjNTfrg8/s72-c/Image_0102.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0EHRXg9fSp7ImA9WhRRGE8.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-5609441614322615050</id><published>2011-11-28T00:35:00.001+01:00</published><updated>2011-12-02T13:40:34.665+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T13:40:34.665+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="codegeneration" /><title>On-the-fly Code Generation with .NET Expression Trees</title><summary>Recently I came to the task to fill a bunch of C# object properties from a Dictionary. There were 10+ fields and I decided to use reflection to avoid writing and supporting dummy code on every object change. 


So I come up with code like:



 typeof(DataObject).GetProperties().Where(...).Select(x=&gt;x.SetValue(instance, GetValue(x), null));



Of course this code was not fast. I used Reflection </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/5609441614322615050/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=5609441614322615050" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/5609441614322615050?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/5609441614322615050?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/11/on-fly-code-generation-with-net.html" title="On-the-fly Code Generation with .NET Expression Trees" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkIFSXw7cSp7ImA9WhRSFEg.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-4333172597522278611</id><published>2011-11-15T16:17:00.001+01:00</published><updated>2011-11-16T15:41:58.209+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-16T15:41:58.209+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="servicemessage" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="build" /><category scheme="http://www.blogger.com/atom/ns#" term="library" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="opensource" /><title>TeamCity.ServiceMessages Write API</title><summary>
Today I published TeamCity.ServiceMessages v2.0 package which provides API for generating TeamCity specific service messages. Service messages are described in the documentation page at http://confluence.jetbrains.net/display/TCD7/Build+Script+Interaction+with+TeamCity

Introduction
Do you know what service messages are? Service Messages are strings in the following format: 
##teamcity[hello </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/4333172597522278611/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=4333172597522278611" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4333172597522278611?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4333172597522278611?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/11/teamcityservicemessages-write-api.html" title="TeamCity.ServiceMessages Write API" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkYFSHo_eSp7ImA9WhdaFEg.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-7154870064524068512</id><published>2011-10-21T12:44:00.000+02:00</published><updated>2011-10-24T13:01:59.441+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-24T13:01:59.441+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="servicemessage" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="nupkg" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity api" /><category scheme="http://www.blogger.com/atom/ns#" term="library" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="openapi" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="opensource" /><title>TeamCity Service Messages Library for .NET</title><summary>
Do you know what service messages are? Service Messages are strings in the following format:  

##teamcity[hello message='teamcity']


TeamCity uses Service Messages to provide an easy API for a build scripts integration, i.e. build status reporting, artifacts publishing, tests reporting and more. 
For precise description of the format and service messages usage in TeamCity, take a loot at Build</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/7154870064524068512/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=7154870064524068512" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/7154870064524068512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/7154870064524068512?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/10/teamcity-service-messages-library-for.html" title="TeamCity Service Messages Library for .NET" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0QFRXY4fSp7ImA9WhdbEk8.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-2892636551914240351</id><published>2011-10-10T08:48:00.001+02:00</published><updated>2011-10-10T08:48:34.835+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-10T08:48:34.835+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="nupkg" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="build" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><title>Changes in NuGet Pack Runner</title><summary>
I added support for multiple NuGet packages creation in TeamCity "NuGet Packages Pack" build runner:






In the "Package Parameters" section I added expanded Specification File section to allow to specify more than one file to create package! Wildcards are supported now. 
Thanks to the update, you may use one "NuGet Pacakge Pack" runner to create as many packages as you link in one shot.


</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/2892636551914240351/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=2892636551914240351" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/2892636551914240351?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/2892636551914240351?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/10/changes-in-nuget-pack-runner.html" title="Changes in NuGet Pack Runner" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EJc1CS_z6tA/TpKTFlA3voI/AAAAAAAABgo/aFtcSMvvFik/s72-c/Image_0090.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YASH47eSp7ImA9WhdUGU0.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-5154527309551954518</id><published>2011-10-06T15:52:00.001+02:00</published><updated>2011-10-06T15:52:29.001+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-06T15:52:29.001+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="nupkg" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="build" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><category scheme="http://www.blogger.com/atom/ns#" term="trigger" /><title>NuGet Dependency Trigger Update</title><summary>
Fresh builds of NuGet plugin for TeamCity contains scalability improvements for NuGet Dependency Trigger. (TW-18429)
In this blog post I'll describe NuGet Dependency trigger internal implementation.






Those are main steps that improved performance:


  Join all triggers of the same package into one check request
  Perform checks of many packages inside one NuGet.exe call
  Allow running more</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/5154527309551954518/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=5154527309551954518" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/5154527309551954518?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/5154527309551954518?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/10/nuget-dependency-trigger-update.html" title="NuGet Dependency Trigger Update" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-luutA-PVVOU/ToxSIj2gTLI/AAAAAAAABgg/tKjKc3YW6gs/s72-c/Image_0058.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0IAR3g5eSp7ImA9WhdUGEw.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-4192922895545801698</id><published>2011-10-04T13:49:00.000+02:00</published><updated>2011-10-05T14:59:06.621+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T14:59:06.621+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><category scheme="http://www.blogger.com/atom/ns#" term="codebetter.com" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="leak" /><title>NuGet Package Publish Runner Security Update</title><summary>First implementation of NuGet Package Publish runner contained a bug. In the build log it logged the full commandline to calling nuget.exe process. As it turned out this commandline contained used NuGet.org API key.


I fixed the issue on Aug 25-th.


Thanks to @hazzik who noticed that TeamCity.CodeBetter.com is running on older version of plugin and thus unveils API keys.


On Sunday, 02 October</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/4192922895545801698/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=4192922895545801698" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4192922895545801698?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4192922895545801698?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/10/nuget-package-publish-runner-security.html" title="NuGet Package Publish Runner Security Update" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkEBR3o6fyp7ImA9WhdUGU0.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-3422043524042876093</id><published>2011-10-03T17:00:00.000+02:00</published><updated>2011-10-06T14:37:36.417+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-06T14:37:36.417+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="nupkg" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="build" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity agent" /><title>Automatic NuGet.exe Distribution in TeamCity</title><summary>About a month ago I added a NuGet.exe tool selection and distribution support to NuGet plugin for TeamCity. There appeared the NuGet tab in 'Server Configuration' section in Administration. There you can select and download NuGet.CommandLine client to use with TeamCity. Downloaded NuGet Commandline tool will be distributed to all agents automatically.





On this tab you can manage available </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/3422043524042876093/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=3422043524042876093" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/3422043524042876093?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/3422043524042876093?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/10/automatic-nugetexe-distribution-in.html" title="Automatic NuGet.exe Distribution in TeamCity" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-ZjKxCAsDn9k/TonFNnmgeUI/AAAAAAAABgQ/56AMLPlLumY/s72-c/Image_0084.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE8GRn08eSp7ImA9WhdUE0w.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-7597385797658583673</id><published>2011-09-29T13:07:00.001+02:00</published><updated>2011-09-29T19:20:27.371+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T19:20:27.371+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="nupkg" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="build" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title>Selective Publishing of NuGet Packages in TeamCity</title><summary>
TeamCity NuGet plugin provides a build runner to publish a NuGet package to the feed. It makes it quite easy to make TeamCity create and publish a package from every build. 
For some reason you may not need to publish every created NuGet package to the feed. In this post I'll describe how one can configure it with TeamCity.


To make it work you need to have two build configurations:

  One </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/7597385797658583673/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=7597385797658583673" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/7597385797658583673?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/7597385797658583673?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/09/selective-publishing-of-nuget-packages.html" title="Selective Publishing of NuGet Packages in TeamCity" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-WCf4ujAJ7Wk/ToRDuvK4apI/AAAAAAAABfg/ORO9DUOnBAA/s72-c/Image_0046.png" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>Munich, Germany</georss:featurename><georss:point>48.1391265 11.5801863</georss:point><georss:box>47.969588 11.2643293 48.308665000000005 11.896043299999999</georss:box></entry><entry gd:etag="W/&quot;A0QESXoycCp7ImA9WhdWFEo.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-2795539150520141382</id><published>2011-09-08T12:55:00.000+02:00</published><updated>2011-09-08T12:55:08.498+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-08T12:55:08.498+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="debug" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity agent" /><category scheme="http://www.blogger.com/atom/ns#" term="msbuild" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity runner" /><title>MSBuild Logging Tree</title><summary>TeamCity build log provides several view modes. One of my favorite modes is Tree view. I was working hard to improve MSBuild / Visual Studio (sln) build runners logging and fix some issues with it. 

Starting from TeamCity 7.0 EAP MSBuild / Visual Studio (sln) runners build log tree view is improved and will look like:





The main difference to older version is that now all messages are </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/2795539150520141382/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=2795539150520141382" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/2795539150520141382?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/2795539150520141382?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/09/msbuild-logging-tree.html" title="MSBuild Logging Tree" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-_VbrVvTmgaY/Tmc8MsYKZSI/AAAAAAAABfU/SfaYrV0Dbqg/s72-c/msbuild-tree.png" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DEAEQX08eip7ImA9WhdWEkw.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-5714491803850170353</id><published>2011-09-05T11:51:00.000+02:00</published><updated>2011-09-05T11:58:20.372+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-05T11:58:20.372+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity plugin" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity api" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity agent" /><title>How to pack agent plugin for TeamCity</title><summary>In this post I'll describe how to pack build agent plugins for TeamCity 6.5 or newer. 

To start, have a look at plugin development page in TeamCity documentation. 
There you'll find information on how to prepare server-side plugin for TeamCity. Server-side plugin package may contain agent plugin(s). Below you'll find only description of agent-side plugins.


TeamCity build agent supports 3 type </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/5714491803850170353/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=5714491803850170353" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/5714491803850170353?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/5714491803850170353?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/09/how-to-pack-agent-plugin-for-teamcity.html" title="How to pack agent plugin for TeamCity" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Dk4GRnk8fSp7ImA9WhdaEEw.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-1626830705784006898</id><published>2011-08-31T11:14:00.002+02:00</published><updated>2011-10-19T11:02:07.775+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-19T11:02:07.775+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity plugin" /><category scheme="http://www.blogger.com/atom/ns#" term="openapi" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title>NuGet 1.5 and TeamCity</title><summary>Today I updated all my NuGet.exe integration tests to run against both NuGet 1.4 and NuGet 1.5. I'm happy to notice, there were no breaking changes in NuGet between 1.4 and 1.5.

There was a great post on NuGet support in TeamCity at 
http://blogs.jetbrains.com/dotnet/2011/08/native-nuget-support-in-teamcity/


We plan to bundle NuGet plugin into forthcoming TeamCity 7.0 EAP builds and you may </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/1626830705784006898/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=1626830705784006898" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/1626830705784006898?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/1626830705784006898?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/08/nuget-15-and-teamcity.html" title="NuGet 1.5 and TeamCity" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUIDRX4-eyp7ImA9WhdSEkU.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-6554044785291519379</id><published>2011-07-22T00:32:00.000+02:00</published><updated>2011-07-22T00:32:54.053+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-22T00:32:54.053+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity plugin" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><title>NuGet Publish Build Runner</title><summary>TeamCity plugin for NuGet support v0.4 is out. 
In this version I included a new build runner called "NuGet Packages Publish". This build runner helps you to publish (push) NuGet packages to a given feed (custom or default). Publishing of packages is done with help of nuget.exe push command. 

Build runner settings are the following:

Download and Info:For more information, see NuGet plugin home </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/6554044785291519379/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=6554044785291519379" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/6554044785291519379?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/6554044785291519379?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/07/nuget-publish-build-runner.html" title="NuGet Publish Build Runner" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-usHp3z1j5RE/Tiil_ZvoonI/AAAAAAAABes/029i2nlOgW0/s72-c/nuget-publish-runner.png" height="72" width="72" /><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;CUYFSHw7cSp7ImA9WhdSEks.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-3408720593702412495</id><published>2011-07-21T17:32:00.001+02:00</published><updated>2011-07-21T17:45:19.209+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-21T17:45:19.209+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity plugin" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><title>NuGet for TeamCity plugin BREAKING CHANGE</title><summary>I've committed a BREAKING CHANGE to NuGet Plugin for TeamCity. 

As it turned out, for some databases TeamCity starts throwing data truncation warnings into server logs for too long run type name that could not be saved. Those warnings were caused by NuGet Packages Installer build runner. 

The only way to fix the issue is to change run type of the build runner to new shorter string. I had to do </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/3408720593702412495/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=3408720593702412495" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/3408720593702412495?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/3408720593702412495?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/07/nuget-for-teamcity-plugin-breaking.html" title="NuGet for TeamCity plugin BREAKING CHANGE" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkUBRnY-eyp7ImA9WhdSEEQ.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-509543432942905696</id><published>2011-07-19T17:38:00.003+02:00</published><updated>2011-07-19T19:57:37.853+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-19T19:57:37.853+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity plugin" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity api" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="nuget" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity agent" /><title>TeamCity and NuGet support</title><summary>In this blog post I introduce a plugin for TeamCity 6.5 that provides support for NuGet.

The plugin provides a NuGet Packages Installer build runner. With help of which you may:
Install NuGet packages that were not checked in to the version control,
(optionally) Update package dependencies to the most recent ones

Installation of packages that were not checked in to version control was also </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/509543432942905696/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=509543432942905696" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/509543432942905696?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/509543432942905696?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/07/teamcity-and-nuget-support.html" title="TeamCity and NuGet support" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-rdxrjmeijD0/TiWhMpogZqI/AAAAAAAABeI/Is5kbGDsTMg/s72-c/nuget-install-packages-runner.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YFSHw6fCp7ImA9WhZaGU4.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-8206747292057273528</id><published>2011-07-06T09:58:00.000+02:00</published><updated>2011-07-06T09:58:39.214+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-06T09:58:39.214+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="javadoc" /><category scheme="http://www.blogger.com/atom/ns#" term="wtf" /><category scheme="http://www.blogger.com/atom/ns#" term="concurrency" /><title>Collections#syncronized* vs for statement</title><summary>As we can see in javadoc (say for 1.6) java.util.Collections#synchronized* methods does not synchronize iterators! This is properly documented in the javadocs of it.

As we can see in spec http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.14.2
java foreach (= enhanced for) statement uses iterator inside.

Let's to small check with javac and jad:
Here I have a class with a </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/8206747292057273528/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=8206747292057273528" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/8206747292057273528?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/8206747292057273528?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/07/collectionssyncronized-vs-for-statement.html" title="Collections#syncronized* vs for statement" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkEBRHozeCp7ImA9WhZaFU0.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-4903570163583604544</id><published>2011-07-01T10:11:00.003+02:00</published><updated>2011-07-01T10:24:15.480+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-01T10:24:15.480+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity api" /><category scheme="http://www.blogger.com/atom/ns#" term="openapi" /><category scheme="http://www.blogger.com/atom/ns#" term="javadoc" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity agent" /><title>Agent parameters story</title><summary>There are parameters and references in TeamCity. You may use %PARAM_NAME% syntax mostly in all editable build configuration fields to refer to the value of parameter PARAM_NAME. This gives you much power in customizing and reusing.

In this post I'll cover build agent side of parameters infrastructure api.
On build agent side there are 3 add parameters methods named like:
- add*ConfigParameter
- </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/4903570163583604544/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=4903570163583604544" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4903570163583604544?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4903570163583604544?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/07/agent-parameters-story.html" title="Agent parameters story" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0MBRHo7fCp7ImA9WhZWEU4.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-4301115879641229158</id><published>2011-05-11T18:22:00.003+02:00</published><updated>2011-05-11T18:30:55.404+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-11T18:30:55.404+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="youtrack" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><title>Navigating YouTrack Issues</title><summary>I used to use YouTrack to track all issues. Some times I need to open an issue in YouTrack by number. This usually happens if team-mate says me a number or if I see only a issue id without a link. My solution is to crate a small .bat file placed in the system path.Source of my TW.bat:explorer http://www.jetbrains.net/tracker/issue/TW-%1Now to open an issue I do the following:- press WIN + R- type</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/4301115879641229158/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=4301115879641229158" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4301115879641229158?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/4301115879641229158?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/05/navigating-youtrack-issues.html" title="Navigating YouTrack Issues" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D04FSHw-fSp7ImA9WhZXFkQ.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-5877362929809789138</id><published>2011-05-06T13:30:00.005+02:00</published><updated>2011-05-06T17:31:59.255+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-06T17:31:59.255+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ci" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="build" /><category scheme="http://www.blogger.com/atom/ns#" term="debug" /><title>Debugging build properties</title><summary>Do you know what properties were put into a build in TeamCity? For some reason you may need to know that. Adding debug prints/echos in the build is too boring! Starting from  TeamCity 6.5 you may find final property values in every build in 'Build Parameters' tab:</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/5877362929809789138/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=5877362929809789138" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/5877362929809789138?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/5877362929809789138?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/05/debugging-build-properties.html" title="Debugging build properties" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-t4hmq-PCGZE/TcPdASBpKAI/AAAAAAAABbM/TSMw9tw3_EA/s72-c/BuildParameters.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ak4GQ3Y7eip7ImA9WhZXFUU.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-6138638410119598153</id><published>2011-05-04T17:59:00.006+02:00</published><updated>2011-05-05T11:48:42.802+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T11:48:42.802+02:00</app:edited><title>Debugging Builds</title><summary>In most cases setting up a CI build could be an easy task. But, sometimes things are getting wrong and one may need a debugging. For example, build may fail or misbehave because of lack of files under some folders. To fix the issue you may need to take a look on build files. In some setups this may be hard to do. You may need to connect to remote machines, use different OS, have issue with access</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/6138638410119598153/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=6138638410119598153" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/6138638410119598153?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/6138638410119598153?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/05/debugging-builds.html" title="Debugging Builds" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-qDSAtOuDRag/TcF6okbq9KI/AAAAAAAABbA/XwP8yw4hfaE/s72-c/debug-build-edit-add-new-step.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cEQH08eCp7ImA9WhRQEk0.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-3345896864604576007</id><published>2011-04-27T13:57:00.009+02:00</published><updated>2011-12-06T23:03:21.370+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-06T23:03:21.370+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xunit" /><category scheme="http://www.blogger.com/atom/ns#" term="teamcity" /><category scheme="http://www.blogger.com/atom/ns#" term="dotCover" /><category scheme="http://www.blogger.com/atom/ns#" term="coverage" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><title>TeamCity code coverage with xunit</title><summary>Recently I decided to set up a CI build for a project: https://github.com/hhariri/jsonfxYou may notice that it uses xunit to run tests. My goal was to set up TeamCity build with tests under xunit and code coverage.Hopefully I noticed that xunit supports TeamCity! To make it report tests for TeamCity all you need is to add /teamcity command line argument. Amazing! (I should probably write a plugin</summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/3345896864604576007/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=3345896864604576007" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/3345896864604576007?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/3345896864604576007?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/04/teamcity-code-coverage-with-xunit.html" title="TeamCity code coverage with xunit" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-tx5tCMN2aRQ/TbgGylWdI8I/AAAAAAAABao/gmbWqMEJAiw/s72-c/.NET%2Bprocess%2Brunner.png" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;C04GQHg6eip7ImA9WhZQEUs.&quot;"><id>tag:blogger.com,1999:blog-1925427329920092659.post-7570924812784685402</id><published>2011-04-18T23:15:00.004+02:00</published><updated>2011-04-18T23:25:21.612+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-18T23:25:21.612+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="mono" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="suse" /><title>Window/Mono tests running</title><summary>I had to debug/fix my .NET application under Linux/Mono. That was nice to find Suse VMWare images just on http://mono-project.com web site. Unfortunately, I failed to compile my project under Mono. C# compiler crashed. So no chance that to develop and debug code. I played a little with Mono packages under Suse, but failed. I mounted samba shared folder under mono and started running tests with </summary><link rel="replies" type="application/atom+xml" href="http://blog.jonnyzzz.name/feeds/7570924812784685402/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1925427329920092659&amp;postID=7570924812784685402" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/7570924812784685402?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1925427329920092659/posts/default/7570924812784685402?v=2" /><link rel="alternate" type="text/html" href="http://blog.jonnyzzz.name/2011/04/windowmono-tests-running.html" title="Window/Mono tests running" /><author><name>Eugene Petrenko</name><uri>http://www.blogger.com/profile/13369854753945784595</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://1.bp.blogspot.com/-WS4aXv_slgo/TargB2JVM-I/AAAAAAAABZs/Hm0sMdt6IH4/s1600/x_1662684e.jpg" /></author><thr:total>0</thr:total></entry></feed>

