Breaking up ToolBuilder

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Breaking up ToolBuilder

Frank Shearar-3
I noticed this morning that every package that uses ToolBuilder has a
transitive dependency on both Morphic and MVC (in the form of the ST80
package). This is caused by MorphicToolBuilder and MVCToolBuilder.

I suggest either rename 'ToolBuilder-Morphic' to 'Morphic-ToolBuilder'
and 'ToolBuilder-MVC' to 'ST80-ToolBuilder' (or'MVC-ToolBuilder').
This would move Morphic-specific stuff where it belongs, and ditto for
MVC.

frank

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Frank Shearar-3
On 23 May 2013 18:47, Frank Shearar <[hidden email]> wrote:
> I noticed this morning that every package that uses ToolBuilder has a
> transitive dependency on both Morphic and MVC (in the form of the ST80
> package). This is caused by MorphicToolBuilder and MVCToolBuilder.
>
> I suggest either rename 'ToolBuilder-Morphic' to 'Morphic-ToolBuilder'
> and 'ToolBuilder-MVC' to 'ST80-ToolBuilder' (or'MVC-ToolBuilder').
> This would move Morphic-specific stuff where it belongs, and ditto for
> MVC.

So I tried renaming the packages. It's fine, it works. I just don't
know how to actually commit that to Trunk. Ideas?

frank

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Bert Freudenberg

On 2013-05-30, at 23:40, Frank Shearar <[hidden email]> wrote:

> On 23 May 2013 18:47, Frank Shearar <[hidden email]> wrote:
>> I noticed this morning that every package that uses ToolBuilder has a
>> transitive dependency on both Morphic and MVC (in the form of the ST80
>> package). This is caused by MorphicToolBuilder and MVCToolBuilder.
>>
>> I suggest either rename 'ToolBuilder-Morphic' to 'Morphic-ToolBuilder'
>> and 'ToolBuilder-MVC' to 'ST80-ToolBuilder' (or'MVC-ToolBuilder').
>> This would move Morphic-specific stuff where it belongs, and ditto for
>> MVC.
>
> So I tried renaming the packages. It's fine, it works. I just don't
> know how to actually commit that to Trunk. Ideas?


What's the issue? Isn't it simply that some classes moved from Toolbuilder to Morphic, and some from Toolbuilder to ST80? So if you commit all three packages it should just work?

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Frank Shearar-3
On 31 May 2013 00:02, Bert Freudenberg <[hidden email]> wrote:

>
> On 2013-05-30, at 23:40, Frank Shearar <[hidden email]> wrote:
>
>> On 23 May 2013 18:47, Frank Shearar <[hidden email]> wrote:
>>> I noticed this morning that every package that uses ToolBuilder has a
>>> transitive dependency on both Morphic and MVC (in the form of the ST80
>>> package). This is caused by MorphicToolBuilder and MVCToolBuilder.
>>>
>>> I suggest either rename 'ToolBuilder-Morphic' to 'Morphic-ToolBuilder'
>>> and 'ToolBuilder-MVC' to 'ST80-ToolBuilder' (or'MVC-ToolBuilder').
>>> This would move Morphic-specific stuff where it belongs, and ditto for
>>> MVC.
>>
>> So I tried renaming the packages. It's fine, it works. I just don't
>> know how to actually commit that to Trunk. Ideas?
>
>
> What's the issue? Isn't it simply that some classes moved from Toolbuilder to Morphic, and some from Toolbuilder to ST80? So if you commit all three packages it should just work?

I opted to move ToolBuilder-Morphic to MorphicToolBuilder to maintain
_some_ degree of separation. It might be a fool's errand, given that
loads of Morphic things reference UIManager and so already have a
direct dependency on ToolBuilder.

Assuming that this move is good (as in, better than
ToolBuilder-Morphic -> Morphic-ToolBuilder, putting these classes in
the Morphic package), I guess my newbie senses are tingling. This
change guts 3 packages and adds 3 new ones. But I guess all I need to
do - this is the part I'd like some reassurance with - is:
* upload everything to trunk,
* publish a config map with the new packages before ToolBuilder,
* LEAVE the ToolBuilder-${NowEmpty} packages in the map,
* (much later, maybe in the 4.5 windup) publish a new config map with
the ToolBuilder-${NowEmpty} packages removed.

frank

> - Bert -

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Hannes Hirzel
In reply to this post by Frank Shearar-3
On 5/23/13, Frank Shearar <[hidden email]> wrote:
> I noticed this morning that every package that uses ToolBuilder has a
> transitive dependency on both Morphic and MVC (in the form of the ST80
> package). This is caused by MorphicToolBuilder and MVCToolBuilder.
>
> I suggest either rename 'ToolBuilder-Morphic' to 'Morphic-ToolBuilder'
> and 'ToolBuilder-MVC' to 'ST80-ToolBuilder' (or'MVC-ToolBuilder').
> This would move Morphic-specific stuff where it belongs, and ditto for
> MVC.

+1

> frank
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Bert Freudenberg
In reply to this post by Frank Shearar-3

On 2013-05-31, at 10:39, Frank Shearar <[hidden email]> wrote:

> On 31 May 2013 00:02, Bert Freudenberg <[hidden email]> wrote:
>>
>> On 2013-05-30, at 23:40, Frank Shearar <[hidden email]> wrote:
>>
>>> On 23 May 2013 18:47, Frank Shearar <[hidden email]> wrote:
>>>> I noticed this morning that every package that uses ToolBuilder has a
>>>> transitive dependency on both Morphic and MVC (in the form of the ST80
>>>> package). This is caused by MorphicToolBuilder and MVCToolBuilder.
>>>>
>>>> I suggest either rename 'ToolBuilder-Morphic' to 'Morphic-ToolBuilder'
>>>> and 'ToolBuilder-MVC' to 'ST80-ToolBuilder' (or'MVC-ToolBuilder').
>>>> This would move Morphic-specific stuff where it belongs, and ditto for
>>>> MVC.
>>>
>>> So I tried renaming the packages. It's fine, it works. I just don't
>>> know how to actually commit that to Trunk. Ideas?
>>
>>
>> What's the issue? Isn't it simply that some classes moved from Toolbuilder to Morphic, and some from Toolbuilder to ST80? So if you commit all three packages it should just work?
>
> I opted to move ToolBuilder-Morphic to MorphicToolBuilder to maintain
> _some_ degree of separation.

I don't feel that's necessary. It could just be part of Morphic.

> It might be a fool's errand, given that
> loads of Morphic things reference UIManager and so already have a
> direct dependency on ToolBuilder.
>
> Assuming that this move is good (as in, better than
> ToolBuilder-Morphic -> Morphic-ToolBuilder, putting these classes in
> the Morphic package), I guess my newbie senses are tingling. This
> change guts 3 packages and adds 3 new ones. But I guess all I need to
> do - this is the part I'd like some reassurance with - is:
> * upload everything to trunk,
> * publish a config map with the new packages before ToolBuilder,
> * LEAVE the ToolBuilder-${NowEmpty} packages in the map,
> * (much later, maybe in the 4.5 windup) publish a new config map with
> the ToolBuilder-${NowEmpty} packages removed.


Ah, I mistakenly thought ToolBuilder was a single package. So except for making up new packages this sounds right.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Frank Shearar-3
On 31 May 2013 12:16, Bert Freudenberg <[hidden email]> wrote:

>
> On 2013-05-31, at 10:39, Frank Shearar <[hidden email]> wrote:
>
>> On 31 May 2013 00:02, Bert Freudenberg <[hidden email]> wrote:
>>>
>>> On 2013-05-30, at 23:40, Frank Shearar <[hidden email]> wrote:
>>>
>>>> On 23 May 2013 18:47, Frank Shearar <[hidden email]> wrote:
>>>>> I noticed this morning that every package that uses ToolBuilder has a
>>>>> transitive dependency on both Morphic and MVC (in the form of the ST80
>>>>> package). This is caused by MorphicToolBuilder and MVCToolBuilder.
>>>>>
>>>>> I suggest either rename 'ToolBuilder-Morphic' to 'Morphic-ToolBuilder'
>>>>> and 'ToolBuilder-MVC' to 'ST80-ToolBuilder' (or'MVC-ToolBuilder').
>>>>> This would move Morphic-specific stuff where it belongs, and ditto for
>>>>> MVC.
>>>>
>>>> So I tried renaming the packages. It's fine, it works. I just don't
>>>> know how to actually commit that to Trunk. Ideas?
>>>
>>>
>>> What's the issue? Isn't it simply that some classes moved from Toolbuilder to Morphic, and some from Toolbuilder to ST80? So if you commit all three packages it should just work?
>>
>> I opted to move ToolBuilder-Morphic to MorphicToolBuilder to maintain
>> _some_ degree of separation.
>
> I don't feel that's necessary. It could just be part of Morphic.
>
>> It might be a fool's errand, given that
>> loads of Morphic things reference UIManager and so already have a
>> direct dependency on ToolBuilder.
>>
>> Assuming that this move is good (as in, better than
>> ToolBuilder-Morphic -> Morphic-ToolBuilder, putting these classes in
>> the Morphic package), I guess my newbie senses are tingling. This
>> change guts 3 packages and adds 3 new ones. But I guess all I need to
>> do - this is the part I'd like some reassurance with - is:
>> * upload everything to trunk,
>> * publish a config map with the new packages before ToolBuilder,
>> * LEAVE the ToolBuilder-${NowEmpty} packages in the map,
>> * (much later, maybe in the 4.5 windup) publish a new config map with
>> the ToolBuilder-${NowEmpty} packages removed.
>
>
> Ah, I mistakenly thought ToolBuilder was a single package. So except for making up new packages this sounds right.

Right. Handily, the config map already loads SUnitGUI, Morphic and
ST80 before the ToolBuilder-* packages, so I don't need to do anything
(other than note the eventual removal of these packages).

frank

> - Bert -
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Frank Shearar-3
On 31 May 2013 16:05, Frank Shearar <[hidden email]> wrote:

> On 31 May 2013 12:16, Bert Freudenberg <[hidden email]> wrote:
>>
>> On 2013-05-31, at 10:39, Frank Shearar <[hidden email]> wrote:
>>
>>> On 31 May 2013 00:02, Bert Freudenberg <[hidden email]> wrote:
>>>>
>>>> On 2013-05-30, at 23:40, Frank Shearar <[hidden email]> wrote:
>>>>
>>>>> On 23 May 2013 18:47, Frank Shearar <[hidden email]> wrote:
>>>>>> I noticed this morning that every package that uses ToolBuilder has a
>>>>>> transitive dependency on both Morphic and MVC (in the form of the ST80
>>>>>> package). This is caused by MorphicToolBuilder and MVCToolBuilder.
>>>>>>
>>>>>> I suggest either rename 'ToolBuilder-Morphic' to 'Morphic-ToolBuilder'
>>>>>> and 'ToolBuilder-MVC' to 'ST80-ToolBuilder' (or'MVC-ToolBuilder').
>>>>>> This would move Morphic-specific stuff where it belongs, and ditto for
>>>>>> MVC.
>>>>>
>>>>> So I tried renaming the packages. It's fine, it works. I just don't
>>>>> know how to actually commit that to Trunk. Ideas?
>>>>
>>>>
>>>> What's the issue? Isn't it simply that some classes moved from Toolbuilder to Morphic, and some from Toolbuilder to ST80? So if you commit all three packages it should just work?
>>>
>>> I opted to move ToolBuilder-Morphic to MorphicToolBuilder to maintain
>>> _some_ degree of separation.
>>
>> I don't feel that's necessary. It could just be part of Morphic.
>>
>>> It might be a fool's errand, given that
>>> loads of Morphic things reference UIManager and so already have a
>>> direct dependency on ToolBuilder.
>>>
>>> Assuming that this move is good (as in, better than
>>> ToolBuilder-Morphic -> Morphic-ToolBuilder, putting these classes in
>>> the Morphic package), I guess my newbie senses are tingling. This
>>> change guts 3 packages and adds 3 new ones. But I guess all I need to
>>> do - this is the part I'd like some reassurance with - is:
>>> * upload everything to trunk,
>>> * publish a config map with the new packages before ToolBuilder,
>>> * LEAVE the ToolBuilder-${NowEmpty} packages in the map,
>>> * (much later, maybe in the 4.5 windup) publish a new config map with
>>> the ToolBuilder-${NowEmpty} packages removed.
>>
>>
>> Ah, I mistakenly thought ToolBuilder was a single package. So except for making up new packages this sounds right.
>
> Right. Handily, the config map already loads SUnitGUI, Morphic and
> ST80 before the ToolBuilder-* packages, so I don't need to do anything
> (other than note the eventual removal of these packages).

