All Projects → Metacello → metacello

Metacello / metacello

Licence: MIT license
Metacello is a package management system for Smalltalk

Programming Languages

smalltalk
420 projects

Projects that are alternatives of or similar to metacello

Grease
The Grease Portability Library
Stars: ✭ 12 (-84.81%)
Mutual labels:  pharo, gemstone
gt4gemstone-old
The Glamorous Toolkit for remote work with Gemstone/S
Stars: ✭ 14 (-82.28%)
Mutual labels:  pharo, gemstone
SIXX
SIXX is an XML serializer/deserializer written in Smalltalk. The purpose is to store and load Smalltalk objects in a portable, dialect-independent XML format.
Stars: ✭ 14 (-82.28%)
Mutual labels:  squeak, pharo
msgpack-smalltalk
MessagePack serialization library for various Smalltalk dialects / msgpack.org[Smalltalk]
Stars: ✭ 22 (-72.15%)
Mutual labels:  squeak, pharo
ReStoreForPharo
Relational database persistence for Pharo objects
Stars: ✭ 29 (-63.29%)
Mutual labels:  pharo
Telescope
Telescope is an engine for efficiently creating meaningful visualizations
Stars: ✭ 26 (-67.09%)
Mutual labels:  pharo
protobuf-smalltalk
Protocol buffers support for Smalltalk
Stars: ✭ 14 (-82.28%)
Mutual labels:  pharo
Python3Generator
A toolkit to generate Python 3 source code from Pharo.
Stars: ✭ 25 (-68.35%)
Mutual labels:  pharo
GitBridge
Access resources and information from the git repository containing your project.
Stars: ✭ 14 (-82.28%)
Mutual labels:  pharo
awesome-pharo-ml
List of projects, books, booklets, papers, and applications related to machine learning, AI, data science in Pharo
Stars: ✭ 56 (-29.11%)
Mutual labels:  pharo
PharoJS
PharoJS: Develop in Pharo, Run on JavaScript
Stars: ✭ 90 (+13.92%)
Mutual labels:  pharo
Winter
Winter is a 2D game engine for Pharo Smalltalk
Stars: ✭ 43 (-45.57%)
Mutual labels:  pharo
Gratch
Block-style programming environment for tackling graph structure and graph algorithm, based on MIT Scratch.
Stars: ✭ 15 (-81.01%)
Mutual labels:  pharo
kendrick
Domain-Specific Modeling for Epidemiology
Stars: ✭ 43 (-45.57%)
Mutual labels:  pharo
Teapot
Teapot micro web framework for Pharo Smalltalk
Stars: ✭ 86 (+8.86%)
Mutual labels:  pharo
heysql
Sql-based orm based on smalltalk reflection ideas
Stars: ✭ 19 (-75.95%)
Mutual labels:  pharo
sparta
Sparta is a canvas on top of Skia.
Stars: ✭ 28 (-64.56%)
Mutual labels:  pharo
Willow
The Web Interaction Library that eases the burden of creating AJAX-based web applications
Stars: ✭ 41 (-48.1%)
Mutual labels:  pharo
Cruiser
A Pharo Tool to package applications
Stars: ✭ 41 (-48.1%)
Mutual labels:  pharo
hunter
Hunter: a JavaScript reengineering platform.
Stars: ✭ 31 (-60.76%)
Mutual labels:  pharo

Metacello

smalltalkCI

INSTALL Preview Version

GemStone

GsUpgrader works on all versions of GemStone against all Versions of GLASS:

Gofer new
  package: 'GsUpgrader-Core';
  url: 'http://ss3.gemtalksystems.com/ss/gsUpgrader';
  load.
(Smalltalk at: #GsUpgrader) upgradeMetacello.

Pharo6.1, Pharo7.0

Iceberg enableMetacelloIntegration: false.

Metacello new
    baseline: 'Metacello';
    repository: 'github://metacello/metacello:pharo-6.1_dev/repository';
    onConflict: [ :ex | ex allow ];
    load.

Pharo3.0, Pharo4.0, and Pharo5.0

Metacello Preview is pre-installed in Pharo3.0 the following installs the latest released version:

Metacello new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  get.
Metacello new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  onConflict: [:ex | ex allow];
  load

Pharo (older than Pharo3.0)

"Get the Metacello configuration"
Gofer new
  gemsource: 'metacello';
  package: 'ConfigurationOfMetacello';
  load.
"Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version"
((Smalltalk at: #ConfigurationOfMetacello) project 
  version: #'previewBootstrap') load.

"Load the Preview version of Metacello from GitHub"
(Smalltalk at: #Metacello) new
  configuration: 'MetacelloPreview';
  version: #stable;
  repository: 'github://Metacello/metacello:configuration';
  load.
"Now load latest version of Metacello"
Metacello new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  get.
Metacello new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  onConflict: [:ex | ex allow];
  load

Squeak5.2 (and newer)

Installer ensureRecentMetacello.

Squeak (older than Squeak5.2)

"Get the Metacello configuration (for Squeak users)"
Installer gemsource
    project: 'metacello';
    addPackage: 'ConfigurationOfMetacello';
    install.

"Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version"
((Smalltalk at: #ConfigurationOfMetacello) project 
  version: #'previewBootstrap') load.

"Load the Preview version of Metacello from GitHub"
(Smalltalk at: #Metacello) new
  configuration: 'MetacelloPreview';
  version: #stable;
  repository: 'github://Metacello/metacello:configuration';
  load.

"Now load latest version of Metacello"
(Smalltalk at: #Metacello) new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  get.
(Smalltalk at: #Metacello) new
  baseline: 'Metacello';
  repository: 'github://Metacello/metacello:master/repository';
  load.

See the .travis.yml file for list of supported platforms and versions.

If you are interested in using GitHub with the Metacello Preview, you should read The excellent chapter on Metacello in Deep Into Pharo, then check out Getting Started with GitHub, the Metacello User Guide, the Metacello Scripting API, Issue #136 detail, and Metacello API Reference.

Some things to ponder

Dear package managers: dependency resolution results should be in version control (twitter comment thread).

Interesting problem - non-reproducable builds when using non-exact dependent project versions. Wanders into the territory that Metacello locks for local git clones addresses ... but being able to communicate to others in some fashion is an interesting idea.

Contribution

See docs/Contribute.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].