This Question is Answered

1 "correct" answer available (4 pts) 1 "helpful" answer available (2 pts)
6 Replies Last post: Sep 21, 2010 8:09 PM by Yegor Yarko  
Kieron Wilkinson Newbie 33 posts since
Oct 11, 2002
Currently Being Moderated

Mar 12, 2010 8:04 PM

TeamCity Ivy support and transitive dependencies

One of the really compelling use cases for Ivy is it's management of transitive dependencies. Right now, we are using TeamCity and Ivy together, using TeamCity as our artefact respository, which is great. One thing I want to do, but I can't see any documentation on, is to use Ivy to resolve our transitive dependencies via TeamCity.

 

Does TeamCity support this? The Ivy docs seem to suggest that if you are in project 'a' with a dependency on 'b' which then has a dependency on 'c', you just need to have an ivy.xml available in the same place as your 'b' artefacts, and it will automatically resolve them. However, since TeamCity generates it's own ivy.xml files, I can't seem to get Ivy it to pull 'b''s ivy files to resolve...

 

Is this possible? I tried all sort of things, but I guess I'll ask before I continue trying

We don't really want to set up our own artefact repository right now, but I guess we will have to if TeamCity doesn't support this.

 

Thanks in advance for any info!

Yegor Yarko JetBrains 1,458 posts since
May 5, 2004
Currently Being Moderated
Sep 21, 2010 6:52 PM in response to: Kieron Wilkinson
Re: TeamCity Ivy support and transitive dependencies

http://devnet.jetbrains.net/people/fiathKieron,

 

TeamCity does not support this type of information about dependencies. Actually, all the dependnecy information currently handled in TeamCity is considered to be compile-time dependency and to start supporting run-time dependency, more options should added/handled/etc.

 

For now the only option you can use is probably generating proper ivy.xml inside your build script, publishing it with the build's artifact and then pointing Ivy from the using build to the build artifacts URL to download dependencies, but this way the only Teamcity feature used is availabilty of artifacts via http...

 

Anyway, feel free to file a feature request into our tracker detailing your use case.

Mark Bickford Newbie 88 posts since
Jun 18, 2003
Currently Being Moderated
Sep 21, 2010 5:31 PM in response to: Kieron Wilkinson
Re: TeamCity Ivy support and transitive dependencies

It looks like there are two issues already, TW-3667 and TW-7418, that both have something to do with this topic.  I was preparing to use the Ivy exposure for the first time myself, until I discovered that TC doesn't include the proper dependencies in its ivy.xml. In my case, it's already an Ivy-based build process so Ivy will generate the file for me, but I would hope that Teamcity would pick up on that and publish those dependencies automatically.

 

That makes me think of something else: if I create an artifact named teamcity-ivy.xml, will it override the one generated by Teamcity?

Yegor Yarko JetBrains 1,458 posts since
May 5, 2004
Currently Being Moderated
Sep 21, 2010 6:56 PM in response to: Mark Bickford
Re: TeamCity Ivy support and transitive dependencies

> if I create an artifact named teamcity-ivy.xml, will it override the one generated by Teamcity?

 

No. Generated teamcity-ivy.xml cannot be modified and this is "as designed" behavior.

 

I am not sure I fully understand your needs, but you might be interested in Ivy support provided by Artifactory plugin.

Mark Bickford Newbie 88 posts since
Jun 18, 2003
Currently Being Moderated
Sep 21, 2010 7:06 PM in response to: Yegor Yarko
Re: TeamCity Ivy support and transitive dependencies

Thank you for your reply.  In essence, my need would be for teamcity-ivy.xml to contain the same information regarding dependencies that I get in the ivy.xml which is generated when I call ivy:publish at the end of my build, instead of just providing the list of artifacts.

 

Leaving that aside, in order to work around this issue I have another question: is the buildConfId (e.g., bt99) available as an Ant property during a build?  If so, what is it called?

 

Thanks,

Mark

Yegor Yarko JetBrains 1,458 posts since
May 5, 2004
Currently Being Moderated
Sep 21, 2010 8:09 PM in response to: Mark Bickford
Re: TeamCity Ivy support and transitive dependencies

> is the buildConfId (e.g., bt99) available as an Ant property during a build?

Yes. "teamcity.buildType.id"

More Like This

  • Retrieving data ...