GitHub user achim86 opened a pull request:
https://github.com/apache/karaf/pull/52
Update Mojos to resolve artifacts via Aether
According to my Question on the [Mailing
List](http://karaf.922171.n3.nabble.com/Question-about-artifact-resolving-in-karaf-maven-plugin-td4036242.html)
I updated the remaining goals to use Aether resolution.
I have two remarks on the changes.
1. In general there were two ways how artifacts could be resolved. Either
via the provided project repositories (default case) or via a repository which
is dedicated to the artifact (if not null). The currently provided interface
for resolving artifacts via Aether
(`org.apache.karaf.tooling.features.DependencyHelper`) does not provide any way
to edit the repositories which are used to resolve artifacts. The resolver
always takes the project repositories which are defined as read only. First I
thought the right way would be to extend the interface to take a List of
repositories to resolve artifacts against. This would allow me to pass the
artifact's repository to the resolver. When trying to test my changes I did not
find any use case when such an artifact repository is used instead of the
project repositories. In the [git
history](http://svn.apache.org/viewvc?view=revision&revision=826783) I found
that this functionality was introduced in 2009 when the Plugin was part of
Felix. B
undle URI must have looked like `<repo>!<dependency>`. I am not sure whether
this is relevant any longer. I first made the decision to take back the changes
from the interface and remove the functionality to resolve artifacts using
their dedicated repository.
2. I insufficiently tested Goal
[features-validate-descriptor](http://karaf.apache.org/manual/latest/developers-guide/karaf-maven-plugin-features-validate-descriptor.html)
as linked features can not be resolved. This is a major problem as Karaf
Standard and Enterprise features are added to the validation by default (the
same applies for 4.0.0.M1).
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/achim86/karaf master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/karaf/pull/52.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #52
----
commit daef6dce7396c36800ce4d4e38e6ab74c69b0a8f
Author: Achim Finke <[email protected]>
Date: 2014-11-05T13:06:58Z
Use Aether (DependencyHelper Interface) to resolve Maven artifacts instead
of Maven Resolver.
commit 3f607686189c82306035ccbbd589c9bd17a31b81
Author: Achim Finke <[email protected]>
Date: 2014-11-05T20:23:30Z
Added artifact specific repository support.
commit b8dbc9bc55ce0db059ad59fc740666c25da2de45
Author: Achim Finke <[email protected]>
Date: 2014-11-06T11:30:31Z
Improved artifact specific repository support.
commit 412a475ba02c85cd482e415eb887c3dd69a8e05b
Author: Achim Finke <[email protected]>
Date: 2014-11-06T12:28:42Z
Removed artifact specific repository support.
commit 174b951aeb09f36df5e84f9a348297c62443a18f
Author: Achim Finke <[email protected]>
Date: 2014-11-06T14:40:38Z
Cleaned up.
commit 8d4a35593caf66353880e7f6c152180dd91e8d51
Author: Achim Finke <[email protected]>
Date: 2014-11-06T14:42:56Z
Cleaned up.
commit c003629191111b9cf6fe3ed905d2e87f1874b526
Author: Achim Finke <[email protected]>
Date: 2014-11-06T14:45:08Z
Cleaned up.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---