Friday, January 16, 2009

Linking JavaDoc from Confluence

If you hadn't yet noticed, our Plugin Development documentation got a major boost recently with new topics and more detailed descriptions.
Today the documentation got links to online openAPI JavaDoc.

It seems there is no generally available solution for the JavaDoc links in Confluence, so here is a description of our approach.
The links were accomplished via Confluence User Macros

Now when a Confluence wiki markup looks like:
{tc-javadoc:jetbrains.buildServer.serverSide.SBuildServer|findBuildInstanceById(long)}
it is turned into a link: jetbrains.buildServer.serverSide.SBuildServer#findBuildInstanceById(long).

The User macro is:

#if ($param1)
#set ($methodRef = "#$param1")
#else
#set ($methodRef = "")
#end
<b><a href="http://javadoc.jetbrains.net/teamcity/openapi/current/${param0.replaceAll('\.','/')}.html$methodRef">$param0$methodRef</a></b>

Additional macro options:
Macro has a body: OFF
Output: Macro generates HTML markup

This is macro's first and quick version, it will probably be enhanced along the way.

Friday, December 26, 2008

TeamCity 4.0.1 is released

Christmas in Russia is celebrated in January, so this gives us an excellent opportunity to work and even release TeamCity in the middle of Christmas holidays in US and Europe.

Here you are. TeamCity 4.0.1 is out.

Our tracker can let you know the full fixed issues list.

Merry Christmas and Happy New Year!

Friday, December 5, 2008

4.0.1 EAP, build 8111

Here is a new build to open the EAP program for 4.0.1 bug fix update.

Search results highlighting, build queue and notification calculation speedups, possible (but rare) deadlock fix - these are some of the changes in the build.

Currently we do not make any major changes focusing on important or small changes in the code, so the build should be quite stable.

BTW, did you notice what's special in the build number?

Thursday, November 27, 2008

And the winner is...

Build number 8080!
Congratulations, you've just been promoted to the official TeamCity 4.0 release build.

The most advanced continuous integration for Ruby on Rails with TeamCity 4.0

TeamCity 4.0 has a dedicated rake runner, with support for Rake tasks, Test::Unit, and RSpec tests.

Our special thanks goes to the guys behind RubyMine and Ruby plugin for IntelliJ IDEA, who created this runner for TeamCity.

Here is a short (3.5 min, 7.3Mb) demo of some unique TeamCity's features and how they work for a Ruby on Rails project.

This demo includes:
  • setting up Rake runner build configuration
  • running a build, with progress estimate for subsequent builds
  • ongoing test reporting while build is running
  • viewing changes in version control, which are included into the build (web diff)
  • "first failed in"/"already fixed in" features for failed tests
  • full sortable test list for a build
  • a graph for test duration time


Read more about TeamCity features and what's new in 4.0 or download it now and see for yourself!

Regards,
KIR

Thursday, November 20, 2008

A chance to try almost TeamCity 4.0 before the official release

We've published build 8018 which is separated from the official release build by only a couple of build number increments.

Don't miss your chance to try it and be fast to let us know if you spot any critical issues with it.

Monday, November 3, 2008

How ReSharper found a bug in IDEA with the help of TeamCity

A history of one bug.

Several days ago, I received a message from one of ReSharper developers:
The link opened our internal TeamCity installation with the ReSharper build failed on sources checkout. The error was produced by SVN unable to update a directory:
svn: Failed to add directory 'test/assemblies': a versioned directory of the same name already exists
After some digging it turned out that the directory was deleted from the repository some time ago but was not deleted form the build agent. Then it was added anew and the build failed trying to add a directory that already existed on disk. The workaround was to invoke "Enforce clean checkout" from the TeamCity UI for the build configuration.

So ReSharper team can continue their current development effort on performance optimization, but why the directory was not deleted in the first place?

TeamCity uses SVNKit library to talk to Subversion repositories and luckily the developer of the library happened to be just a room away these days. Introduced into the issue he reached for the code to check and soon found a bug in the library that might result in not deleted directory in the working copy. It could only reproduce under certain optimization options that only two products are actually using, one of them being TeamCity and the other ... IntelliJ IDEA. But wait, IDEA is preparing for the 8.0 release these days!

No worries. As I am writing this, the library is already fixed, the latest build downloaded from SVNKit TeamCity installation and as I've just checked on our TeamCity server, the fix is already checked into IDEA release branch.

Actually, the bug is a rare one since it can reproduce only under certain circumstances, it was introduced not so long ago and was only included into EAP releases of IDEA and TeamCity.