Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify the mecanism of Metacello #17983

Open
wants to merge 5 commits into
base: Pharo13
Choose a base branch
from

Conversation

jecisc
Copy link
Member

@jecisc jecisc commented Mar 11, 2025

Metacello is storing all the arguments given by users in an OrderedCollection with a selector associated. Once we want to execute an action, we instantiate an executor and it will perform all those selectors.

This makes the code a bit weird. I propose to simplify it by directly instantiating an executor and delegating all the configuration to it.

This makes the code more straightforward.

I also updated a little the comment and removed dead code

jecisc added 4 commits March 11, 2025 16:46
Metacello is storing all the arguments given by users in an OrderedCollection with a selector associated. Once we want to execute an action, we instantiate an executor and it will perform all those selectors. 

This makes the code a bit weird. I propose to simplify it by directly instantiating an executor and delegating all the configuration to it. 

This makes the code more straightforward.

I also updated a little the comment
@jecisc
Copy link
Member Author

jecisc commented Mar 11, 2025

I also introduced MetacelloAbstractSpecGenerator.

Before we had the BaselineSpecGenerator and ConfigurationSpecGenerator inheriting from the ProjectSpecGenerator. But this class is neither an abstract class or a generalization of the other two.

The three of them should be on the same level.

@jecisc jecisc closed this Mar 13, 2025
@jecisc jecisc reopened this Mar 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant