Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Building you own Pharo images with Metacello
1. Building your own Pharo
images with Metacello
Mariano Martinez Peck
marianopeck@gmail.com
http://marianopeck.wordpress.com/
RMod
1
Sunday, April 22, 2012 1
2. Motivations 1
To help Pharo community:
I use/test new tools.
I use (fight) latest versions.
I find/report/fix/test bugs.
2
Sunday, April 22, 2012 2
3. Motivations 1
Bleeding-edge
ninja fighter
To help Pharo community:
I use/test new tools.
I use (fight) latest versions.
I find/report/fix/test bugs.
2
Sunday, April 22, 2012 2
4. Motivations 1
Bleeding-edge
ninja fighter
To help Pharo community:
I use/test new tools.
I use (fight) latest versions.
I find/report/fix/test bugs.
I am downloading hundred of images
every day. An image can last me a
maximum of a couple of days.
2
Sunday, April 22, 2012 2
5. Motivations 2
I have my own (different) preferences/
settings than the default ones.
I use specific tools that are not present by
default.
I am, most of the times, working in several
projects at the same time.
3
Sunday, April 22, 2012 3
6. Motivations 2
I have my own (different) preferences/
settings than the default ones.
I use specific tools that are not present by
default.
I am, most of the times, working in several
projects at the same time.
I spend a lot of time building my own images
3
Sunday, April 22, 2012 3
7. I am downloading hundred of images every day.
+
I spend a lot of time building my own images.
4
Sunday, April 22, 2012 4
8. I am downloading hundred of images every day.
+
I spend a lot of time building my own images.
= It doesn’t compile
4
Sunday, April 22, 2012 4
9. I am downloading hundred of images every day.
+
I spend a lot of time building my own images.
= It doesn’t compile
+
I am lazy.
+
I don’t like losing time with this.
+
My memory is bad.
4
Sunday, April 22, 2012 4
11. The tools are already there.
6
Sunday, April 22, 2012 6
12. What is Metacello
Package management system for Monticello.
Configuration “file” per project.
7
Sunday, April 22, 2012 7
13. A configuration “file” defines project versions.
A version is:
List of Monticello files (mcz) used by the
project.
List of other projects used by the project.
A specification of dependencies between
packages and projects.
Sunday, April 22, 2012 8
19. Bringing Metacello usage to the
next level: building your own
Pharo images
Sunday, April 22, 2012 11
20. Example
Type of software Example Operations
Fuel, DBXTalk, Marea - Build image
I develop or contribute
and CogVM - Just load
Glamoroust,
External tools or addons Keymapping, Install them when
I use TilingWindowManager, building my images
etc
Sunday, April 22, 2012 12
25. Software Conclusion 1
16
Sunday, April 22, 2012 16
26. Software Conclusion 1
Confi
gurat
ionO
fSeas
ide
ConfigurationOfDBXTalk
o ose
tionO fFuel O fM
Co n figura rat ion
nfi gu
Co
16
Sunday, April 22, 2012 16
27. Software Conclusion 1
Individuals
Confi
gurat
ionO
fSeas
ide
ConfigurationOfDBXTalk
o ose
tionO fFuel O fM
Co n figura rat ion
nfi gu
Co
16
Sunday, April 22, 2012 16
28. Software Conclusion 1
Individuals
Confi
gurat
ionO
fSeas
ide
fMar iano
gura tionO ConfigurationOfJuanito
C onfi
ConfigurationOfDBXTalk
ConfigurationOfDavid
o ose
tionO fFuel O fM
Co n figura rat ion
nfi gu
Co
16
Sunday, April 22, 2012 16
29. Software Conclusion 1
Individuals
Companies Confi
gurat
ionO
fSeas
ide
fMar iano
gura tionO ConfigurationOfJuanito
C onfi
ConfigurationOfDBXTalk
ConfigurationOfDavid
o ose
tionO fFuel O fM
Co n figura rat ion
nfi gu
Co
16
Sunday, April 22, 2012 16
30. Software Conclusion 1
Individuals
Companies Confi
gurat
Confi ionO
gurat fSeas
ionO ide
f10P
fMa r iano ines
gura tionO ConfigurationOfJuanito
Con fi
ConfigurationOfDBXTalk
Small works
gurat ionOf
Confi
ConfigurationOfDavid
o ose
tionO fFuel O fM
Con figura ConfigurationOf2Denker rat ion
nfi gu
Co
16
Sunday, April 22, 2012 16
31. Software Conclusion 1
Individuals
Companies Confi
gurat
University Confi ionO
gurat fSeas
ionO ide
f10P
fMa r iano ines
gura tionO ConfigurationOfJuanito
Con fi
ConfigurationOfDBXTalk
Small works
gurat ionOf
Confi
ConfigurationOfDavid
o ose
tionO fFuel O fM
Con figura ConfigurationOf2Denker rat ion
nfi gu
Co
16
Sunday, April 22, 2012 16
32. Software Conclusion 1
Individuals
Companies Confi
gurat
University Confi ionO
gurat fSeas
ionO ide
f10P
fMa r iano ines
gura tionO ConfigurationOfJuanito
Con fi
ConfigurationOfDBXTalk
f Small works Con
figu
r ationO ratio
C onfigu nOf
PdP
Configu ConfigurationOfDavid
rationO
fUBA-A
lgo3
uel o ose
uratio nOfF nO
fM
onfig tio
C ConfigurationOf2Denker
fig ura
16
Con
Sunday, April 22, 2012 16
33. Software Conclusion 1
Individuals
Companies Confi
gurat
University Confi ionO
gurat fSeas
Research groups ionO ide
f10P
fMa r iano ines
gura tionO ConfigurationOfJuanito
Con fi
ConfigurationOfDBXTalk
f Small works Con
figu
r ationO ratio
C onfigu nOf
PdP
Configu ConfigurationOfDavid
rationO
fUBA-A
lgo3
uel o ose
uratio nOfF nO
fM
onfig tio
C ConfigurationOf2Denker
fig ura
16
Con
Sunday, April 22, 2012 16
34. Software Conclusion 1
Individuals ConfigurationOfRMOD
Companies Confi
gurat
University Confi ionO
gurat fSeas
Research groups ionO ide
f10P
fMa r iano ines
gura tionO ConfigurationOfJuanito
Con fi
ConfigurationOfDBXTalk ConfigurationOfUNQ
f Small works Con
figu
r ationO ratio
C onfigu nOf
PdP
Configu ConfigurationOfDavid
rationO
fUBA-A ConfigurationOfEMD se
lgo3
fFue l oo
nO fM
onfig uratio tio nO
C ConfigurationOf2Denker
fig ura
16
C on
Sunday, April 22, 2012 16
35. Conclusion 2
Not only use Metacello to load projects but also to
build your own images
17
Sunday, April 22, 2012 17
36. Fork me!
(it is MIT license)
Gofer new
squeaksource: 'MarianoPhD';
package: 'MarianoBuilder';
load.
But change it and adapt it for your OWN needs
18
Sunday, April 22, 2012 18