<?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/"
>
<!-- MHonArc v2.6.10 -->
	<channel>
		<title>aether-users</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/maillist.html</link>
		<description>aether-users</description>
		<language>en-us</language>
		<pubDate>Thu, 19 Apr 2012 22:20:03 GMT</pubDate>
		<lastBuildDate>Thu, 19 Apr 2012 22:20:03 GMT</lastBuildDate>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>MHonArc RSS 2.0 RCFile</generator>
		<managingEditor>webmaster@eclipse.org (Webmaster)</managingEditor>
		<webMaster>webmaster@eclipse.org (Webmaster)</webMaster>
		<image>
			<title>aether-users</title>
			<url>http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg</url>
			<link>http://dev.eclipse.org/mhonarc/lists/aether-users/maillist.html</link>
		</image>
 

	<item>
		<title>Re: [aether-users] performance: creation of DependencyNode, DefaultArtifact and Dependency</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00099.html</link>
		<description>The holding structure is [...] org.apache.maven.project.MavenProject -&amp;gt; org.sonatype.aether.util.DefaultRepositorySystemSession -&amp;gt; org.sonatype.aether.graph.Dependency Am I right to assume that the omitted part of the chain is MavenProject.projectBuilderCo...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Martin Koci wrote:</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><tt>Can you detail all chains of objects/fields holding the artifact instances?
</tt></blockquote><pre style="margin: 0em;"><br>The holding structure is
[...]
org.apache.maven.project.MavenProject -&gt;
org.sonatype.aether.util.DefaultRepositorySystemSession -&gt;
org.sonatype.aether.graph.Dependency
</pre></blockquote><pre style="margin: 0em;"><br>Am I right to assume that the omitted part of the chain is</pre><br>
<pre style="margin: 0em;">MavenProject.projectBuilderConfiguration
-&gt; DefaultRepositorySystemSession.cache
?</pre><br>
<tt>If so, I suggest to have m2e reset/clear the cache once dependency 
resolution is done or otherwise use a size-restricted cache impl.</tt><br>
<br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Sorry, it's really chaotic. Let's have Dependecy A. Then:
project B: depends on A
project C: depends on B and A</pre><br>
<pre style="margin: 0em;">As result, Project C has dependency A twice: 1) direct dependency 2)
transitive dependency from B. When I remove the direct dependency, will
be resolution faster?
</pre></blockquote><tt><br>Potentially, it depends on whether the paths leading to A employ the 
same remote repositories, dependency management etc. If all factors that 
could affect the transitive dependencies of A are equal, the sub graph 
rooted at A is shared and not build again.</tt><br>
<br>
<tt>Note however, that removing a direct dependency when a project actually 
uses its code, is conceptually wrong. The better approach would rather 
be to exclude the transitive dependency if you really want to go down 
that path.</tt><br>
<br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Theoreticaly, when we minimize dependencyManagement section, will be
resolution faster?
</pre></blockquote><tt><br>Theoretically, yes. dependencyManagement translates into some HashMap's 
that get consulted for each dependency to see whether its version or 
scope are managed and the dependency object needs to get updated. 
However, whether this processing has actually significant contribution 
to your case or not is something I can't tell. From what you said 
earlier, it seems conflict resolution is the biggest CPU task.</tt><br>
<br>
<pre style="margin: 0em;"><br>Benjamin</pre><br>
]]></content:encoded>
		<pubDate>Thu, 19 Apr 2012 22:13:24 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00099.html</guid>
		<author>bentmann@xxxxxxx (Benjamin Bentmann)</author>
	</item>
	<item>
		<title>Re: [aether-users] performance: creation of DependencyNode, DefaultArtifact and Dependency</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00098.html</link>
		<description>Hi, thanks for your answer. Comments below. Benjamin Bentmann p&amp;#xC3;&amp;#xC5;e v &amp;#xC4;t 19. 04. 2012 v 01:04 +0200: The holding structure is (simplified)org.eclipse.osgi.framework.internal.core.Framework -&amp;gt; org.eclipse.m2e.core.internal.MavenPluginActivator -&amp;gt; org.eclipse...</description>
		<content:encoded><![CDATA[<pre>Hi, 

thanks for your answer. Comments below.

Benjamin Bentmann p&#xC3;&#xC5;e v &#xC4;t 19. 04. 2012 v 01:04 +0200:
&gt; Martin Koci wrote:
&gt; 
&gt; &gt; 1) creates  many instances of
&gt; &gt; org.sonatype.aether.util.artifact.DefaultArtifact: ~ 1 290 948 instances
&gt; &gt; org.sonatype.aether.graph.Dependency  ~ 1 283 202 instances
&gt; &gt; Those instances cannot be GCed, relations come from
&gt; &gt; org.apache.maven.MavenProject
&gt; 
&gt; Can you detail all chains of objects/fields holding the artifact instances?

The holding structure is
(simplified)org.eclipse.osgi.framework.internal.core.Framework -&gt;
org.eclipse.m2e.core.internal.MavenPluginActivator -&gt;
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager -&gt;
org.eclipse.m2e.core.internal.project.registry.ProjectRegistry.workspacePoms-&gt;
workspacePoms is Map&lt;IFile, MavenProjectFacade&gt; -&gt;
org.eclipse.m2e.core.internal.project.registry.MavenProjectFacade -&gt;
org.apache.maven.project.MavenProject -&gt;
org.sonatype.aether.util.DefaultRepositorySystemSession -&gt;
org.sonatype.aether.graph.Dependency 

&gt; Also, how many dependencies does your workspace have in total?
&gt; 
Hard to say, but many. How to count them? In workspace are many project
with 100 dependencies or more. The number of instances from aether can
be correct, the workspace and its dependecies is really big. I'm not
reporting a bug in aether, just asking ;)
&gt; &gt; The problem is that process takes too much time and consumes too much
&gt; &gt; memory.
&gt; 
&gt; What are the concrete numbers for &quot;too much&quot;?
in terms of time : It depends on CPU of the computer: update
dependencies takes 20min - 45 min; we  use already m2e with option &quot;do
not automatically contact remote repositories&quot; so (I hope) that process
does not include a communication over net. Yourkitprofiler shows the
method NearestVersionConflictResolver.selectVersion as hotspot.