Er. Or do I? One of my images broke _somehow_ (as in I don't remember
the actions prior to the breakage) with an emergency evaluator talking
about AnObsoleteMorphicUIManager not defining something or other. I
might not need to change the _order_ in the map, but perhaps I need to
push the updated _versions_ of things?

Sorry for being so dense where the config maps are concerned.

frank

> frank
>
>> - Bert -
>>
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

marcel.taeumel
Hi, there.

I know this discussion is about 3 years old. I just stumbled upon this dependency discussion.

But what about

"ToolBuilder-Morphic" -> "Morphic-ToolBuilder" or "MorphicToolBuilder"
"ToolBuilder-MVC" -> "ST80-ToolBuilder" or "ST80ToolBuilder"

?

Right now we have 4 tool builder packages in trunk: "ToolBuilder-Kernel", "ToolBuilder-MVC", "ToolBuilder-SUnit", "ToolBuilder-Tests". Then, it is always kind of dangerous to have packages with a dash inside. Mixes up with system categories too easily. And the "prefix package" (i.e. "ToolBuilder") would commit everything again. We need to be careful.

Better examples include: "CollectionsTests", "MorphicExtras", "VersionNumberTests", "KernelTests".

Best,
Marcel
Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Chris Muller-3
ToolBuilder-SUnit AND ToolBuilder-Tests?  Yikes, I just looked and it
appears we only have one version of ToolBuilder-Tests and it was
committed by... me??  I don't know why I would have done that.
Perhaps it should be merged into ToolBuilder-SUnit.

On Tue, Feb 16, 2016 at 6:32 AM, marcel.taeumel <[hidden email]> wrote:

> Hi, there.
>
> I know this discussion is about 3 years old. I just stumbled upon this
> dependency discussion.
>
> But what about
>
> "ToolBuilder-Morphic" -> "Morphic-ToolBuilder" or "MorphicToolBuilder"
> "ToolBuilder-MVC" -> "ST80-ToolBuilder" or "ST80ToolBuilder"
>
> ?
>
> Right now we have 4 tool builder packages in trunk: "ToolBuilder-Kernel",
> "ToolBuilder-MVC", "ToolBuilder-SUnit", "ToolBuilder-Tests". Then, it is
> always kind of dangerous to have packages with a dash inside. Mixes up with
> system categories too easily. And the "prefix package" (i.e. "ToolBuilder")
> would commit everything again. We need to be careful.
>
> Better examples include: "CollectionsTests", "MorphicExtras",
> "VersionNumberTests", "KernelTests".
>
> Best,
> Marcel
>
>
>
> --
> View this message in context: http://forum.world.st/Breaking-up-ToolBuilder-tp4689489p4877865.html
> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Tobias Pape

On 16.02.2016, at 19:56, Chris Muller <[hidden email]> wrote:

> ToolBuilder-SUnit AND ToolBuilder-Tests?  Yikes, I just looked and it
> appears we only have one version of ToolBuilder-Tests and it was
> committed by... me??  I don't know why I would have done that.
> Perhaps it should be merged into ToolBuilder-SUnit.
>

Why? ToolBuilder-Tests are tests _for_ ToolBuilder.
ToolBuilder-SUnit is the SUnitToolBuilder, completely different...


