repo and android builds on teamcity

Hi folks!
I want to set up teamcity build configuration from my fork of android (AOSP).
Normal checkout workflow is using repo (http://source.android.com/source/downloading.html). Repo is just a bunch of python wrappers for git command, but there are more then 200 different repositories, so create CVS root for each one and combine to nessesary folders isn't good solution.
What I really want: smt like repo plugin. Unfortunally I don't find such plugin.
1) Is it hard to write plugin for repo support? (In my mind, I must implement just one command: checkout. It probably simple, but I don't write plugins for teamcity before)
2) Maybe there are better solution?

Thanks,
Sergey

7 comments
Comment actions Permalink

Hi Sergey,

you are right, there is no teamcity plugin for repo at the
moment, feel free to create an issue for that in our tracker.

Here is some documentation on how to write version control
plugins: http://confluence.jetbrains.net/display/TCD65/Version+Control+System+Plugin.

In order to get builds running you should implement patch
building up to the given revision. After that you will be able to run
builds, but won't see any changes in them. In order to see changes
you should implement collecting changes from revision to revision.
I'm not sure if it is possible to do that, because, as I understand,
repo doesn't have its own revisions.

Another solution is to generate vcs root definitions and attach
them to build configurations using teamcity rest-api (this api
is available in the TeamCity 7.0, which will be released
soon).

0
Comment actions Permalink

Hi Dmitry!
Thank you for your answer.
I created issue http://youtrack.jetbrains.net/issue/TW-19796?projectKey=TW

TeamCity plugin documentation isn't very clear. But mercurial plugin is very useful. I start modify it, but all the same: there are a number of issues.
rest-api is pretty good solution! I looked for such API.
http://confluence.jetbrains.net/display/TW/REST+API+Plugin ooohh, it's bundled since 5.0?

Sergey

0
Comment actions Permalink

Yes it is bundled since 5.0, you can find some examples on vcs root related methods here: http://youtrack.jetbrains.net/issue/TW-8394#comment=27-285538

0
Comment actions Permalink

Seems a bit out of date. GET requests work fine.

$ curl -v --request POST http://user:password@localhost:8111/app/rest/vcs-roots --data-binary @response.xml --header "Content-Type: application/xml"

Not supported request. Please check URL, HTTP method and transfered data are correct. metadata: [Allow:[GET,OPTIONS,HEAD],]

Tested on TeamCity Professional 6.5.6 (build 18130)

0
Comment actions Permalink

These methods are available only in 7.0 (but even latest EAP doesn't support them), if you don't want to wait to the next EAP, you can download a nightly build of 7.0 here: ftp://ftp.intellij.net/pub/.teamcity/nightly/.

0
Comment actions Permalink

oh , sorry I was confused. Instead of 'out of date' I should write 'doesn't yet support'
I will try it soon, thank you again.

0
Comment actions Permalink

Work for me, fine!

0

Please sign in to leave a comment.