Essen ESUG experience report day 2

Rob Withers rwithers12 at mediaone.net
Thu Aug 30 12:19:32 UTC 2001


Joseph,  one problem was that EventHandler is gone.  These files fix the
ginsu.  The other problem I noticed is that the SWTVolume.txt is now in XML,
so if you create a repository, the base SWT won't be able to read this file
anymore.

Thank You!

- Rob

----- Original Message -----
From: "joseph pelrine" <jpelrine at balcab.ch>
To: <CampSmalltalk at mojowire.com>; <squeak-dev at lists.squeakfoundation.org>
Cc: <vwnc at cs.uiuc.edu>
Sent: Thursday, August 30, 2001 4:02 AM
Subject: Re: Essen ESUG experience report day 2


> I'd like to sincerely thank John McIntosh for his write-up of my talk. I
> hope it will serve to eliminate some of the FUD surrounding my/our work.
>  I'll try to post some additions and comments to his article in the next
> few days. Sometimes the simplest ideas are the hardest to understand;-)
>
> I was also very happy after talking to Hans-Martin, where we realized
> that all his wishes and plans (layering modules, rollback to previous
> versions of methods etc.) could be very easily implemented within the
> ModSqueak "framework".
>
> The code for the June 29 ModSqueak code drop (the latest version that
> Paul and I worked on) has been available on the Stable Squeak swiki at
> http://swiki.squeakfoundation.org/stablesqueak. I will start
> describing/documenting it there. If people are interested AND if I have
> time, I could probably post the code for the remote installation demo
> too. Let me know if you want it.
>
> cheers
> - Joseph
> At 02:17 30.08.2001 , Les Tyrrell wrote:
> > I loved the stuff about ModSqueak, but where can I get it?  Don't tell
> me to
> > download SWT 0.6- I've already checked, and it appears that ModSqueak
> is not
> in that.
>
> - les
>
> -- Joseph Pelrine
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ModSqueak.rww.cs
Type: application/octet-stream
Size: 35872 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20010830/776063bb/ModSqueak.rww.obj
-------------- next part --------------
"Base:  SWTTryMe0-4.image"

"Execute the following code if you don't have SUnit and RB loaded."
"
| url | 
url := (RepositoryUrl fromString: 'repos://SqueakBase/SUnitConfig/0.1').
url resolve build.
url := (RepositoryUrl fromString: 'repos://SqueakBase/RefactorAndLintConfig/0.1').
url resolve build
"

"Execute all to EOF to install Ginsu"
| directoryName fileNames changesets directory file newChangeSet |
directoryName := FillInTheBlank
	request: 'Directory name?'
	initialAnswer: (Date today monthName asString, Date today dayOfMonth asString).
fileNames := OrderedCollection new
	add: ('Base Image Extensions'->'Base Image Extensions.cs');
	add: ('Script Manager'->'ScriptManager.cs');
	add: ('Modules'->'Modules.cs');
	add: ('Interchange Format'->'SIF.cs');
	add: ('Repository'->'Repository.cs');
	add: ('Module Tools'->'Module Tools.cs');
	add: ('Module Tests'->'ModuleSIFAndReposTests.cs');
	add: ('Quick Fixes'->'QuickFixes.cs');
	add: ('Modular Squeak'->'ModSqueak.rww.cs');
	yourself.
changesets := OrderedCollection new.
directory := FileDirectory default directoryNamed: directoryName.
fileNames do:
	[:pair |
	file := directory readOnlyFileNamed: pair value.
	newChangeSet := ChangeSorter
			newChangesFromStream: file
			named: (FileDirectory localNameFor: pair value).
	pair key = 'Modules' ifFalse: [changesets add: newChangeSet]].
toRemove := fileNames detect: [:e | e key = 'Modules'].
fileNames remove: toRemove.
(orgClass := Smalltalk at: #ModuleOrganizer) perform: #rebuildModules.
clusterClass :=  Smalltalk at: #Cluster.
newCluster := clusterClass perform: #named: with: 'Module Based Tools'.
pkgClass := Smalltalk at: #Package.
newCluster
	perform: #addScope:
		with: (pkg1 := pkgClass named: ((fileNames at: 1) key));
	perform: #addScope:
		with: (pkg2 := pkgClass named: ((fileNames at: 2) key));
	perform: #addScope:
		with: (pkg3 := pkgClass named: ((fileNames at: 3) key));
	perform: #addScope:
		with: (pkg4 := pkgClass named: ((fileNames at: 4) key));
	perform: #addScope:
		with: (pkg5 := pkgClass named: ((fileNames at: 5) key));
	perform: #addScope:
		with: (pkg6 := pkgClass named: ((fileNames at: 6) key));
	perform: #addScope:
		with: (pkg7 := pkgClass named: ((fileNames at: 7) key));
	perform: #addScope:
		with: (pkg8 := pkgClass named: ((fileNames at: 8) key)).
packages := OrderedCollection new
	add: pkg1;
	add: pkg2;
	add: pkg3;
	add: pkg4;
	add: pkg5;
	add: pkg6;
	add: pkg7;
	add: pkg8;
	yourself.
organizer := orgClass perform: #current.
organizer perform: #addModule: with: newCluster.
readerClass := Smalltalk at: #ModuleFileOutReader.
1 to: fileNames size do:
	[:i |
	cs := changesets at: i.
	codeStream := ReadWriteStream on: ''.
	cs fileOutOn: codeStream.
	codeStream reset.
	reader := readerClass
		perform: #onStream:module:
		withArguments: (Array
			with: codeStream
			with: (packages at: i)).
	reader perform: #fillModule]


More information about the Squeak-dev mailing list