We discussed a bit the procedure, how to make it easy and convenient to install
a multiple packages using Installer in a convenient way. Prerequisites: - you having a multiple packages , and need some untrivial steps to complete installation, which usually can't be handled purely by MC - for that, you creating a MyPackage-Installer package and put it in same repository as your project located. Now, what we want is: - load the MyPackage-Installer package - for all its classes, which implement #install method, run them. then after we're finished, unload the MyPackage-Installer package, because it is no longer needed, since its only job is to load the actual project to image. I think it could be as simple as adding this to Installer, so you could type: Installer autoInstallFromMC: urlToRepository then installer should list the repository files, try to find the package with name, which ends with 'Installer' string, and then load it and continue with the steps i described above. 2009/9/4 <[hidden email]>: > A new version of AlienInstaller was added to project The Inbox: > http://source.squeak.org/inbox/AlienInstaller-mha.4.mcz > > ==================== Summary ==================== > > Name: AlienInstaller-mha.4 > Author: mha > Time: 4 September 2009, 9:33:33 am > UUID: 12c65287-2707-43b1-895e-638d4b8ed545 > Ancestors: AlienInstaller-mha.3 > > added script to have Alien installation proceed automatically > > =============== Diff against AlienInstaller-mha.1 =============== > > Item was added: > + ----- Method: AlienInstaller class>>postInstallInitialization (in category 'installation') ----- > + postInstallInitialization > + #( ParseNode Alien AlienLibrary FFICallbackThunk Callback UnsafeAlien ) > + do: [ :c | c initialize ] > + displayingProgress: 'Initializing ...'! > > Item was added: > > Item was added: > + ----- Method: AlienInstaller class>>recompileAlien (in category 'installation') ----- > + recompileAlien > + (PackageInfo named: 'Alien') methods > + do: [:ea | ea actualClass recompile: ea methodSymbol] > + displayingProgress: 'Recompiling...'! > > Item was changed: > ----- Method: AlienInstaller class>>install (in category 'installation') ----- > install > | repository | > repository := (Installer repository: 'http://www.squeaksource.com/') project: 'Alien'. > + #( 'Alien-Core' 'Alien-CoreTest' 'Alien-Examples' 'Alien-LibC' ) > - #( 'Alien-Core-First' 'Alien-Core' 'Alien-Examples' 'Alien-LibC' 'Alien-CoreTest' 'Alien-Last-Class-Initialize' ) > do: [ :p | repository install: p ] > displayingProgress: 'Installing Alien packages ...'. > + self > + recompileAlien; > + postInstallInitialization! > - (PackageInfo named: 'Alien') methods > - do: [:ea | ea actualClass recompile: ea methodSymbol] > - displayingProgress: 'Recompiling...'! > > > -- Best regards, Igor Stasenko AKA sig. |
On 9/4/09 4:58 AM, "Igor Stasenko" <[hidden email]> wrote: > We discussed a bit the procedure, how to make it easy and convenient to > install > a multiple packages using Installer in a convenient way. > > Prerequisites: > - you having a multiple packages , and need some untrivial steps to > complete installation, which usually can't be handled > purely by MC > - for that, you creating a MyPackage-Installer package and put it in > same repository as your project located. > > Now, what we want is: > - load the MyPackage-Installer package > > - for all its classes, which implement #install method, run them. > then after we're finished, unload the MyPackage-Installer package, > because it is no longer needed, since its only job is > to load the actual project to image. > > I think it could be as simple as adding this to Installer, so you could type: > > Installer autoInstallFromMC: urlToRepository > > then installer should list the repository files, try to find the > package with name, which ends with 'Installer' string, > and then load it and continue with the steps i described above. I think Monticello have preamble and postscript now or I'm wrong ? So no need of Installer at all, only appropriated DoIts In fact , one of the things I wish is get rid of Installer, SM, Universes.ScriptLoader and ReleaseBuilder on the trunk image. All should live outside of image and people who need, want or miss could load to last versions. Edgar |
2009/9/4 Edgar J. De Cleene <[hidden email]>:
> > > > On 9/4/09 4:58 AM, "Igor Stasenko" <[hidden email]> wrote: > >> We discussed a bit the procedure, how to make it easy and convenient to >> install >> a multiple packages using Installer in a convenient way. >> >> Prerequisites: >> - you having a multiple packages , and need some untrivial steps to >> complete installation, which usually can't be handled >> purely by MC >> - for that, you creating a MyPackage-Installer package and put it in >> same repository as your project located. >> >> Now, what we want is: >> - load the MyPackage-Installer package >> >> - for all its classes, which implement #install method, run them. >> then after we're finished, unload the MyPackage-Installer package, >> because it is no longer needed, since its only job is >> to load the actual project to image. >> >> I think it could be as simple as adding this to Installer, so you could type: >> >> Installer autoInstallFromMC: urlToRepository >> >> then installer should list the repository files, try to find the >> package with name, which ends with 'Installer' string, >> and then load it and continue with the steps i described above. > > > I think Monticello have preamble and postscript now or I'm wrong ? > > So no need of Installer at all, only appropriated DoIts > > In fact , one of the things I wish is get rid of Installer, SM, > Universes.ScriptLoader and ReleaseBuilder on the trunk image. > > All should live outside of image and people who need, want or miss could > load to last versions. > I'm ok with that.. But its easier to say than to do. > Edgar > > > > > -- Best regards, Igor Stasenko AKA sig. |
On 9/4/09 9:42 AM, "Igor Stasenko" <[hidden email]> wrote: > So, you want to leave MC to be the only tool for loading a code into image? > I'm ok with that.. > But its easier to say than to do. For trunk image, have sense, as all people using it know how use MC And all the others sure do not have up to date versions of each package. Less packages, better ones. Or...mix the good things in only one. Updates is moving fast and still could add my "ProcustesEnd" idea to Monticello http://www.morphle.com/~edgar/CreatingaProcustesEnd.mov http://www.morphle.com/~edgar/CreatingaProcustesEnd2.mov http://www.morphle.com/~edgar/UsingSqueakSource.mov Edgar |
Free forum by Nabble | Edit this page |