Giter VIP home page Giter VIP logo

metacello-wiki's Introduction

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.

metacello-wiki's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

metacello-wiki's Issues

#repositoryOverrides: should be in MetacelloMCVersion

To override repositories one uses this expression:

  | version |
  version := ConfigurationOfGLASS project version: '1.0-beta.2'.
  version versionSpec loader repositoryOverrides: <list of MC repositories>.
  version load: 'Seaside3.0 Dev'.

That's not very obvious...

should pull the #repositoryOverrides up to version.

see
http://lists.gforge.inria.fr/pipermail/pharo-project/2009-November/015820.html
for context

Original issue reported on code.google.com by [email protected] on 10 Nov 2009 at 6:25

Imported version names

http://groups.google.com/group/metacello/browse_frm/thread/2e25a698f68683f8/e9e1
6508853d6799#e9e16508853d6799

Original issue reported on code.google.com by [email protected] on 21 Dec 2009 at 8:01

#linear should be default load type

When loading packages, #linear is never wrong ... as long at the required
packages are defined correctly and the packages are formed correctly. 

#atomic loading is most useful for updating (in the case where methods are
moved between packages), but it can also be useful when there is a bit of
incest between packages ...

Both of those cases can be considered as a special case.

Original issue reported on code.google.com by [email protected] on 7 Dec 2009 at 11:13

Gofer #fetch support

See
http://lists.gforge.inria.fr/pipermail/pharo-project/2009-December/017082.html
for thread ...

Sending #fetch (or something) to a version wshould result in a fetch being
done on each repository...Note that #fetch is still under development by
Lukas...

Original issue reported on code.google.com by [email protected] on 9 Dec 2009 at 5:47

Standardize date format for spec

The current date attribute is a string. The current format is

MM/DD/YYYY HH:MM

that is U.S. centric.

It should be standardized to a common date format, e.g. the SQL date format:

YYYY-MM-DD HH:MM

so that december 3rd can be understood by everyone in the world.

Current: 12/03/2009
is that December 3rd or March 12th?

Proposed: 2009-12-03.

Or maybe some ISO or ANSI format that have not ambiguities.

Thanks


Original issue reported on code.google.com by [email protected] on 14 Jan 2010 at 10:30

build number integrated into version for #development versions

I find that when I'm using #development blessing, I'm updating the version
on a regular basis, but of course it isn't desirable to snap off a version
every time, but it would be interesting to have a build counter that could
be displayed so that folks have a chance to figure out if things have
changed or not, just by looking at a version string ... 

not sure if I want the official version name to have a build number...but
sometimes it's convenient ...


Original issue reported on code.google.com by [email protected] on 11 Nov 2009 at 4:44

Current Version OB command gives wrong answer

If you explicitly load 1.0-beta.2 from the ;Load Version' menu. the
'Current Version' command reports '~1.0beta.0' as the current version.

As a side effect `MetacelloConfiguration loadTools` doesn't do the expected
thing

Original issue reported on code.google.com by [email protected] on 12 Oct 2009 at 5:11

Need of predoits/postdoits for a whole project, not only for a particular package

I would need to have preDoIts and postDoIts for a complete
ConfigurationOfXXX not only per package.

For more information read the thread with subject: "Questions about Metacello"

In addition maybe it make sense to: 
1) Or put a validation so that the argument is a selector
2) Support to receive a block or a selector. Or just block. 

I need this in several Configurations, included GlorpDBX and Pharo. 

Thanks


Original issue reported on code.google.com by marianopeck on 3 Jan 2010 at 3:36

Online tutorial needs to be finished

the online tutorial is a duplication of the code-based tutorial and is
currently unfinished ... 

It is worth validating that the pattern used for the existing tutorial
makes sense and then it's just a matter of finishing off the missing lessons.


Original issue reported on code.google.com by [email protected] on 13 Jan 2010 at 8:36

allow specification UUID of Monticello package in package spec

Stef brought up the original issue:

- When you specify a list for repositories is it not dangerous since  
MC does not inforce
unique number accross repositories? 

Then Julian chimed in:

Don't MC packages have a UUID though? Maybe you should support
specifying that as well? 

Original issue reported on code.google.com by [email protected] on 10 Sep 2009 at 3:17

Wait cursor during load

