Hi John

I can't see a record of you submitting a signed CLA: if you haven't done so
can you please submit as per
https://github.com/gradle/gradle/blob/master/CONTRIBUTING.md.
If you have done so, just let us know and we'll follow up on it.

Thanks
Daz


On Fri, Aug 30, 2013 at 4:26 PM, johnrengelman <john.r.engel...@gmail.com>wrote:

>  Just issued Pull Request #187 - https://github.com/gradle/gradle/pull/187
> Included tests for pom packaging, snapshots, non-unique snapshots, and
> normal artifacts.
>
> --
> John Engelman
>
> On Thursday, August 29, 2013 at 11:07 PM, John Engelman wrote:
>
>  Great. I have the resolver part worked out, just writing some tests
> around it. Using the extra information in the ModuleVersionMetaData will be
> very helpful.
>
> --
> John Engelman
>
> On Thursday, August 29, 2013 at 11:05 PM, Adam Murdoch [via Gradle] wrote:
>
>
> On 30/08/2013, at 7:38 AM, Adam Murdoch <[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=5711777&i=0>>
> wrote:
>
>
> On 30/08/2013, at 6:39 AM, johnrengelman <[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=5711777&i=1>>
> wrote:
>
> I've gone back to the drawing board and came up with a simpler solution
> where
> in ExternalResourceResolver
> I check for any artifact existing and then only mark the artifact as
> resolved by that repository if one is found.
>
>
> We want to behave differently in this case for the Maven cache compared to
> arbitrary repository. It's expected in the Maven cache for an artefact to
> be missing, but it means a badly formed module everywhere else.
>
> I think we want something like this:
>
> 1. If we find a pom and no artifact in the Maven cache
> * If we can find the module in some other repository, silently ignore the
> stuff in the Maven cache and use the module from the other repository.
> * If we cannot find the module in some other repository, fail with an
> 'artefact missing' exception.
> 2. If we find a pom and no artefact in some repository, fail with an
> 'artefact missing' exception.
>
> Or, perhaps it might be nicer in #2 if we warn instead of fail when we can
> find the module in another repository.
>
> Regardless of exactly what we do here, it's not the resolvers
> responsibility to decide whether to fail or continue the search. Instead,
> it should just communicate what it found, so that `UserResolverChain`,
> which is coordinating the search, can take care of stopping or continuing
> or whatever. To do this, we might add some new states to
> `BuildableModuleVersionMetaDataResolveResult`, so that the resolver can let
> the search algorithm know that it found a badly formed or partial module.
>
>
>
> The problem I'm having is handling POM dependencies. There doesn't seem to
> be enough information passed in the Module Descriptor to know if the
> dependency that is currently being resolved has POM packaging.
>
> I tried one work around by looking at the ResolvedArtifact for the module
> descriptor and if it ends in ".pom" using the PomReader to parse it and get
> the packaging. That worked, but then I ran into issues with some
> integration
> tests where the the artifact packaging and classifiers didn't match
>
> (ArtifactDependenciesIntegrationTests.canUseClassifiersCombinedWithArtifactWithNonStandardPackaging).
> It appears that it was relying on the fact that the artifacts aren't
> checked
> before attempting resolution.
>
>
> I would change the `ModuleDescriptorParser` implementations to return a
> `MutableModuleVersionMetaData` instead of `ModuleDescriptor` (this is the
> plan anyway).
>
>
> I ended up making this change. So now we can add stuff to
> ModuleVersionMetaData to describe something about whether we expect the
> module to have artefacts or not.
>
>
> --
> Adam Murdoch
> Gradle Co-founder
> http://www.gradle.org
> VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
> http://www.gradleware.com
>
> Join us at the Gradle eXchange 2013, Oct 28th in London, UK:
> http://skillsmatter.com/event/java-jee/gradle-exchange-2013
>
>
>
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://gradle.1045684.n5.nabble.com/Maven-local-issues-tp5711584p5711777.html
>  To start a new topic under gradle-dev, email [hidden 
> email]<http://user/SendEmail.jtp?type=node&node=5711780&i=0>
> To unsubscribe from gradle-dev, click here.
> NAML<http://gradle.1045684.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
>
>
>
> ------------------------------
> View this message in context: Re: Maven local 
> issues.<http://gradle.1045684.n5.nabble.com/Maven-local-issues-tp5711584p5711780.html>
>
> Sent from the gradle-dev mailing list 
> archive<http://gradle.1045684.n5.nabble.com/gradle-dev-f1436218.html>at 
> Nabble.com.
>

Reply via email to