[izpack-devel] mutually exclusive packs
Klaus.Bartz at coi.de
Tue Nov 14 13:29:30 CET 2006
I think both possitions are possible. If I have no
docu, I assume a behavior like I would implement it.
Rest context related.
You know, we have some features where the documentation is not
optimal. I think we should not do it at new features.
>From: izpack-devel-bounces at lists.berlios.de
>[mailto:izpack-devel-bounces at lists.berlios.de]On Behalf Of Vladimir
>Sent: Monday, November 13, 2006 7:18 PM
>To: izpack-devel at lists.berlios.de
>Subject: Re: [izpack-devel] mutually exclusive packs
>The user should simply be advised to do:
>pack1 excludes (pack2 and pack3)
>pack2 excludes (pack3 and pack1)
>pack3 excludes (pack1 and pack2)
That's the problem with the docu... You know it because you have
implement it and I will show into the sources if I get a problem.
But many user do not like the hint "the sources are the best
Therefore my request for a docu from the developer.
>I think the problem with your "shortcut"-syntax is that the graph may
>contain many cycles like:
>pack1 excludes (pack2 and pack4)
>pack2 excludes pack3
>pack3 excludes pack1
>pack4 excludes pack3
>or even worse...
>Of course I can implement transitive exclusion (like the
>transitive dependencies) - if (pack1 excludes pack2) AND
>(pack2 excludes pack3) THEN (pack1 excludes (pack2 and pack3)).
>In this case however I will disallow *any* cycles in the exclusion
>graph, because the recursion will go forever. I personally think that
>the exclusions are better without transitive traversal, but if
>something else I will do it.
>Another useful syntactical shortcut would be to implicitly create the
>symmetric exclude - if (pack1 excludes pack2) THEN automatically do
>(pack2 excludes pack1), but this breaks the declarative symmetry?
I tend to support implicit symmetry.
May be it breaks the declarative symmetry, but it suppress an
selection of pack2 deselects pack1 but selection of pack1 do not
>PS. I found a bug in the code I sent you (packs with no
>cause exceptions), I will be making more changes too.
Nice. Additional if you declare a nonexistent pack as excludes a
null pointer exception raises in the installer. May be a verification
at compile time will be better.
> I am waiting for your comments and will send the final code soon.
>Bartz, Klaus wrote:
>> Hi Vladimir,
>> today I have tested a little bit.
>> If the exclusion will be declared as full cross references
>> it works fine.
>> But what should be happen with
>> pack1 excludes pack2
>> pack2 excludes pack3
>> pack3 excludes pack1
>> If I select first pack1 and then pack2 both are selected.
>> If I select first pack2 and then pack1 only pack1 is selected.
>> Not a real szenario? May be, but I am certain that someone
>> does it in the future and calls why this not work as he/she assumed.
>> Therefore we should clear this in front.
>> I tend to say that an implicit backward exclusion should be
>> performed; means
>> If I selct first pack1 and then pack2 only pack2 is selected.
>> If I selct first pack2 and then pack1 only pack1 is selected.
>> What is your meaning, what say the others?
>izpack-devel mailing list
>izpack-devel at lists.berlios.de
More information about the izpack-devel