See Pharo Issue 1522 (http://code.google.com/p/pharo/issues/detail?id=1522)
for description of problem and a workaround...


Original issue reported on code.google.com by [email protected] on 30 Nov 2009 at 7:48

Handle boundary between #atomic and #linear loads ...

I am suspicious that the boundary between #linear and #atomic loads are not
handled quite right, since there is no code currently reasoning about the
transitions ...

Ought to come up with the rules for transitions and enforce them...

Original issue reported on code.google.com by [email protected] on 23 Dec 2009 at 7:35

'stream is already defined in a subclass of WAHtmlDocument'

What steps will reproduce the problem?

Downloaded 2.8.4 Pharo/Seaside one click image 
http://www.seaside.st/distributions/Seaside-2.8.4.app.zip

From Monticello loaded latest Metacello:

    Name: Seaside-Metacello-Configuration-dkh.17
    Author: dkh
    Time: 27 October 2009, 8:29:50 am
    UUID: fa933592-9047-4e63-b42c-e926fe58a925
    Ancestors: Seaside-Metacello-Configuration-dkh.16

    - missed Seaside-Pharo-Canvas first time around

From a workspace, ran: SeasideConfiguration loadLatestVersion

threw 'stream is already defined in a subclass of WAHtmlDocument'

What is the expected output? completed load
What do you see instead? walkback


What version of the product are you using? On what operating system?
seaside/pharo/metacello as above. Ubuntu 9.04

Cheers,   ...Stan

Please provide any additional information below.

Walkback attached

Original issue reported on code.google.com by [email protected] on 15 Dec 2009 at 9:41

Attachments:

Only load the core in ensureMetacello

Hi Dale! What do you think about putting a project in the ensureMetacello ?    

I mean...I would like ensureMetacello do something like  
ConfigurationOfMetacello project lastVersion load
or something similar instead of ConfigurationOfMetacello project
lastVersion load
because with this way (as it is now) every time I want to load it in a
PharoCore image it warns me about the dependencies (ok, because I don't
have OB installed).

I would be cool if ensueMetacello only installs the "core".

What do you think? Maybe I am just the only want who rather this, so in
this case just ignore me :)


Original issue reported on code.google.com by marianopeck on 3 Jan 2010 at 3:38

Better filter for Branch blessing and lastVersion

see discussion in first couple of messages in:

http://groups.google.com/group/metacello/browse_frm/thread/cf8239bba80da958?tvc=
1

Keep in mind that the 'final filter' needs to include both the version
pattern and blessing...

Original issue reported on code.google.com by [email protected] on 8 Dec 2009 at 9:48

Document change in package repository behavior

With the fix for Issue 40, the Metacello repository lookup behavior shifted.

Prior to 1.0-beta.20, when a repository was specified on a package, the
version repositories were included in the lookup up list, so that the
package version could be found in another repository.

With 1.0-beta.20, when a repository (or list) is specified for a package,
only the version repositories are not used for lookup.

This is closer to the way I expect it to work and now that you can specify
multiple repositories for a package, there isn't a real limitation.

Original issue reported on code.google.com by [email protected] on 14 Jan 2010 at 5:51

Should have #loadReport message for loader...

see
http://groups.google.com/group/metacello/browse_frm/thread/d7bb40c50d653440.

The idea would be that we'd answer a load report object that could answer
supply which projects/packages were loaded ... and the order that they were
loaded in ...

Original issue reported on code.google.com by [email protected] on 18 Jan 2010 at 8:25

Eliminate use of #versionInfoFor:from:do:

With the work on Issue 40, #versionInfoFor:from:do: is really no longer
needed. GoferPackages of one form or another can be used to look up and
repositories and versionInfo information. Gofer does commits (and copies?)
so that just about all uses of #versionInfoFor:from:do: and friends can be
eliminated. 

They aren't on the mainline path, so it is less of a priority to get rid of
them.

Original issue reported on code.google.com by [email protected] on 13 Jan 2010 at 1:39

'save packages' should recurse through projects

You should be able to start at a top-level configuration and get all of the
packages saved, even updating the package methods and saving the projects
all in one step ... at least that's the theory...don't want a whole lot of
prompting going on, but some level of prompting will be necessary ... gofer
does mass commits so look at what it does, too...

Original issue reported on code.google.com by [email protected] on 13 Nov 2009 at 6:06

occassional load of older versions of packages

Mariano noticed a problem with loading an older version of OB even though
the later version should have been current:

  http://groups.google.com/group/metacello/browse_frm/thread/e8a08b3ed1a9b772#

During some of my own testing of configs, I was able to reproduce the
problem and tracked it down to the fact that #findCurrentVersion expects
all of the packages for a project to be loaded and current. Therefore for a
project that was already partially loaded, a load of the older project is
done ... I'm now putting together a test case for the problem

Original issue reported on code.google.com by [email protected] on 19 Jan 2010 at 1:42

New version of Gofer breaks Metacello...

From Doru (http://groups.google.com/group/metacello/msg/baf697441def95f0):

Gofer has changed significantly, and it looks like it breaks metacello.

In particular, MetacelloGoferPackage inherits from GoferReference  
which does not understand setName: and setRepository: anymore.

Original issue reported on code.google.com by [email protected] on 14 Dec 2009 at 11:45

Use ConfigurationOfOB for Metacello...

Now that OB has configurations, the Metacello tools should be made
dependent upon upon that configuration.

See http://groups.google.com/group/metacello/msg/4480c6c7c1e6cda3

Original issue reported on code.google.com by [email protected] on 4 Jan 2010 at 5:43

Metacello load fails on Squeak

What steps will reproduce the problem?
1. Fire up current Squeak trunk image.
2. Load a configuration (I used ConfigurationOfFFI)

Loading Metacello fails in the middle with some OB dependencies. 
It would be good if the loading of the OB parts could be made optional,
Squeak has by default OB not loaded and it'd be a sizable requirement.

Original issue reported on code.google.com by [email protected] on 6 Jan 2010 at 4:29

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.