<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Builds And Transitive Dependencies</title>
	<atom:link href="http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/feed/" rel="self" type="application/rss+xml" />
	<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/</link>
	<description>If I only knew what this is about...</description>
	<lastBuildDate>Thu, 11 Jun 2009 14:28:35 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: pyclocioche</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-2799</link>
		<dc:creator>pyclocioche</dc:creator>
		<pubDate>Mon, 25 Feb 2008 02:25:13 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-2799</guid>
		<description>To me it is necessary to find</description>
		<content:encoded><![CDATA[<p>To me it is necessary to find</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tobias Roeser</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-854</link>
		<dc:creator>Tobias Roeser</dc:creator>
		<pubDate>Mon, 30 Apr 2007 07:32:52 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-854</guid>
		<description>Ok, maybe I mixed the terms buildsystem and package management system. Then you are right, a build system does not need to handle transitive dependencies (at least not to resolve foreign packages) but then, it depends itself on another tool (or a human) to provide all these. 

This is the reason why we want more than make, Ant, Rake, (fill in your tool)... We want the buildsystem to include all these package management capabilities and thus, at least Ant fails in this term. Even Maven sometimes fails as you&#039;ve described above. I&#039;ve seen it revolving different packages for the same codebase but on a different computer, depending on the content of the local repository - what a crap.</description>
		<content:encoded><![CDATA[<p>Ok, maybe I mixed the terms buildsystem and package management system. Then you are right, a build system does not need to handle transitive dependencies (at least not to resolve foreign packages) but then, it depends itself on another tool (or a human) to provide all these. </p>
<p>This is the reason why we want more than make, Ant, Rake, (fill in your tool)&#8230; We want the buildsystem to include all these package management capabilities and thus, at least Ant fails in this term. Even Maven sometimes fails as you&#8217;ve described above. I&#8217;ve seen it revolving different packages for the same codebase but on a different computer, depending on the content of the local repository &#8211; what a crap.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tobias Roeser</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-851</link>
		<dc:creator>Tobias Roeser</dc:creator>
		<pubDate>Sun, 29 Apr 2007 22:16:49 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-851</guid>
		<description>Ingenious question!

The term build system has to be defined before discussing what a real build system is. But I think you can agree, that a simple make replacement like Ant is not enough. Or at least that for the most mid-size projects with many packages/modules more is needed.

Thats the reason why we want some meta support from out build system like dependency resolution or any other task that need some cleverness to help the developer. Ant is just a DSL for shell scripting.</description>
		<content:encoded><![CDATA[<p>Ingenious question!</p>
<p>The term build system has to be defined before discussing what a real build system is. But I think you can agree, that a simple make replacement like Ant is not enough. Or at least that for the most mid-size projects with many packages/modules more is needed.</p>
<p>Thats the reason why we want some meta support from out build system like dependency resolution or any other task that need some cleverness to help the developer. Ant is just a DSL for shell scripting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mriou</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-849</link>
		<dc:creator>mriou</dc:creator>
		<pubDate>Sun, 29 Apr 2007 15:42:47 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-849</guid>
		<description>So you wouldn&#039;t even describe Ant as &quot;a real build system&quot;?</description>
		<content:encoded><![CDATA[<p>So you wouldn&#8217;t even describe Ant as &#8220;a real build system&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tobias Roeser</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-845</link>
		<dc:creator>Tobias Roeser</dc:creator>
		<pubDate>Sun, 29 Apr 2007 10:05:13 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-845</guid>
		<description>Transitive dependencies are an essential requirement dictated by the nature of software development. Each buildsystem which claims to be a real one, has to support transitive dependendies. 

The question is, at what level this support goes and how clever these dependencies are handled. Working with Maven, I can say that dependency handling cannot going worse. Comming from the Linux distribution Gentoo I&#039;m used to a package managment system (portage) which is more clever than all tools I&#039;ve found for the whole java and scripting language world in terms of (transitive) dependency management.

Please read my complete comment here: https://lepetitfou.dyndns.org/home/node/33</description>
		<content:encoded><![CDATA[<p>Transitive dependencies are an essential requirement dictated by the nature of software development. Each buildsystem which claims to be a real one, has to support transitive dependendies. </p>
<p>The question is, at what level this support goes and how clever these dependencies are handled. Working with Maven, I can say that dependency handling cannot going worse. Comming from the Linux distribution Gentoo I&#8217;m used to a package managment system (portage) which is more clever than all tools I&#8217;ve found for the whole java and scripting language world in terms of (transitive) dependency management.</p>
<p>Please read my complete comment here: <a href="https://lepetitfou.dyndns.org/home/node/33" rel="nofollow">https://lepetitfou.dyndns.org/home/node/33</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mriou</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-211</link>
		<dc:creator>mriou</dc:creator>
		<pubDate>Wed, 21 Mar 2007 02:30:44 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-211</guid>
		<description>The dependencies should always be downloaded only once on a given computer. The issue is when you wipe out your dependency directory, change your computer or somebody else tries to build. You could also want to build 3 years later and find that nothing&#039;s distributed anymore.

So depending on your level of paranoia you can either startup with external dependencies handling and then check them in svn or cvs. Or you can stick with an external repository. That&#039;s more or less your choice.</description>
		<content:encoded><![CDATA[<p>The dependencies should always be downloaded only once on a given computer. The issue is when you wipe out your dependency directory, change your computer or somebody else tries to build. You could also want to build 3 years later and find that nothing&#8217;s distributed anymore.</p>
<p>So depending on your level of paranoia you can either startup with external dependencies handling and then check them in svn or cvs. Or you can stick with an external repository. That&#8217;s more or less your choice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saulius Sinkunas</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-210</link>
		<dc:creator>Saulius Sinkunas</dc:creator>
		<pubDate>Tue, 20 Mar 2007 21:18:49 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-210</guid>
		<description>BTW how many time do you have to check dependencies? It was always dangerous for me to depend on online remote repositories. That&#039;s why we keep all dependant jars locally. This transative dependency is usefull only at startup or when you want to add some big fat library. Almost 95% of time you will reuse your existing dependant jars. And don&#039;t want to worry that at the last stage (before production) somebody changes some jar or dependency.</description>
		<content:encoded><![CDATA[<p>BTW how many time do you have to check dependencies? It was always dangerous for me to depend on online remote repositories. That&#8217;s why we keep all dependant jars locally. This transative dependency is usefull only at startup or when you want to add some big fat library. Almost 95% of time you will reuse your existing dependant jars. And don&#8217;t want to worry that at the last stage (before production) somebody changes some jar or dependency.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mriou</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-176</link>
		<dc:creator>mriou</dc:creator>
		<pubDate>Sat, 10 Feb 2007 21:33:47 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-176</guid>
		<description>Tom, I agree transitive dependency is just too useful, but conflict happens much more often than you would think. Turns out there&#039;s not much originality in the Java world and everybody use the same libraries (commons-*, XML parsing). And then once you&#039;re packaging all those mixed together, surprises happen and it takes time, when you&#039;re not focused on it, to realize it&#039;s because you have several copies of the same thing.

But I also agree that if we carefully think of it, there are solutions to these problems. We can try to be more clever than what other tools (read Maven) offer.

You&#039;re more than welcome to look at the problem. I think I&#039;ll also look into how to improve our Gem repository. Like including dependencies in generated gems and build &quot;grouped&quot; gems, like the rails one for example (that links to ActiveRecord, ActionPack, ...). Because at least RubyGems asks you whether you want to install a dependency or not.</description>
		<content:encoded><![CDATA[<p>Tom, I agree transitive dependency is just too useful, but conflict happens much more often than you would think. Turns out there&#8217;s not much originality in the Java world and everybody use the same libraries (commons-*, XML parsing). And then once you&#8217;re packaging all those mixed together, surprises happen and it takes time, when you&#8217;re not focused on it, to realize it&#8217;s because you have several copies of the same thing.</p>
<p>But I also agree that if we carefully think of it, there are solutions to these problems. We can try to be more clever than what other tools (read Maven) offer.</p>
<p>You&#8217;re more than welcome to look at the problem. I think I&#8217;ll also look into how to improve our Gem repository. Like including dependencies in generated gems and build &#8220;grouped&#8221; gems, like the rails one for example (that links to ActiveRecord, ActionPack, &#8230;). Because at least RubyGems asks you whether you want to install a dependency or not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Ayerst</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-175</link>
		<dc:creator>Tom Ayerst</dc:creator>
		<pubDate>Sat, 10 Feb 2007 09:08:59 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-175</guid>
		<description>I suspect that most of the time the there will not be a conflict and automatic transitive dependency management is just too useful to not have it.

What I would like (and I&#039;ll start looking at how to do it).  Is to have transitive dependencies but flag up conflicts for manual resolution and then capture the choice and use it in future.

Later it could offer heuristics for &quot;best&quot; choice etc.</description>
		<content:encoded><![CDATA[<p>I suspect that most of the time the there will not be a conflict and automatic transitive dependency management is just too useful to not have it.</p>
<p>What I would like (and I&#8217;ll start looking at how to do it).  Is to have transitive dependencies but flag up conflicts for manual resolution and then capture the choice and use it in future.</p>
<p>Later it could offer heuristics for &#8220;best&#8221; choice etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mriou</title>
		<link>http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-174</link>
		<dc:creator>mriou</dc:creator>
		<pubDate>Sat, 10 Feb 2007 04:46:02 +0000</pubDate>
		<guid isPermaLink="false">http://mriou.wordpress.com/2007/02/09/builds-and-transitive-dependencies/#comment-174</guid>
		<description>Adam, my worry is not so much for the build system itself, except when dependencies can&#039;t be found at all. It&#039;s more for the runtime and the expectation that a build environment will be as close as possible to the runtime.A system of isolated classloaders will work well for the build but mostly people won&#039;t be able to get anything running out of what it produces.</description>
		<content:encoded><![CDATA[<p>Adam, my worry is not so much for the build system itself, except when dependencies can&#8217;t be found at all. It&#8217;s more for the runtime and the expectation that a build environment will be as close as possible to the runtime.A system of isolated classloaders will work well for the build but mostly people won&#8217;t be able to get anything running out of what it produces.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