In terms of memory: Dependency instances retain 591MB, DefaultArtifact
550MB, together with other plugins allocates eclipse over 1400MB in
heap.

&gt; 
&gt; &gt; B) Then: I noticed that when the same dependency is in &quot;client&quot; project
&gt; &gt; and also as a transitive dependency,  then is this DependencyNode
&gt; &gt; processed 2x: when I removed dependecies already present as transitive,
&gt; &gt; it improved performance a little bit.
&gt; &gt;
&gt; &gt; Question: Is this assumption correct? Is better to have use &quot;optimize&quot;
&gt; &gt; pom.xml in this way?
&gt; 
&gt; Even after reading this twice, I have no clue what this paragraph means. 
&gt; Can you re-phrase?
&gt; 
Sorry, it's really chaotic. Let's have Dependecy A. Then:
project B: depends on A
project C: depends on B and A

As result, Project C has dependency A twice: 1) direct dependency 2)
transitive dependency from B. When I remove the direct dependency, will
be resolution faster?

&gt; &gt; Question: are there any tips how to optimize pom.xml to avoid
&gt; &gt; unnecessary object created during dependency resolving?
&gt; 
&gt; No.
&gt; 
&gt; &gt; For example, creates section&lt;dependencyManagement&gt;  new instances from
&gt; &gt; aether domain? We have a big&lt;dependencyManagement&gt;   section in parent
&gt; &gt; (for all 600 project) pom.xml.
&gt; 
&gt; Of course, dependency management is relevant for dependency resolution 
&gt; so at some point manifests in corresponding objects to process it. Those 
&gt; should however only be temporary and not persist once dependency 
&gt; resolution is done.
&gt; 
Theoreticaly, when we minimize dependencyManagement section, will be
resolution faster?

Many thanks,

Martin

&gt; 
&gt; Benjamin
&gt; _______________________________________________
&gt; aether-users mailing list
&gt; aether-users@xxxxxxxxxxx
&gt; <a  href="http://dev.eclipse.org/mailman/listinfo/aether-users">http://dev.eclipse.org/mailman/listinfo/aether-users</a>



