TeamCity, BuildDesk and building desktop apps

I'm using BuildDesk right now to create Mac and Windows desktop Java apps. I'm wondering whether TeamCity can handle this task for me.

Initial setup with a BuildDesk project involves specifying the Idea project, specifying the layout of the single target jar, and specifying various parameters for the native launchers.

Later, whenever I need to make a new build, I launch BuildDesk. It automatically scans the Idea project for changes, regenerates the ant file, then performs the build and wraps it with native launchers.

Can TeamCity do the same thing? I'd love to be able to automatically trigger a build whenever I create a new release tag in my svn repo. But I haven't seen any docs that indicate that it can handle creating a single jar, then wrapping it in native launchers.

Or, alternatively, can BuildDesk be integrated as builder in TeamCity? And if so, how automatic would the release build workflow be?

Thanks,
Willis Morse

2 comments
Comment actions Permalink

Willis,

That's how IPR runner in TeamCity works - it analyzes IDEA project files, generates Ant script, compiles sources and runs tests. The missing functionality of BuildDesk is actual creating of jar files and distributions according specified layout.

For now, we plan adding pre-post processing ant scripts for Ipr runner, that would allow to perform arbitrary tasks for the Ipr project. You may watch/vote for http://www.jetbrains.net/jira/browse/TW-1895 .

With regard to full BuildDesk integration - it may be good idea, please create a Jira request for that.

Kind regards,
KIR

0
Comment actions Permalink

Thanks, Kirill.

I'm not sure whether the pre-post ant script feature will help much here. BuildDesk generates a big ant file to do the packaging, but I don't think it can be executed as a standalone task; it seems to require some tasks that are built into BuildDesk or something.

In any case, I've created a new feature request for standalone app generation: TW-1971

Thanks,
Willis Morse

0

Please sign in to leave a comment.