Hi,

On Thu, Jun 26, 2014 at 2:34 PM, Mark Derricutt <m...@talios.com> wrote:

> In last weeks dev hangout I raised the idea of removing <repository>
> elements due to some issues with them regarding mirrors etc which was
> somewhat negatively received, however I've been thinking about this a bit
> and came up with an interesting idea earlier in the night whilst at a gig.
>
> One of the problems I'm often seeing is that:
>
> 1) a project uploads their artefact to a repository ( mostly maven central
> )
> 2) 90% of their dependencies are available from the repository in question
> 3) 1 critical dependency is not - which ultimately means you can't
> build......if you have a mirror setup
>
> (usually because you've not noticed a <repository> declaration which you
> need to configure in your nexus/arifactory/archiva etc. )
>
> The idea I had is three fold:
>
> 1) Fallback on original repository when a mirror doesn't resolve
>
> When maven is checking for a repository for an artefact, and using a
> mirror - if that artefact can't be found, maven should retry using the
> original repository directly with builds warnings.
>


Don't forget here that some companies will want to enforce (for various
reasons) to use specific repository and only it.


>
> 2) Deploy transitive runtime dependencies along with your release
>
> We currently have the <distributionManagement> section of a pom declaring
> the deploy repository. If we added a new `deploy-dependencies` goal to some
> plugin and updated maven-release-plugin with a this in its default
> deployment goals, I think some magical things could happen:
>
>   - Find the _runtime_ dependency tree of your project
>   - Check which artefacts don't exist on the deployment repo
>   - Deploy those artefacts out to the repository - essentially an implicit
> mirroring your dependencies.
>
> At the same time, modify the POM reader to add the repository defined in
> `<distributionManagement>` as a `<repository>` for discovering dependencies.
>


My main concern with current POM entries about repositories is that we are
hardcoding some information that may change in the future ( the repo moved,
sources moved ...). Thus depending for what you are looking at an old POM
it may be a problem or not.



>
> Any thoughts on this? Since it's now 12:32am, _hopefully_ I'll be awake in
> time to join the discussion tomorrow to raise this idea.
>
> Cheers,
> Mark
>


cheers

-- 
-----
Arnaud Héritier
http://aheritier.net
Mail/GTalk: aheritier AT gmail DOT com
Twitter/Skype : aheritier

Reply via email to