Hi Eliot, (CC'ing vm-dev) hope you had a good start into 2018 and sorry again if the "Alien commit into Alien" [1] created some trouble. But while we are at discussing about Alien I would like to ask one question: can we split the Alien package into two packages instead of just one. One with the core functionality and and have the unit tests separated into an own separate package? Also the Win32 struct wrappers should be in an own package as this is platform dependent. Because with the new possibility to bootstrap smaller images one can build minimal images with just a foreign interface/Alien but where SUnit and tests are not loaded. Without having the tests in an own separately loadable package such a thing is not possible to realize because loading Alien would give automatically a dependency to SUnit. Also Alien-Win32 do not make sense if one builds a platform specific image for Mac, Unix or the Pi. So can we split it to be more clean? What do you think about this? I can spend some time (possibly next week) on separating Alien into two packages and also do/help/check in changing loading configs for VMMaker or other. For the naming: while in Pharo the packages could already be named - "Alien-Core" - "Alien-Core-Test" - "Alien-Win32" as Pharo already supports explicit packages. But I'm pretty sure this would be problematic for Squeak 6.0 which still relies on the old category solution. So I would suggest to follow Seaside naming convention and name them - "Alien-Core" - "Alien-Tests-Core" - "Alien-Win32" so it is loadable and compatible in all dialects. If you would prefer other names we can align easily. Thanks for an answer in advance! Bye T. [1] http://lists.squeakfoundation.org/pipermail/vm-dev/2018-January/026350.html |
Hi Torsten,
sorry for the late reply; I had some personal things to attend to earlier in the week. On Mon, Jan 8, 2018 at 12:50 PM, Torsten Bergmann <[hidden email]> wrote: Hi Eliot, (CC'ing vm-dev) Sounds good to me. Feel free to make the changes. As long as the repository is unchanged and the committed versions preserve version stamps I have no objection to the split.
_,,,^..^,,,_ best, Eliot |
Hi, as already discussed it would be good to have the packages in Alien more modular (separate the tests, separate platform dependent part from core functionality). Also this would allow to use Alien core functionality in more minimal Smalltalk images where there is no SUnit or windows support needed or wanted. The issue was already discussed in January and thankfully Eliot as the engineer behind Alien gave his OK with the request that the repo is kept and version stamps are preserved. I now was able to devote some minutes to this task. For all to reproduce what was done: =================================== The most recent valid version found in squeaksource.com/Alien from Eliot was "Alien-eem.44.mcz" from 23 February 2018. This package is now split into the following packages/MCZ's: - Alien-Core-tbn.100.mcz - Alien-Tests-Core-tbn.100.mcz - Alien-Win32-tbn.100.mcz based on exactly this latest version from Eliot. You will find them in the Alien repository: http://squeaksource.com/Alien.html With this the "Alien" MCZ package line is now deprecated. Please continue to contribute and develop on - "Alien-Core" for core functionality - "Alien-Tests-Core" for tests on core functionality - "Alien-Win32" for windows specific functionality to move Alien forward. Side note: ====== The switch to the high version number 100 was done to avoid confusion as there were already "Alien-Core", "Alien-Tests" and "Alien-Win32" in squeaksource.com/Alien back from 2009 to 2012. This also allows to continue to show the most recent version on top in Monticello. I clearly documented the split as well as the reasoning behind using version number 100 onwards in the comments of the new packages. Additionally: ======= - I created an Alien-tbn.45.mcz with the change to empty out the now deprecated "Alien-xxx.yy.mcz" package line and mention in the comment to now use the new modular packages - I double checked the loading of the modular packages in a fresh Squeak image - I also double checked that the version information on authors and timestamp is kept - as this was only a repackaging activity no code was changed and the 118 tests are still green I did the repackaging very carefully and verified proper loading as well. What I can not do is to change all the places where it is used. I hope you all (and especially Eliot) can support this in doing the necessary changes on Open Smalltalk VM - maybe some VMMaker or private loading scripts need to be adopted. Primarily it is now necessary to load the 3 packages "Alien-Core", "Alien-Tests-Core" and "Alien-Win32" on all places where previously "Alien" package/MCZ was loaded. If you need to change config specs be aware that it would make sense to have "Alien-Tests-Core" and "Alien-Win32" being dependent on "Alien-Core". Thanks T. |
> On Mar 2, 2018, at 2:51 AM, Torsten Bergmann <[hidden email]> wrote: > > Hi, > > as already discussed it would be good to have the packages in Alien more modular > (separate the tests, separate platform dependent part from core functionality). > Also this would allow to use Alien core functionality in more minimal Smalltalk images > where there is no SUnit or windows support needed or wanted. > > The issue was already discussed in January and thankfully Eliot as the engineer behind Alien > gave his OK with the request that the repo is kept and version stamps are preserved. > I now was able to devote some minutes to this task. Thanks Torsten! I wonder if there's a useful way of marking the transition, such as committing a version of Alien with an author stamp such as PackageDecomposed... > > For all to reproduce what was done: > =================================== > The most recent valid version found in squeaksource.com/Alien from Eliot > was "Alien-eem.44.mcz" from 23 February 2018. > > This package is now split into the following packages/MCZ's: > > - Alien-Core-tbn.100.mcz > - Alien-Tests-Core-tbn.100.mcz > - Alien-Win32-tbn.100.mcz > > based on exactly this latest version from Eliot. > > You will find them in the Alien repository: http://squeaksource.com/Alien.html > > With this the "Alien" MCZ package line is now deprecated. > > Please continue to contribute and develop on > - "Alien-Core" for core functionality > - "Alien-Tests-Core" for tests on core functionality > - "Alien-Win32" for windows specific functionality > to move Alien forward. > > Side note: > ====== > The switch to the high version number 100 was done to avoid confusion > as there were already "Alien-Core", "Alien-Tests" and "Alien-Win32" > in squeaksource.com/Alien back from 2009 to 2012. This also allows to > continue to show the most recent version on top in Monticello. > > I clearly documented the split as well as the reasoning behind using > version number 100 onwards in the comments of the new packages. > > Additionally: > ======= > - I created an Alien-tbn.45.mcz with the change to empty out the > now deprecated "Alien-xxx.yy.mcz" package line and mention in the > comment to now use the new modular packages > - I double checked the loading of the modular packages in a fresh Squeak > image > - I also double checked that the version information on authors and timestamp > is kept > - as this was only a repackaging activity no code was changed and the 118 tests > are still green > > I did the repackaging very carefully and verified proper loading as well. What I can not > do is to change all the places where it is used. > > I hope you all (and especially Eliot) can support this in doing the necessary changes on > Open Smalltalk VM - maybe some VMMaker or private loading scripts need to be adopted. > > Primarily it is now necessary to load the 3 packages "Alien-Core", "Alien-Tests-Core" and > "Alien-Win32" on all places where previously "Alien" package/MCZ was loaded. > > If you need to change config specs be aware that it would make sense to have "Alien-Tests-Core" > and "Alien-Win32" being dependent on "Alien-Core". > > Thanks > T. |
On Sat, Mar 3, 2018 at 10:20 AM, Eliot Miranda <[hidden email]> wrote:
Maybe commit another Alien package with no code in it all all (all items removed), with a pre-script that explicitly loads the other packages first? Except the other ones are also linked under Alien. Hmm. -cbc <snip> |
Chris Cunningham wrote: >Maybe commit another Alien package with no code in it all all (all items removed) Thats what I aleady did, as I wrote: "I created an Alien-tbn.45.mcz with the change to empty out the now deprecated "Alien-xxx.yy.mcz" package line and mention in the comment to now use the new modular packages" Thx T. |
Free forum by Nabble | Edit this page |