</pre>]]></content:encoded>
		<pubDate>Thu, 19 Apr 2012 10:48:16 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00098.html</guid>
		<author>martin.kocicak.koci@xxxxxxx (Martin Koci)</author>
	</item>


	<item>
		<title>Re: [aether-users] performance: creation of DependencyNode, DefaultArtifact and Dependency</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00097.html</link>
		<description>Can you detail all chains of objects/fields holding the artifact instances? Also, how many dependencies does your workspace have in total? What are the concrete numbers for &amp;quot;too much&amp;quot;? Even after reading this twice, I have no clue what this paragraph means...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Martin Koci wrote:</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">1) creates  many instances of
org.sonatype.aether.util.artifact.DefaultArtifact: ~ 1 290 948 instances
org.sonatype.aether.graph.Dependency  ~ 1 283 202 instances
Those instances cannot be GCed, relations come from
org.apache.maven.MavenProject
</pre></blockquote><pre style="margin: 0em;"><br>Can you detail all chains of objects/fields holding the artifact instances?</pre><br>
<pre style="margin: 0em;">Also, how many dependencies does your workspace have in total?</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">The problem is that process takes too much time and consumes too much
memory.
</pre></blockquote><pre style="margin: 0em;"><br>What are the concrete numbers for &quot;too much&quot;?</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">B) Then: I noticed that when the same dependency is in &quot;client&quot; project
and also as a transitive dependency,  then is this DependencyNode
processed 2x: when I removed dependecies already present as transitive,
it improved performance a little bit.</pre><br>
<pre style="margin: 0em;">Question: Is this assumption correct? Is better to have use &quot;optimize&quot;
pom.xml in this way?
</pre></blockquote><tt><br>Even after reading this twice, I have no clue what this paragraph means. 
Can you re-phrase?</tt><br>
<br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Question: are there any tips how to optimize pom.xml to avoid
unnecessary object created during dependency resolving?
</pre></blockquote><pre style="margin: 0em;"><br>No.</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">For example, creates section&lt;dependencyManagement&gt;  new instances from
aether domain? We have a big&lt;dependencyManagement&gt;   section in parent
(for all 600 project) pom.xml.
</pre></blockquote><tt><br>Of course, dependency management is relevant for dependency resolution 
so at some point manifests in corresponding objects to process it. Those 
should however only be temporary and not persist once dependency 
resolution is done.</tt><br>
<br>
<pre style="margin: 0em;"><br>Benjamin</pre><br>
]]></content:encoded>
		<pubDate>Wed, 18 Apr 2012 23:04:24 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00097.html</guid>
		<author>bentmann@xxxxxxx (Benjamin Bentmann)</author>
	</item>
	<item>
		<title>[aether-users] performance: creation of DependencyNode, DefaultArtifact and Dependency</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00096.html</link>
		<description>Hi, I'm solving performance problems with maven &amp;quot;update dependecies&amp;quot; process, mainly in Eclipse, but easy reproducible with maven from command line: enviroment: Eclipse with m2e, maven runtime 3.0.4 with latest aether from sonatype 1.13.1, about 600 projec...</description>
		<content:encoded><![CDATA[<pre>Hi,

I'm solving performance problems with maven &quot;update dependecies&quot;
process, mainly in Eclipse, but easy reproducible with maven from
command line:

enviroment: Eclipse with m2e, maven runtime 3.0.4 with latest aether
from sonatype 1.13.1, about 600 project in workspace (Question: is
anywhere maven updated to  aether form org.eclipse package?)

process update dependecies for whole workspace (after fresh eclipse
start) 

1) creates  many instances of 
org.sonatype.aether.util.artifact.DefaultArtifact: ~ 1 290 948 instances
org.sonatype.aether.graph.Dependency  ~ 1 283 202 instances
Those instances cannot be GCed, relations come from
org.apache.maven.MavenProject

2) invokes 1 mil. - 3mil method
org.sonatype.aether.util.graph.transformer.NearestVersionConflictResolver.selectVersion per one project, i.e . about 850 mil invocations pro whole workspace

The problem is that process takes too much time and consumes too much
memory.

A) First, I detected, that many instances of Dependency type are created
when too wide version range is used. I removed some unnecessary version
ranges - this helped a lot, but results are still slow.

B) Then: I noticed that when the same dependency is in &quot;client&quot; project
and also as a transitive dependency,  then is this DependencyNode
processed 2x: when I removed dependecies already present as transitive,
it improved performance a little bit. 

