Skip to content
Fabio Niephaus edited this page Jul 1, 2015 · 5 revisions

Welcome to the smalltalk-nested-classes wiki!

Installation

Paste this code in your workspace, replace your initials and run it

"Get the Metacello configuration"
Installer gemsource
    project: 'metacello';
    addPackage: 'ConfigurationOfMetacello';
    install.

"Bootstrap Metacello Preview, using mcz files #'previewBootstrap' symbolic version"
((Smalltalk at: #ConfigurationOfMetacello) project 
  version: #'previewBootstrap') load.

"Load the Preview version of Metacello from GitHub"
(Smalltalk at: #Metacello) new
  configuration: 'MetacelloPreview';
  version: #stable;
  repository: 'github://dalehenrich/metacello-work:configuration';
  load.

"Set your initials"
(Smalltalk at: #MetacelloPlatform) current authorName: '{YourInitials}'.

"Load latest version of Metacello and ModuleSystem"
{ (Smalltalk at: #Metacello) new
  baseline: 'Metacello';
  repository: 'github://dalehenrich/metacello-work:master/repository'.
(Smalltalk at: #Metacello) new
  baseline: 'ModuleSystem';
  repository: 'github://matthias-springer/smalltalk-nested-classes:master/packages' }
do: [ :baseline | baseline get ];
do: [ :baseline | baseline load ].

Now open a new AnimMorphicProject and run the follow in a new workspace

| path fileDir modulePath moduleDir |
path := 'github-cache', FileDirectory pathNameDelimiter,
    'matthias-springer', FileDirectory pathNameDelimiter,
    'smalltalk-nested-classes'.
modulePath := 'modules', FileDirectory pathNameDelimiter, 'ModuleSystem'.
(FileDirectory default directoryExists: path) ifTrue: [
    fileDir := (FileDirectory default directoryNamed: path).
    2 timesRepeat: [fileDir := fileDir directoryNamed: (fileDir directoryNames first)].
    (fileDir directoryExists: modulePath) ifTrue: [
            moduleDir := fileDir directoryNamed: modulePath.
            Repository instance addSpec: (ModuleSpecification loadFrom: moduleDir).
            (Repository instance specAt: #ModuleSystem) installModule]
        ifFalse: [ self notify: 'Could not find ModuleSystem' ]]
    ifFalse: [ self notify: 'Could not find ModuleSystem repository' ].

VivideLight useVivideDebugger: true.
Preferences setPreference: #mouseOverForKeyboardFocus toValue: false.

VivideLight open.
ModuleSystemView merge.
VivideLight openProfile: (VivideLight profiles second).
#ModuleSystemView openScript

Export GUI Scripts

Make sure to only run this when ModuleSystem is the active profile! Otherwise you will export all Vivide scripts too.

ModuleSystemView removeFromSystem.
ViProfile active createArchiveNamed: 'ModuleSystemView' inCategory: #'ModuleSystem-Scripts'.
ViProfile active serializeIntoArchive
Clone this wiki locally