dalehenrich / filetree

Monticello repository for directory-based Monticello packages enabling the use of git, svn, etc. for managing Smalltalk source code.
https://github.com/CampSmalltalk/Cypress
MIT License
133 stars 26 forks source link

Trying to fix issue #175 but not luck #176

Closed marianopeck closed 8 years ago

marianopeck commented 8 years ago

@dalehenrich @ThierryGoubier

DO NOT INTEGRATE THIS.

Hi guys, I tried a solution for this using custom project attributes with the OS name and then with for:do: but it didn't work as it didn't bring me the depenencies (OSProcess in MacOS).

Dale, can you think of something I did wrong?

marianopeck commented 8 years ago

@dalehenrich Any idea about this?

dalehenrich commented 8 years ago

@marianopeck I think the "right way" to do this is to implement the method #customProjectAttributes to create the attributes.

Your call to super causes the project to be created before your custom attributes are added, so they don't take effect ... the custom attributes have to be defined pretty early in project creation (from ConfigurationOf>>project):

project
  ^ project
    ifNil: [ 
      "Bootstrap Metacello if it is not already loaded"
      self class ensureMetacello.
      project := self projectClass new
        projectAttributes: self customProjectAttributes.    "Create the Metacello project"
      project versionNumberClass: self versionNumberClass.
      project class versionConstructorClass on: self project: project.  "Construct the project"
      project loadType: #'linear'.  "change to #atomic if desired"
      project ]
marianopeck commented 8 years ago

@dalehenrich @ThierryGoubier

This last commit should work. Could you please integrate this into pharo5.0_dev branch?