<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Polymorphic Rants &#187; Ivy</title>
	<atom:link href="http://www.lucagrulla.it/blog/tag/ivy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lucagrulla.it/blog</link>
	<description>The blog formerly known as "(s)ragionamenti polimorfici"</description>
	<lastBuildDate>Wed, 16 Jun 2010 09:42:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Integrate Ivy in a dotNet build</title>
		<link>http://www.lucagrulla.it/blog/2008/04/17/integrate-ivy-in-a-dotnet-build/</link>
		<comments>http://www.lucagrulla.it/blog/2008/04/17/integrate-ivy-in-a-dotnet-build/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 14:06:58 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Ivy]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/wordpress/2008/04/17/integrate-ivy-in-a-dotnet-build/</guid>
		<description><![CDATA[I&#8217;m currently involved in a dotNet shop and I&#8217;m working on redesigning the build pipeline (good old CI stuff).
Ivy appeared in our brainstorming sessions as solution for the requirement of having a more defined control on the projects dependencies.
The problem is that currently (but you never know about the future   ) there isn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently involved in a dotNet shop and I&#8217;m working on redesigning the build pipeline (good old CI stuff).<br />
Ivy appeared in our brainstorming sessions as solution for the requirement of having a more defined control on the projects dependencies.</p>
<p>The problem is that currently (but you never know about the future <img src='http://www.lucagrulla.it/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) there isn&#8217;t a dotNet native port of Ivy.</p>
<p>This can be solved using the <em>exec</em> tag from your NAnt script and using java as an external program.<br />
Here is the bit to add to your NAnt build script:</p>
<p>&lt;target name=\&#8221;dependencies\&#8221; description=\&#8221;resolves project dependencies\&#8221;&gt;<br />
&lt;exec program=\&#8221;java.exe\&#8221;&gt;<br />
&lt;arg value=\&#8221;-classpath\&#8221; /&gt;<br />
&lt;arg&gt;<br />
&lt;path&gt;<br />
&lt;pathelement file=\&#8221;tools/apache-ivy-2.0.0-beta2/ivy-2.0.0-beta2.jar\&#8221; /&gt;<br />
&lt;pathelement file=\&#8221;tools/apache-ivy-2.0.0-beta2/ivy-core-2.0.0-beta2.jar\&#8221; /&gt;<br />
&lt;pathelement file=\&#8221;tools/apache-ivy-2.0.0-beta2/lib/commons-cli-1.0.jar\&#8221; /&gt;<br />
&lt;/path&gt;<br />
&lt;/arg&gt;<br />
&lt;arg value=\&#8221;org.apache.ivy.Main\&#8221; /&gt;<br />
&lt;arg value=\&#8221;-settings\&#8221; /&gt;<br />
&lt;arg&gt;<br />
&lt;path&gt;<br />
&lt;pathelement file=\&#8221;ivysettings.xml\&#8221; /&gt;<br />
&lt;/path&gt;<br />
&lt;/arg&gt;<br />
&lt;arg value=\&#8221;-retrieve\&#8221; /&gt;<br />
&lt;arg&gt;<br />
&lt;path&gt;<br />
&lt;pathelement dir=\&#8221;lib/[module].[artifact].[ext]\&#8221; /&gt;<br />
&lt;/path&gt;<br />
&lt;/arg&gt;<br />
&lt;/exec&gt;<br />
&lt;/target&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2008/04/17/integrate-ivy-in-a-dotnet-build/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ivy: how-to download dependencies to different folders</title>
		<link>http://www.lucagrulla.it/blog/2008/04/17/ivy-how-to-download-dependencies-to-different-folders/</link>
		<comments>http://www.lucagrulla.it/blog/2008/04/17/ivy-how-to-download-dependencies-to-different-folders/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 10:22:05 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Ivy]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/wordpress/2008/04/17/ivy-how-to-download-dependencies-to-different-folders/</guid>
		<description><![CDATA[Ivy is a dependency manager that lets you define in a declarative way directly in the build file the dependency of your project.
In order to downlaod dependencies in different folders (i.e. separate the runtime dependencies from the testing ones) you have to define configurations.
Let&#8217;s say we have this project structure:
/lib
-prod
-test
The first step is defining in [...]]]></description>
			<content:encoded><![CDATA[<p>Ivy is a dependency manager that lets you define in a declarative way directly in the build file the dependency of your project.</p>
<p>In order to downlaod dependencies in different folders (i.e. separate the runtime dependencies from the testing ones) you have to define configurations.</p>
<p>Let&#8217;s say we have this project structure:<br />
/lib<br />
-prod<br />
-test</p>
<p>The first step is defining in your ivy.xml a configuration for each folder:</p>
<p>&lt;configurations&gt;<br />
&lt;conf name=\&#8221;test\&#8221; visibility=\&#8221;public\&#8221; description=\&#8221;test dependencies\&#8221; /&gt;<br />
&lt;conf name=\&#8221;prod\&#8221; visibility=\&#8221;public\&#8221; description=\&#8221;runtime dependencies\&#8221; /&gt;<br />
&lt;/configurations&gt;</p>
<p>and then defining the actual dependencies assigning to each one the right configuration(in these scenario all are extending the default one):</p>
<p>&lt;dependencies&gt;<br />
&lt;dependency org=\&#8221;org.apache\&#8221; name=\&#8221;junit\&#8221; rev=\&#8221;2.0\&#8221; conf=\&#8221;test-&gt;default\&#8221;/&gt;<br />
&lt;dependency org=\&#8221;org.apache\&#8221; name=\&#8221;log4j\&#8221; rev=\&#8221;2.0\&#8221; conf=\&#8221;prod-&gt;default\&#8221;/&gt;<br />
&lt;/dependencies&gt;</p>
<p>Finally in the build file you have to define the pattern in the <em>ivy:retrieve</em> tag:</p>
<p>&lt;ivy:retrieve pattern=\&#8221;$  {ivy.lib.dir}/[conf]/[artifact].[ext]\&#8221;/&gt;</p>
<p>is easy to see that the pattern chunk that defines the actual destination directory id the [conf] token.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2008/04/17/ivy-how-to-download-dependencies-to-different-folders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
