I still think the best way to resolve things if you should encounter 
problems, is to notify the maintainers. Most people in this community 
respond surprisingly fast =)

There is some automated testing going on already, mainly thanks to [Iain 
Dunning](https://github.com/IainNZ)'s amazing work with PackageEvaluator 
and related tools. For example, if you click "more options" on 
pkg.julialang.org and then "Show package ecosystem statistics for Julia 
nightly...", you'll see some great data showing the current (and past) 
state of the entire ecosystem. You'll notice a few dips in the green curve, 
when changes somewhere suddenly broke a lot of stuff everywhere - and 
you'll also see that most of it was resolved in a matter of a few days. 
This happened because semi-automated issues were filed by the system 
against the packages when they broke, and maintainers were quick to fix 
whatever they needed.

In the case of your problems - someone tagging a version without specifying 
a correct dependency - that will also be picked up by PkgEval, and the 
maintainer will be notified. However, since PkgEval only runs every now and 
then, and since quite a lot of users today "live on the edge" (and actively 
report issues when they find them) it's not uncommon that problems like 
this are picked up by users before PkgEval notices them. It's very likely 
that, as the ecosystem matures and stabilizes, this problem won't be a 
problem anymore...

// T

On Tuesday, July 22, 2014 11:47:32 AM UTC+2, Andreas Lobinger wrote:
>
> Hello colleagues,
>
> On Monday, July 21, 2014 4:53:17 PM UTC+2, Tomas Lycken wrote:
>>
>> I think this problem must be resolved by better practices among package 
>> maintainers: in short, the goal must be that as long as you only use (the 
>> latest) tagged versions of any packages, everything should Just Work (TM). 
>> That means, in short, that if a package maintainer adds functionality that 
>> depends on some specific addition to a different package, it is up to that 
>> package maintainer to make sure *not* to tag a new version until the 
>> dependency package has tagged one, in which the new behavior is included, 
>> so the dependency can be correctly specified.
>>
>>>
>>>
> ... in an ideal world. All that we use around julia has a version number 
> less than 1.0 so hiccups are expected (at least by me). The question was 
> rather how i can help myself and if there is some undocumented work 
> assumption. If i ever publish a package i'll try hard to follow your advice.
>
> This interdependency things showed up also in the great julia-graphics 
> thread on julia-dev. Maybe some automatic testing could help? Maybe some 
> dependency graph could be extracted out of the METADATA?
>
> Wishing a happy day,
>    
>

Reply via email to