Skip to content

Instantly share code, notes, and snippets.

@seandenigris
Last active October 23, 2016 23:13
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save seandenigris/1438930 to your computer and use it in GitHub Desktop.
Save seandenigris/1438930 to your computer and use it in GitHub Desktop.
Sample Metacello Workflow
"Describe Project Structure to Create configuration"
MetacelloToolBox
createBaseline: '1.0-baseline'
for: 'SimpleApplescript' "Project name"
repository: 'http://squeaksource.com/SPDPlayground'
requiredProjects: #('OSProcess')
packages: #('CommandShell-Piping' 'SimpleApplescript')
repositories: #()
dependencies: {
('SimpleApplescript' -> #('CommandShell-Piping')).
('CommandShell-Piping' -> #('OSProcess')) }
groups: { ('default' -> #('SimpleApplescript')) }.
"Create a development version"
MetacelloToolBox
createDevelopment: '1.0'
for: 'SimpleApplescript'
importFromBaseline: '1.0-baseline'
description: 'initial development version'.
"Make sure our configuration is valid"
MetacelloToolBox validateConfiguration: ConfigurationOfSimpleApplescript.
"Commit the configuration (usually to the project's repository"
Gofer new
url: 'http://squeaksource.com/SPDPlayground';
package: 'ConfigurationOfSimpleApplescript';
commit: 'Initial version of configuration'.
"Share it - copy the configuration to the community configuration repository"
MetacelloToolBox
releaseDevelopmentVersionIn: ConfigurationOfSimpleApplescript
description: '- release version 1.0'.
MetacelloToolBox
copyConfiguration: ConfigurationOfSimpleApplescript
to: 'http://www.squeaksource.com/MetacelloRepository'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment