<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>On Wed, 17 Apr 2019 at 00:04, K K Subbu <<a href="mailto:kksubbu.ml@gmail.com">kksubbu.ml@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>
Hi,<br>
<br>
In working with Squeak images of different formats and word sizes, I <br>
find myself struggling with a bunch of scripts - run, squeak, squeak64, <br>
cog, cog64, spur, spur64 etc and having to update the run script <br>
whenever a new format comes out. There should be simpler way .....<br>
<br>
It would be nice to separate the main programs - launcher(squeak) and <br>
ckformat - from the VMs that read specific image formats.<br>
<br>
VMs could be generated with base format built into the name or path e.g. <br>
lib/$VER/$BASE/ostvm or lib/$BASE/$VER/ostvm<br>
<br>
The main launcher (squeak) will probe and launch a matching VM with <br>
something like:<br>
<br>
    lib/$VER/$(ckformat $IMAGE)/$VMNAME $ARG<br>
<br>
without having to find out the exact format number. This will enable <br>
multiple format VMs to co-exist in a machine without having to change <br>
PATH settings etc.<br></blockquote><div><br></div><div>PharoLauncher does this... <a href="https://github.com/pharo-project/pharo-launcher">https://github.com/pharo-project/pharo-launcher</a></div><div>Maybe you could reuse some of it.  Review might start with:</div><div>* PhLVirtualMachineTest</div><div>* PhLVirtualMachineManagerTest</div><div>* PhLVirtualMachineManagerFunctionalTest</div><div><br></div><div>cheers -ben</div><br class="gmail-Apple-interchange-newline"><div><br></div><div> </div></div></div></div></div>