> On Tue, Feb 16, 2016 at 6:32 AM, marcel.taeumel <[hidden email]> wrote:
>> Hi, there.
>>
>> I know this discussion is about 3 years old. I just stumbled upon this
>> dependency discussion.
>>
>> But what about
>>
>> "ToolBuilder-Morphic" -> "Morphic-ToolBuilder" or "MorphicToolBuilder"
>> "ToolBuilder-MVC" -> "ST80-ToolBuilder" or "ST80ToolBuilder"
>>
>> ?
>>
>> Right now we have 4 tool builder packages in trunk: "ToolBuilder-Kernel",
>> "ToolBuilder-MVC", "ToolBuilder-SUnit", "ToolBuilder-Tests". Then, it is
>> always kind of dangerous to have packages with a dash inside. Mixes up with
>> system categories too easily. And the "prefix package" (i.e. "ToolBuilder")
>> would commit everything again. We need to be careful.
>>
>> Better examples include: "CollectionsTests", "MorphicExtras",
>> "VersionNumberTests", "KernelTests".
>>
>> Best,
>> Marcel
>>
>>
>>
>> --
>> View this message in context: http://forum.world.st/Breaking-up-ToolBuilder-tp4689489p4877865.html
>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Chris Muller-3
In reply to this post by marcel.taeumel
> Right now we have 4 tool builder packages in trunk: "ToolBuilder-Kernel",
> "ToolBuilder-MVC", "ToolBuilder-SUnit", "ToolBuilder-Tests". Then, it is
> always kind of dangerous to have packages with a dash inside. Mixes up with
> system categories too easily. And the "prefix package" (i.e. "ToolBuilder")
> would commit everything again. We need to be careful.

Indeed, but I actually think dashes help solve the problem, because it
lets developers employ a naming hierarchy to sets-of-packages that
need it.  I have several packages which started out one level but then
had to be renamed to have a two-level + suffix.

> Better examples include: "CollectionsTests", "MorphicExtras",
> "VersionNumberTests", "KernelTests".

Rename Collections to Collections-Core?

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

Chris Muller-3
In reply to this post by Tobias Pape
On Tue, Feb 16, 2016 at 1:06 PM, Tobias Pape <[hidden email]> wrote:

>
> On 16.02.2016, at 19:56, Chris Muller <[hidden email]> wrote:
>
>> ToolBuilder-SUnit AND ToolBuilder-Tests?  Yikes, I just looked and it
>> appears we only have one version of ToolBuilder-Tests and it was
>> committed by... me??  I don't know why I would have done that.
>> Perhaps it should be merged into ToolBuilder-SUnit.
>>
>
> Why? ToolBuilder-Tests are tests _for_ ToolBuilder.
> ToolBuilder-SUnit is the SUnitToolBuilder, completely different...

Oh okay, nevermind then.  But that seems strange, though, because
SUnit framework needs ToolBuilder for its UI, so wouldn't that
normally be SUnit-ToolBuilder?

I just looked and see we also have SUnit, SUnitGUI and SUnitTools...

Reply | Threaded
Open this post in threaded view
|

Re: Breaking up ToolBuilder

David T. Lewis
In reply to this post by marcel.taeumel
I am confused. Why is this a problem?

Right now we have these different packages:

        Toolbuilder-Kernel
        Toolbuilder-MVC
        Toolbuilder-Morphic
        Toolbuilder-SUnit
        Toolbuilder-Tests

This is quite reasonably modular, and it works fine. If I want to
unload the MVC framework, it is perfectly clear that Toolbuilder-MVC
should be unloaded, and the rest of Toolbuilder-* should be left alone.

Maybe I am missing something here, but I do not see any problem that
needs to be fixed. I am also reminded of various attempts to modularize
the system based on dependency analysis ... that result in less
modularity and a less understandable system.

So before we "fix" this could someone please explain why it is broken?

Dave


On Tue, Feb 16, 2016 at 04:32:21AM -0800, marcel.taeumel wrote:

> Hi, there.
>
> I know this discussion is about 3 years old. I just stumbled upon this
> dependency discussion.
>
> But what about
>
> "ToolBuilder-Morphic" -> "Morphic-ToolBuilder" or "MorphicToolBuilder"
> "ToolBuilder-MVC" -> "ST80-ToolBuilder" or "ST80ToolBuilder"
>
> ?
>
> Right now we have 4 tool builder packages in trunk: "ToolBuilder-Kernel",
> "ToolBuilder-MVC", "ToolBuilder-SUnit", "ToolBuilder-Tests". Then, it is
> always kind of dangerous to have packages with a dash inside. Mixes up with
> system categories too easily. And the "prefix package" (i.e. "ToolBuilder")
> would commit everything again. We need to be careful.
>
> Better examples include: "CollectionsTests", "MorphicExtras",
> "VersionNumberTests", "KernelTests".
>
> Best,
> Marcel
>
>
>
> --
> View this message in context: http://forum.world.st/Breaking-up-ToolBuilder-tp4689489p4877865.html
> Sent from the Squeak - Dev mailing list archive at Nabble.com.