Hi Denis! Thanks. There is an class called SCImageBundle. It represents the folder where you downloaded a pharo+vm. So you can instantiate it by hand SCImageBundle new directory: 'path' asFileReference. in any case, this is also the return of the following messages of the system object: #loadPharo: aVersion into: aFileReference #loadBaseline: aPackageName from: aRepository into: anImageBundle andSaveItAt: aDirectory #loadBaselineUI: aPackageName from: aRepository into: anImageBundle andSaveItAt: aDirectory So you can do something like (system home / #pharo) ensureCreateDirectory. pharo5 := system loadPharo: 50 into: system home / #pharo. pharo5WithScale := system loadBaseline: 'Scale' from: 'github://path' into: pharo5. Save after run just sets a flag. If to the end of the execution is on, it saves the image before shutting it down. If the script you are running is supposed to update the same image that is running you have to use this method (and run as sudo) On Mon, 24 Oct 2016 at 11:49 Denis Kudriashov <dionisiydk@gmail.com> wrote:
Really nice project, Santiago.
I have few questions:
- what "system saveAfterRun" actually do?
As I understand it saves image when script completes. Imaging during script I loaded Seaside. Does this command makes Seaside accessible from any scale scripts?
- system execute: aString into: anImageBundle
What is anImageBundle here?
- What you think to make scripts working as workspace? All undeclared variables will be added to environment automatically. And in case of saveAfterRun they will became accessible from any scale scripts.
2016-10-23 20:34 GMT+02:00 Santiago Bragagnolo < santiagobragagnolo@gmail.com>:
Hi everybody.
We are officially releasing a first version of scale.
Scale is a command line handler that is there for making easier the life of the people that uses scripting in linux. As such, we only tested it so far in linux. It will be for sure easy to adapt it to mac because its a *nix, but not for windoze.
*IMPORTANT REMARK*: scale is not meant to develop applications, it is meant to develop scripts in Pharo, to be launched from the command line. This means that scale does not provide a top level syntax to declare classes or methods: people should do that as any normal Pharo application. Scale should be used to invoke such applications.
When would you use scale? - For example, to replace some bash scripts used for common boring tasks (and you are using python or ruby there :P) - Another example, would be when you want to replace bash scripts that chain things like: ./pharo eval --save "something" ./pharo eval --save "other something" ...
Github: https://github.com/guillep/Scale Oneliner to install: (note it needs sudo)
wget -O- https://raw.githubusercontent.com/guillep/Scale/master/setupScale.sh | sudo bash
In the repository there is some user level documentation based on examples and a list of available methods on the magical variable system. There are many examples as well on the repository.
Last but not least, I'm using this project in others two projects, where it proof it self quite powerful what keeps me on maintaining Scale.
These projects are:
*Pharo Android VM building *https://github.com/sbragagnolo/pharo-vm
Here I use it for automating the creation of a * new building image, * the creation of new resource image (for deploying on the android apk), * linking the android sources into the building directory * generating the code from the console
*MakrosTool* https://github.com/sbragagnolo/MakrosTool
MakrosTool is an extension of scale that adds a second magical variable for building up component reification in a ROS based environment.
Santiago & Guille