Login  Register

Re: smaller configurations vs groups [was Re: Pillar and GT tools in Pharo4]

Posted by Tudor Girba-2 on Mar 10, 2015; 8:57am
URL: https://forum.world.st/smaller-configurations-vs-groups-was-Re-Pillar-and-GT-tools-in-Pharo4-tp4810408p4810863.html

Hi,

Thanks for raising the issue.

The "ripple" effect exists anyway when you have nested configurations, even with groups, only when you have groups you do not notice it because it is implicit.

As you say, the solution is to build tool support, and among others, I argued that tooling and debugging becomes simpler without groups. The only reason I see for wanting groups is that it makes it easy to edit configurations manually in the code browser. We should not optimize around this, but we should favor tooling.

Just a note: you still did not address my original argument about the conceptual problem of a group not being first class :)

Cheers,
Doru



On Tue, Mar 10, 2015 at 9:53 AM, Stephan Eggermont <[hidden email]> wrote:
This is one of the issues we need to avoid: having an unneeded ripple
effect. GlamourCore was updated, making it necessary to update
everything that has a hard version dependency on it. Even worse is
that there is actually no change in GlamourCore 3.0.4. This problem
gets worse the more configurations we have.

ConfigurationOfGTInspectorCore>>version203: spec
        <version: '2.0.3' imports: #('2.0-baseline' )>

        spec for: #'common' do: [
                spec blessing: #'stable'.
                spec description: 'version 2.0.3'.
                spec author: 'AndreiChis'.
                spec timestamp: '12/07/2014 13:58'.
               
                spec
                        package: 'GT-Inspector' with: 'GT-Inspector-EstebanLorenzano.271';
                        package: 'GT-InspectorExtensions-Core' with: 'GT-InspectorExtensions-Core-TudorGirba.86';
                        package: 'GT-Tests-Inspector' with: 'GT-Tests-Inspector-AndreiChis.24'.
                spec
                        project: 'GlamourCore' with: '3.0.3'. ].


ConfigurationOfGTInspectorCore>>version204: spec
        <version: '2.0.4' imports: #('2.0-baseline' )>

        spec for: #'common' do: [
                spec blessing: #'stable'.
                spec description: 'version 2.0.4'.
                spec author: 'AndreiChis'.
                spec timestamp: '12/09/2014 12:08'.
               
                spec
                        package: 'GT-Inspector' with: 'GT-Inspector-EstebanLorenzano.271';
                        package: 'GT-InspectorExtensions-Core' with: 'GT-InspectorExtensions-Core-TudorGirba.86';
                        package: 'GT-Tests-Inspector' with: 'GT-Tests-Inspector-AndreiChis.24'.
                spec
                        project: 'GlamourCore' with: '3.0.4'. ].

The same happens with the subconfigurations of GT, a change in GTInspector leads to a change in the playground.

ConfigurationOfGTPlayGround>>version106: spec
        <version: '1.0.6' imports: #('1.0-baseline' )>

        spec for: #'common' do: [
                spec blessing: #'stable'.
                spec description: 'version 1.0.6'.
                spec author: 'AndreiChis'.
                spec timestamp: '10/06/2014 11:42'.
                spec project: 'GTInspector' with: '1.0.6'.
                spec package: 'GT-Playground' with: 'GT-Playground-TudorGirba.38'. ]


ConfigurationOfGTPlayGround>>version107: spec
        <version: '1.0.7' imports: #('1.0-baseline' )>

        spec for: #'common' do: [
                spec blessing: #'stable'.
                spec description: 'version 1.0.7'.
                spec author: 'AndreiChis'.
                spec timestamp: '10/12/2014 19:56'.
                spec project: 'GTInspector' with: '1.0.7'.
                spec package: 'GT-Playground' with: 'GT-Playground-TudorGirba.38'. ]

And this means that we are better of with configurations having
high cohesion and low coupling. And tool support for groups.

Stephan






--
www.tudorgirba.com

"Every thing has its own flow"