Question: Is this assumption correct? Is better to have use &quot;optimize&quot;
pom.xml in this way?

C) But I see still any instances of aether.* types in memory. This was
reported also in m2e mailing list as [1] and by me [2]

Question: are there any tips how to optimize pom.xml to avoid
unnecessary object created during dependency resolving?

For example, creates section &lt;dependencyManagement&gt; new instances from
aether domain? We have a big &lt;dependencyManagement&gt;  section in parent
(for all 600 project) pom.xml.

Many thanks,

Martin

[1] <a  href="http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02275.html">http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02275.html</a>
[2] <a  href="http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02459.html">http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02459.html</a>







</pre>]]></content:encoded>
		<pubDate>Wed, 18 Apr 2012 14:49:47 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00096.html</guid>
		<author>martin.kocicak.koci@xxxxxxx (Martin Koci)</author>
	</item>
	<item>
		<title>Re: [aether-users] Using a projects generated Jar as part of the resolution</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00095.html</link>
		<description>What you describe sounds similar to Maven's reactor resolution which is implemented via a WorkspaceReader [0] set on the RepositorySystemSession. Benjamin [0] http://download.eclipse.org/aether/aether-core/0.9.0-SNAPSHOT/apidocs/org/eclipse/aether/reposito...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Yes, this looks like exactly what I had in mind, thanks!</pre><br>
<tt>On 04/17/2012 06:02 PM, Benjamin Bentmann wrote:
</tt><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Is it possible to include a project's generated Jar on a local file
system as part of the Aether resolution? The project jar would have to
have precedence over the local and remote repositories.
</pre></blockquote><tt><br>What you describe sounds similar to Maven's reactor resolution which 
is implemented via a WorkspaceReader [0] set on the 
RepositorySystemSession.</tt><br>
<br>
<pre style="margin: 0em;"><br>Benjamin</pre><br>
<tt><br>[0] 
<a  href="http://download.eclipse.org/aether/aether-core/0.9.0-SNAPSHOT/apidocs/org/eclipse/aether/repository/WorkspaceReader.html">http://download.eclipse.org/aether/aether-core/0.9.0-SNAPSHOT/apidocs/org/eclipse/aether/repository/WorkspaceReader.html</a><br>
_______________________________________________<br>
aether-users mailing list<br>
aether-users@xxxxxxxxxxx<br>
<a  href="http://dev.eclipse.org/mailman/listinfo/aether-users">http://dev.eclipse.org/mailman/listinfo/aether-users</a>
</tt></blockquote><pre style="margin: 0em;"><br></pre><br>
]]></content:encoded>
		<pubDate>Wed, 18 Apr 2012 13:23:00 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00095.html</guid>
		<author>michael.guymon@xxxxxxx (Michael Guymon)</author>
	</item>


	<item>
		<title>Re: [aether-users] Using a projects generated Jar as part of the resolution</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00094.html</link>
		<description>What you describe sounds similar to Maven's reactor resolution which is implemented via a WorkspaceReader [0] set on the RepositorySystemSession. Benjamin [0] http://download.eclipse.org/aether/aether-core/0.9.0-SNAPSHOT/apidocs/org/eclipse/aether/reposito...</description>
		<content:encoded><![CDATA[<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Is it possible to include a project's generated Jar on a local file
system as part of the Aether resolution? The project jar would have to
have precedence over the local and remote repositories.
</pre></blockquote><tt><br>What you describe sounds similar to Maven's reactor resolution which is 
implemented via a WorkspaceReader [0] set on the RepositorySystemSession.</tt><br>
<br>
<pre style="margin: 0em;"><br>Benjamin</pre><br>
<tt><br>[0] 
<a  href="http://download.eclipse.org/aether/aether-core/0.9.0-SNAPSHOT/apidocs/org/eclipse/aether/repository/WorkspaceReader.html">http://download.eclipse.org/aether/aether-core/0.9.0-SNAPSHOT/apidocs/org/eclipse/aether/repository/WorkspaceReader.html</a></tt><br>
<br>
]]></content:encoded>
		<pubDate>Tue, 17 Apr 2012 22:02:29 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00094.html</guid>
		<author>bentmann@xxxxxxx (Benjamin Bentmann)</author>
	</item>
	<item>
		<title>[aether-users] Using a projects generated Jar as part of the	resolution</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00093.html</link>
		<description>Hello Aetherians, Is it possible to include a project's generated Jar on a local file system as part of the Aether resolution? The project jar would have to have precedence over the local and remote repositories. I started looking at SimpleLocalRepositoryM...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Hello Aetherians,</pre><br>
