On 07/21/2013 07:28 AM, David Walluck wrote:
On 07/18/2013 02:24 AM, Aleksandar Kurtakov wrote:
> ----- Original Message -----
>> Maven 3.1.0 switched from Sonatype Aether to Eclipse Aether and from
>> Sonatype Sisu to Eclipse Sisu. Plugins that directly depend on Aether
>> or Sisu may no longer work with Maven 3.1.0. Upstream lists [2] some
>> plugins that were or need to be updated to work with Maven 3.1.0.
The actual packaging of eclipse-aether itself is easy. I have already
done this internally about two months ago in order to build
maven-dependency-tree and all the last maven plugins.
I have already done that too. The results are in Fedora git,
experimental branch. Eclipse Aether is not yet in rawhide, but that is
planned soon.
If you're worried about the list for here,
<
http://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound>,
I don't think that most of these have an actual dependency on
eclipse-aether. I would just try to build these first, if you haven't
already.
I think that older versions of these plugins depend on Sonatype Aether,
while the latest versions use Eclipse Aether. Updating them should be
fairly easy.
These upgrades are not circular upstream and don't depend on
eclipse-aether. It's not as if eclipse-aether is an actual drop in
replacement for aether. I am not sure I follow you as to why you just
wait for upstream on this.
Anyway, after writing all this, I think I understand why you called it
circular if you are actually trying to get rid of sonatype at the same
time you do the upgrades.
Exactly. I can't just update aether package from Sonatype to Eclipse --
two aether versions are needed at the same time. To build Maven 3.1.0
you need Maven 3.0.5, which uses Sonatype Aether, and Eclipse Aether,
which is a direct dependency of Maven.
And strictly speaking there are build-dependency cycles -- maven
requires itself, maven requires aether, aether requires maven. There
are others too, involving plugins affected by Macvn 3.1.0 update. For
example maven requires maven-dependency-plugin, which requires maven.
>> This is fairly complicated process as there are circular package
>> dependencies because of which several packages need to be updated at the
>> same time. I will ask release engineering to create a dedicated Koji
>> tag in order not to break rawhide during the process.
Certainly the new dependencies on tycho are other eclipse things are
absolutely awful. It's even more ironic that maven 3.1.0 has a
dependency on tycho when you have bug #985678 which claims that it does
not even work with it.
I don't think Maven has dependency on Tycho. I would certainly hope it
doesn't.
Bug #985678 is about Tycho not working with Maven 3.1.0. Maven broke
it's internal API in 3.1.0 as some methods started using
org.eclipse.aether.* classes instead of org.sonatype.aether.* and I
believe that's the reason for Maven extensions, like Tycho or XMvn, not
working with 3.1.0.
The components sisu-inject and sisu-plexus are really a pain and some
use the type eclipse-plugin, which requires what component exactly (i
can't recall right now)? I wonder if it can be switched back to jar and
still work.
I didn't know that, but what would indeed be a very bad thing as it
means that in order to build Maven (with all dependencies) you would
need to have full Eclipse, which currently starts using Maven to build.
One other thing to note: they can't seem to agree on which guice
to use.
There are dependencies on both google-guice and sisu-guice from sonatype.
Where is Google Guice used? I guess at Eclipse side only. Maven used
Sisu Guice since I remember.
--
Mikolaj Izdebski
Software Engineer, Red Hat
IRC: mizdebsk