[Ann] Commander v2.0.0

Repository: pharo-spec/Commander2 · Tag: v2.0.0 · Commit: 3dbd6b1 · Released by: juliendelplanque

Commander v2.0.0 will be integrated into Pharo after ESUG.


  • Added code for migration to v2.0.0
  • Did migration with the following renamings (order is important):
    • #name -> #dynamicName.
    • #description -> #dynamicDescription.
    • #basicName -> #name.
    • #basicDescription -> #description.
  • Updated baseline to be more flexible. …
    • Do not provide migrator in default group.
    • Provide core,test and migrator groups.
  • Removed deprecated methods:
    • #canBeRun
    • #canBeRunBlock
    • #canBeRunBlock:
    • #defaultCommandName
    • #runWith:

How to migrate code using Commander2 v1.2.0 to v2.0.0

This release provide a migration mechanism for the following renamings:

  • #name -> #dynamicName.
  • #description -> #dynamicDescription.
  • #basicName -> #name.
  • #basicDescription -> #description.

One can use the CmV2ReleaseMigrator class as follow:

1. Load the migration group

Metacello new
	repository: 'github://pharo-spec/Commander2/src';
	baseline: 'Commander2';
	load: #('migration')

2. Collect the command classes to migrate

In this step, one need to create an array of all the classes defined by his/her project that inherit from CmCommand.

An example of such script can be:

myCommandClasses := MyRootCommandClass withAllSubclasses.

3. Run the migration script

CmV2ReleaseMigrator migrate: myCommandClasses

Then run the tests of your project to ensure everything still work correctly

This release has 2 assets:

  • Source code (zip)
  • Source code (tar.gz)

Visit the release page to download them.


%d bloggers like this: