building you own pharo images with metacello
DESCRIPTION
Talk presented in Smalltalks 2011, Buenos Aires, Argentina.TRANSCRIPT
1
Mariano Martinez [email protected]
http://marianopeck.wordpress.com/
RMod
Building your own Pharo images with Metacello
1Sunday, April 22, 2012
Motivations 1
I use/test new tools.
I use (fight) latest versions.
I find/report/fix/test bugs.
2
To help Pharo community:
2Sunday, April 22, 2012
Motivations 1
I use/test new tools.
I use (fight) latest versions.
I find/report/fix/test bugs.
2
To help Pharo community:
Bleeding-edge ninja fighter
2Sunday, April 22, 2012
Motivations 1
I use/test new tools.
I use (fight) latest versions.
I find/report/fix/test bugs.
2
To help Pharo community:
I am downloading hundred of images every day. An image can last me a
maximum of a couple of days.
Bleeding-edge ninja fighter
2Sunday, April 22, 2012
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
3Sunday, April 22, 2012
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
I spend a lot of time building my own images
3Sunday, April 22, 2012
4
I am downloading hundred of images every day.
I spend a lot of time building my own images.+
4Sunday, April 22, 2012
4
I am downloading hundred of images every day.
I spend a lot of time building my own images.+
= It doesn’t compile
4Sunday, April 22, 2012
I am lazy.
I don’t like losing time with this.
My memory is bad.
4
I am downloading hundred of images every day.
I spend a lot of time building my own images.+
++
= It doesn’t compile+
4Sunday, April 22, 2012
5
Something is not working.
5Sunday, April 22, 2012
6
The tools are already there.
6Sunday, April 22, 2012
What is Metacello
Package management system for Monticello.
Configuration “file” per project.7
7Sunday, April 22, 2012
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.
8Sunday, April 22, 2012
9
New Metacello chapter!!!
9Sunday, April 22, 2012
My proposal?
10Sunday, April 22, 2012
My proposal?Throw away Metacello?
10Sunday, April 22, 2012
My proposal?
No, quite the opposite!
Throw away Metacello?
10Sunday, April 22, 2012
11Sunday, April 22, 2012
Bringing Metacello usage to the next level: building your own
Pharo images11Sunday, April 22, 2012
Example
Type of software Example Operations
I develop or contribute Fuel, DBXTalk, Marea and CogVM
- Build image- Just load
External tools or addons I use
Glamoroust, Keymapping,
TilingWindowManager, etc
Install them when building my images
12Sunday, April 22, 2012
Showtime
13Sunday, April 22, 2012
14
I think that in the future we will all end up having our own local CI server building and testing our images.
14Sunday, April 22, 2012
15
But I had already got access to the DeLorean...
15Sunday, April 22, 2012
Conclusion 1
16
ConfigurationOfSmallworksConfigurationOfSmallworks16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSmallworksConfigurationOfSmallworks16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
ConfigurationOfSmallworksConfigurationOfSmallworks16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
Individuals
ConfigurationOfSmallworksConfigurationOfSmallworks16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
Individuals
ConfigurationOfMariano
ConfigurationOfDavid
ConfigurationOfJuanito
ConfigurationOfSmallworksConfigurationOfSmallworks16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
Individuals
ConfigurationOfMariano
ConfigurationOfDavid
ConfigurationOfJuanito
Companies
ConfigurationOfSmallworksConfigurationOfSmallworks16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
Individuals
ConfigurationOfMariano
ConfigurationOfDavid
ConfigurationOfJuanito
Companies
ConfigurationOfSmallworks
ConfigurationOf2Denker
ConfigurationOfSmallworksConfigurationOfSmallworks
ConfigurationOf10Pines
16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
Individuals
ConfigurationOfMariano
ConfigurationOfDavid
ConfigurationOfJuanito
Companies
ConfigurationOfSmallworks
ConfigurationOf2Denker
ConfigurationOfSmallworksConfigurationOfSmallworks
ConfigurationOf10Pines
University
16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
Individuals
ConfigurationOfMariano
ConfigurationOfDavid
ConfigurationOfJuanito
Companies
ConfigurationOfSmallworks
ConfigurationOf2Denker
ConfigurationOfSmallworksConfigurationOfSmallworks
ConfigurationOf10Pines
University
ConfigurationOfPdPConfigurationOfUBA-Algo3
16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
Individuals
ConfigurationOfMariano
ConfigurationOfDavid
ConfigurationOfJuanito
Companies
ConfigurationOfSmallworks
ConfigurationOf2Denker
ConfigurationOfSmallworksConfigurationOfSmallworks
ConfigurationOf10Pines
University
ConfigurationOfPdPConfigurationOfUBA-Algo3
Research groups
16Sunday, April 22, 2012
Conclusion 1
16
Software
ConfigurationOfSeaside
ConfigurationOfFuel
ConfigurationOfDBXTalk
ConfigurationOfMoose
Individuals
ConfigurationOfMariano
ConfigurationOfDavid
ConfigurationOfJuanito
Companies
ConfigurationOfSmallworks
ConfigurationOf2Denker
ConfigurationOfSmallworksConfigurationOfSmallworks
ConfigurationOf10Pines
University
ConfigurationOfPdPConfigurationOfUBA-Algo3
Research groups
ConfigurationOfRMOD
ConfigurationOfEMD
ConfigurationOfUNQ
16Sunday, April 22, 2012
Conclusion 2
17
Not only use Metacello to load projects but also to build your own images
17Sunday, April 22, 2012
Fork me! (it is MIT license)
18
Gofer newsqueaksource: 'MarianoPhD';package: 'MarianoBuilder';
load.
But change it and adapt it for your OWN needs
18Sunday, April 22, 2012
19
Mariano Martinez [email protected]
http://marianopeck.wordpress.com/
RMod
Thanks
19Sunday, April 22, 2012