<tt>Is it possible to include a project's generated Jar on a local file 
system as part of the Aether resolution? The  project jar would have to 
have precedence over the local and remote repositories.</tt><br>
<br>
<tt>I started looking at SimpleLocalRepositoryManagerFactory and 
EnhancedLocalRepositoryManagerFactory with the thought that an Artifact 
could be registered to use the project jar vs standard resolution. I am 
having a bit of trouble reverse engineering the steps of execution and 
was hoping someone might have some insight and/or a better idea.</tt><br>
<br>
<pre style="margin: 0em;">Any help is greatly appreciated.</pre><br>
<pre style="margin: 0em;">thanks,
Michael</pre><br>
]]></content:encoded>
		<pubDate>Tue, 17 Apr 2012 20:38:08 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00093.html</guid>
		<author>michael.guymon@xxxxxxx (Michael Guymon)</author>
	</item>


	<item>
		<title>Re: [aether-users] MetadataResult.metaData.file as a means to convey available versions</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00092.html</link>
		<description>AFAIU, you have basically two options: You either rewrite all those components reading metadata to deal with your style of metadata or you have your repository system generate the usual metadata files on the fly. The latter case is the reason why repositor...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Carlo de Wolf wrote:</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Whenever a version range, RELEASE or LATEST is requested (either in the
pom or through fmvn rewriting the request),
RepositorySystem.resolveMetadata is called. Then other components
(DefaultVersionResolver, DefaultPluginVersionResolver etc) will try to
open the file returned and parse it to get the versions overview.</pre><br>
<pre style="margin: 0em;">Since JPP uses a different format it can't return any File which adheres
to maven-metadata.xml requirements.
</pre></blockquote><tt><br>AFAIU, you have basically two options: You either rewrite all those 
components reading metadata to deal with your style of metadata or you 
have your repository system generate the usual metadata files on the fly.</tt><br>
<br>
<tt>The latter case is the reason why repository connectors do not take URLs 
as input but artifacts/metadata. When the existing Maven components ask 
for for maven-metadata.xml which isn't already cached locally, a 
connector has the chance to either fetch the item as-is from its 
destination or generate it from other info.</tt><br>
<br>
<tt>And if neither a custom connnector nor your custom 
JPPLocalRepositoryManager fit your case, a custom MetadataResolver is 
another possibility to generate the metadata upon request.</tt><br>
<br>
<pre style="margin: 0em;"><br>Benjamin</pre><br>
]]></content:encoded>
		<pubDate>Mon, 26 Mar 2012 15:51:55 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00092.html</guid>
		<author>bentmann@xxxxxxx (Benjamin Bentmann)</author>
	</item>
	<item>
		<title>Re: [aether-users] MetadataResult.metaData.file as a means to convey available versions</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00091.html</link>
		<description>Why or what is the use case you are trying to solve? Fedora currently uses mvn-rpmbuild to build Maven based projects. mvn-rpmbuild is a modified Maven which in essence ignores version designations. It can only be run on a system which has a JPP repository...</description>
		<content:encoded><![CDATA[<tt>On 03/26/2012 04:43 PM, Benjamin Bentmann wrote:
</tt><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Carlo de Wolf wrote:</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><tt>I'm looking at creating an alternative RepositorySystem
</tt></blockquote><tt><br>Why or what is the use case you are trying to solve?
</tt></blockquote><tt><br>Fedora currently uses mvn-rpmbuild to build Maven based projects. 
mvn-rpmbuild is a modified Maven which in essence ignores version 
designations. It can only be run on a system which has a JPP repository 
and adheres to a different directory layout (so Fedora and some RPM 
based friends).</tt><br>
<br>
<tt>We want to change this, so Fedora has a true Maven repository which 
allows multiple versions installed. But at the same time we also don't 
want to ship each and every version of each and every component (/ The 
World), so for almost all components only the latest and greatest is 
installed.</tt><br>
<br>
<tt>This in term means that most poms won't be able to find the version they 
request. mvn-rpmbuild solves this by ignoring the version part, fmvn 
however rewrites the request to use LATEST and pushes it back into the 
Maven infrastructure. This in turn allows fmvn to be run on other 
platforms besides Fedora.
</tt><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><tt>I'm stuck at resolving a problem with returning metadata requests.
</tt></blockquote><tt><br>How exactly do those problems manifest themselves?
</tt></blockquote><tt><br>Whenever a version range, RELEASE or LATEST is requested (either in the 
pom or through fmvn rewriting the request), 
RepositorySystem.resolveMetadata is called. Then other components 
(DefaultVersionResolver, DefaultPluginVersionResolver etc) will try to 
open the file returned and parse it to get the versions overview.</tt><br>
<br>
<tt>Since JPP uses a different format it can't return any File which adheres 
to maven-metadata.xml requirements. Thus I have to return null, which 
ultimately leads to:<br>
[DEBUG] Could not find metadata 
org.apache.maven.plugins:maven-install-plugin/maven-metadata.xml in ...</tt><br>
<br>
<tt>Personally I think it is bad to use a File as a means to convey data. 
The contents is 'soft-typed' and it entails extra resources just for 
some piece of data, which might as well be in memory. In that light JPP 
is just an example, other repository systems which want to hook into 
Aether (if there are any) would suffer the same problem.</tt><br>
<br>
<pre style="margin: 0em;">Carlo</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">There is no such file in some cases, because the backing repository
system (JPP in my case) has a different format.
</pre></blockquote><tt><br>I have no clue what JPP is. In case this is relevant to your issue, I 
would appreciate if you could outline some of its specifics that are 
of importance here.</tt><br>
<br>
<tt>I also have no knowledge about Fedora. That's just to say I was not 
joking when I asked you to post here &quot;detailing your use case&quot;. Until 
I understand what you try to achieve and what is currently blocking 
you, I cannot give proper advice.</tt><br>
<br>
<pre style="margin: 0em;"><br>Benjamin
_______________________________________________
aether-users mailing list
aether-users@xxxxxxxxxxx
<a  href="http://dev.eclipse.org/mailman/listinfo/aether-users">http://dev.eclipse.org/mailman/listinfo/aether-users</a>
</pre></blockquote><pre style="margin: 0em;"><br></pre><br>
]]></content:encoded>
		<pubDate>Mon, 26 Mar 2012 15:11:56 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00091.html</guid>
		<author>cdewolf@xxxxxxx (Carlo de Wolf)</author>
	</item>
	<item>
		<title>Re: [aether-users] MetadataResult.metaData.file as a means to convey available versions</title>
		<link>http://dev.eclipse.org/mhonarc/lists/aether-users/msg00090.html</link>
		<description>Why or what is the use case you are trying to solve? How exactly do those problems manifest themselves? I have no clue what JPP is. In case this is relevant to your issue, I would appreciate if you could outline some of its specifics that are of importance...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Carlo de Wolf wrote:</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><tt>I'm looking at creating an alternative RepositorySystem
</tt></blockquote><pre style="margin: 0em;"><br>Why or what is the use case you are trying to solve?</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><tt>I'm stuck at resolving a problem with returning metadata requests.
</tt></blockquote><pre style="margin: 0em;"><br>How exactly do those problems manifest themselves?</pre><br>
<blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">There is no such file in some cases, because the backing repository
system (JPP in my case) has a different format.
</pre></blockquote><tt><br>I have no clue what JPP is. In case this is relevant to your issue, I 
would appreciate if you could outline some of its specifics that are of 
importance here.</tt><br>
<br>
<tt>I also have no knowledge about Fedora. That's just to say I was not 
joking when I asked you to post here &quot;detailing your use case&quot;. Until I 
understand what you try to achieve and what is currently blocking you, I 
cannot give proper advice.</tt><br>
<br>
<pre style="margin: 0em;"><br>Benjamin</pre><br>
]]></content:encoded>
		<pubDate>Mon, 26 Mar 2012 14:43:52 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/aether-users/msg00090.html</guid>
		<author>bentmann@xxxxxxx (Benjamin Bentmann)</author>
	</item>

 
	</channel>
	</rss>
<!-- MHonArc v2.6.10 -->

