Traits and Script support #11

Closed
dalehenrich opened this Issue Mar 3, 2012 · 13 comments

Comments

Projects
None yet
3 participants
@dalehenrich
Owner

dalehenrich commented Mar 3, 2012

The methods visitClassTraitDefinition: visitScriptDefinition: visitTraitDefinition: in MCFileTreeAbstractStWriter are noops. We need to add support for these three methods in MCFileTreeStSnapshotWriter. We can safely ignore MCFileTreeStWriter since that is an older format ... the snapshot is the format of choice moving forward.

To read these definitions we'll need to extend the reader in MCFileTreeStSnapshotReader.

@dalehenrich dalehenrich referenced this issue Mar 3, 2012

Closed

traits, etc. #4

@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich Jun 13, 2012

Owner

traits are currently handled ...

Owner

dalehenrich commented Jun 13, 2012

traits are currently handled ...

@krono

This comment has been minimized.

Show comment
Hide comment
@krono

krono Apr 5, 2013

Collaborator

@dalehenrich I would hop onto it, if you like.

Collaborator

krono commented Apr 5, 2013

@dalehenrich I would hop onto it, if you like.

@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich Apr 5, 2013

Owner

Go for it!

----- Original Message -----
| From: "Tobias Pape" notifications@github.com
| To: "dalehenrich/filetree" filetree@noreply.github.com
| Cc: "Dale Henrichs" dhenrich@vmware.com
| Sent: Thursday, April 4, 2013 11:42:38 PM
| Subject: Re: [filetree] Traits and Script support (#11)
|
| @dalehenrich I would hop onto it, if you like.
|
| ---
| Reply to this email directly or view it on GitHub:
| #11 (comment)
|

Owner

dalehenrich commented Apr 5, 2013

Go for it!

----- Original Message -----
| From: "Tobias Pape" notifications@github.com
| To: "dalehenrich/filetree" filetree@noreply.github.com
| Cc: "Dale Henrichs" dhenrich@vmware.com
| Sent: Thursday, April 4, 2013 11:42:38 PM
| Subject: Re: [filetree] Traits and Script support (#11)
|
| @dalehenrich I would hop onto it, if you like.
|
| ---
| Reply to this email directly or view it on GitHub:
| #11 (comment)
|

@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich May 23, 2013

Owner

@krono, here's a test case for traits from @mircealungu in case you get to it before me ... )I'm at the beach on vacation with my sister for a couple of days):

Regarding the traits, the simplest test case is the following: 

1. Create a new category: 'FileTree-TraitsSupport'

2. In a class definition panel compile the following code: 

Trait named: #GreetingTrait
uses: {}
category: 'FileTree-TraitsSupport'

This gives you a trait. 
3. You can add a method to it:

sayHello
^'FileTree + Traits = Good Friends'

4. You can now define a new class: 

Object subclass: #TheRandomestObject
uses: GreetingTrait
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'FileTree-TraitsSupport'

5. File out the package 'FileTree-TraitsSupport' in a fileutils:// repo

6. Unload the  package 'FileTree-TraitsSupport'

7. You will get an error: 

"This package depends on the following classes:
  GreetingTrait
You must resolve these dependencies before you will be able to load these definitions: 
  GreetingTrait>>sayHello"

I am not sure if this is what you are looking for, but I hope it helps. If you want, I can also submit it as an issue.
Owner

dalehenrich commented May 23, 2013

@krono, here's a test case for traits from @mircealungu in case you get to it before me ... )I'm at the beach on vacation with my sister for a couple of days):

Regarding the traits, the simplest test case is the following: 

1. Create a new category: 'FileTree-TraitsSupport'

2. In a class definition panel compile the following code: 

Trait named: #GreetingTrait
uses: {}
category: 'FileTree-TraitsSupport'

This gives you a trait. 
3. You can add a method to it:

sayHello
^'FileTree + Traits = Good Friends'

4. You can now define a new class: 

Object subclass: #TheRandomestObject
uses: GreetingTrait
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'FileTree-TraitsSupport'

5. File out the package 'FileTree-TraitsSupport' in a fileutils:// repo

6. Unload the  package 'FileTree-TraitsSupport'

7. You will get an error: 

"This package depends on the following classes:
  GreetingTrait
You must resolve these dependencies before you will be able to load these definitions: 
  GreetingTrait>>sayHello"

I am not sure if this is what you are looking for, but I hope it helps. If you want, I can also submit it as an issue.
@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich Aug 7, 2013

Owner

Need to create some gemstone tests for reading the traits sample rep without choking...

Owner

dalehenrich commented Aug 7, 2013

Need to create some gemstone tests for reading the traits sample rep without choking...

@krono

This comment has been minimized.

Show comment
Hide comment
@krono

krono Aug 7, 2013

Collaborator

@dalehenrich If you give me time, I'll do that. Note that Andreas some time ago provided a 'flattenTraits' functionallty that flattens traits into their used classes, probably this is an option.

PS: I sent you an updated monticello package privately that would be able to load the MCDefinitons but would bail if you tried to load them

Collaborator

krono commented Aug 7, 2013

@dalehenrich If you give me time, I'll do that. Note that Andreas some time ago provided a 'flattenTraits' functionallty that flattens traits into their used classes, probably this is an option.

PS: I sent you an updated monticello package privately that would be able to load the MCDefinitons but would bail if you tried to load them

@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich Aug 7, 2013

Owner

@krono hmmm, haven't seen the private mail with the monticello package ... did you send it recently or a while back ... Not choking would be job one, but flattening the traits would be better ... I can wait as things are very hectic at the moment:) .... juggling a dog in heat plus vacation time plus too many projects:)

Owner

dalehenrich commented Aug 7, 2013

@krono hmmm, haven't seen the private mail with the monticello package ... did you send it recently or a while back ... Not choking would be job one, but flattening the traits would be better ... I can wait as things are very hectic at the moment:) .... juggling a dog in heat plus vacation time plus too many projects:)

dalehenrich added a commit that referenced this issue Aug 8, 2013

Merge pull request #99 from krono/pharo2.0
Add trait support for filetree, partially fixes #11, pharo 2.0 part

dalehenrich pushed a commit that referenced this issue Aug 8, 2013

Dale Henrichs
Merge pull request #99 from krono/pharo2.0
Add trait support for filetree, partially fixes #11, pharo 2.0 part(cherry picked from commit 4d56009)

Conflicts:

	repository/MonticelloFileTree-Core.package/MCFileTreeAbstractStWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/monticello.meta/version
	repository/MonticelloFileTree-Tests.package/monticello.meta/version
@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich Aug 8, 2013

Owner

With af3ffdd, we've got the traits support integrated into squeak4.3, pharo2.0 and pharo3.0 ((there are failures)[https://travis-ci.org/dalehenrich/filetree/builds/9990343] over and above the (pre traits integration tests)[https://travis-ci.org/dalehenrich/filetree/builds/9402490]), but those additional failures could very easily be due to something changing in Pharo3.0, so we'll call this issue fixed

Owner

dalehenrich commented Aug 8, 2013

With af3ffdd, we've got the traits support integrated into squeak4.3, pharo2.0 and pharo3.0 ((there are failures)[https://travis-ci.org/dalehenrich/filetree/builds/9990343] over and above the (pre traits integration tests)[https://travis-ci.org/dalehenrich/filetree/builds/9402490]), but those additional failures could very easily be due to something changing in Pharo3.0, so we'll call this issue fixed

@dalehenrich dalehenrich closed this Aug 8, 2013

@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich Aug 8, 2013

Owner

@krono and @estebanlm ... 1.0.5 is going to take just a bit longer than I'd hoped ... it turns out that Tobias' refactoring and the work I did on Issues #92 is colliding, so I'm going to have to pull out Tobias' refactoring work separately and merge that into the fixes for those issues, then I will be able to integrate the fexes with Tobias's work ... naturally the work I did on issue #92 is exactly in the area where Tobias did his refactoring, so the refactoring won't survive intact:( ... ah well, that's the way the world goes around ...

Tobias ... the clue for you (and me) would have been the fact that there were commits on the master branch that had not been merged into the squeak4.3 branch before you began your work ... I thought I was the only person active in the repository, so I didn't need to do the merge until I was ready to release ... oh well, you didn't know to look ... and now I know to warn folks :)

Owner

dalehenrich commented Aug 8, 2013

@krono and @estebanlm ... 1.0.5 is going to take just a bit longer than I'd hoped ... it turns out that Tobias' refactoring and the work I did on Issues #92 is colliding, so I'm going to have to pull out Tobias' refactoring work separately and merge that into the fixes for those issues, then I will be able to integrate the fexes with Tobias's work ... naturally the work I did on issue #92 is exactly in the area where Tobias did his refactoring, so the refactoring won't survive intact:( ... ah well, that's the way the world goes around ...

Tobias ... the clue for you (and me) would have been the fact that there were commits on the master branch that had not been merged into the squeak4.3 branch before you began your work ... I thought I was the only person active in the repository, so I didn't need to do the merge until I was ready to release ... oh well, you didn't know to look ... and now I know to warn folks :)

@estebanlm

This comment has been minimized.

Show comment
Hide comment
@estebanlm

estebanlm Aug 8, 2013

@dalehenrich ok, we are already using a "homemade" version (that I commited to ss3), so we can wait... interesting times are coming, he :)

@dalehenrich ok, we are already using a "homemade" version (that I commited to ss3), so we can wait... interesting times are coming, he :)

@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich Aug 8, 2013

Owner

Esteban,

Careful now, if you tell me you can wait, you need to tell me how long you are willing to wait:)

I've got a couple of other things that I want to nail today, but I'll just plan on getting it pushed out within the next week ...

Interesting times, eh? How long do I wait to hear more? Perhaps I'll get 1.0.5 out earlier for more details:)

Dale

Dale

----- Original Message -----

| From: "Esteban Lorenzano" notifications@github.com
| To: "dalehenrich/filetree" filetree@noreply.github.com
| Cc: "Dale Henrichs" dale.henrichs@gemtalksystems.com
| Sent: Thursday, August 8, 2013 11:15:05 AM
| Subject: Re: [filetree] Traits and Script support (#11)

| @dalehenrich ok, we are already using a "homemade" version (that I
| commited to ss3), so we can wait... interesting times are coming, he
| :)
| —
| Reply to this email directly or view it on GitHub .

Owner

dalehenrich commented Aug 8, 2013

Esteban,

Careful now, if you tell me you can wait, you need to tell me how long you are willing to wait:)

I've got a couple of other things that I want to nail today, but I'll just plan on getting it pushed out within the next week ...

Interesting times, eh? How long do I wait to hear more? Perhaps I'll get 1.0.5 out earlier for more details:)

Dale

Dale

----- Original Message -----

| From: "Esteban Lorenzano" notifications@github.com
| To: "dalehenrich/filetree" filetree@noreply.github.com
| Cc: "Dale Henrichs" dale.henrichs@gemtalksystems.com
| Sent: Thursday, August 8, 2013 11:15:05 AM
| Subject: Re: [filetree] Traits and Script support (#11)

| @dalehenrich ok, we are already using a "homemade" version (that I
| commited to ss3), so we can wait... interesting times are coming, he
| :)
| —
| Reply to this email directly or view it on GitHub .

@dalehenrich dalehenrich reopened this Aug 8, 2013

@dalehenrich dalehenrich closed this Aug 8, 2013

dalehenrich pushed a commit that referenced this issue Aug 8, 2013

Dale Henrichs
Issue #101: MCFileTreeStCypressReader>>loadVersionInfo make changes c…
…onsistent with Pharo2.0 and friends MCFileTreeStCypressWriter>>writeDefinitions:, MCFileTreeStSnapshotWriter>>writeDefinitions:, and MCFileTreeStSnapshotWriter>>writeMethodHolderDefinitions:extension:to:do: added to match restructuring done by @krono to fix Issue #11

dalehenrich pushed a commit that referenced this issue Aug 9, 2013

Dale Henrichs
Merge branch 'master' into gemstone2.4
(Issue #11, #92, #93, #101)

Conflicts:
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/instance/writeDefinitions..st
	repository/MonticelloFileTree-Core.package/monticello.meta/version

dalehenrich pushed a commit that referenced this issue Aug 9, 2013

Dale Henrichs
Merge branch 'master' into squeak4.3
(Issue #11, #92, #93, #101)

Conflicts:
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/loadVersionInfo.st
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/instance/writeDefinitions..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/instance/writeDefinitions..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/instance/writeMethodHolderDefinitions.extension.to.do..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/monticello.meta/version
	repository/MonticelloFileTree-Tests.package/monticello.meta/version

dalehenrich pushed a commit that referenced this issue Aug 9, 2013

Dale Henrichs
Merge branch 'master' into squeak4.3
(Issue #11, #92, #93, #101)

Conflicts:
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/instance/writeDefinitions..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/methodProperties.json

dalehenrich pushed a commit that referenced this issue Aug 9, 2013

Dale Henrichs
Merge branch 'master' into pharo1.1_dev
(Issue #11, #92, #93, #101)

Conflicts:
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/monticello.meta/version
	repository/MonticelloFileTree-Tests.package/monticello.meta/version

dalehenrich pushed a commit that referenced this issue Aug 9, 2013

Dale Henrichs
Merge branch 'master' into pharo1.4_dev
(Issue #11, #92, #93, #101)

Conflicts:
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/monticello.meta/version
	repository/MonticelloFileTree-Tests.package/monticello.meta/version

dalehenrich pushed a commit that referenced this issue Aug 9, 2013

Dale Henrichs
Merge branch 'master' into pharo2.0_dev
(Issue #11, #92, #93, #101)

Conflicts:
	README.md
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/instance/writeDefinitions..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/instance/writeDefinitions..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/instance/writeMethodHolderDefinitions.extension.to.do..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/monticello.meta/version
	repository/MonticelloFileTree-Tests.package/monticello.meta/version

dalehenrich pushed a commit that referenced this issue Aug 9, 2013

Dale Henrichs
Merge branch 'master' into pharo3.0_dev
(Issue #11, #92, #93, #101)

Conflicts:
	README.md
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/loadVersionInfo.st
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/instance/writeDefinitions..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/instance/writeDefinitions..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/instance/writeMethodHolderDefinitions.extension.to.do..st
	repository/MonticelloFileTree-Core.package/MCFileTreeStSnapshotWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/monticello.meta/version
	repository/MonticelloFileTree-Tests.package/monticello.meta/version
@krono

This comment has been minimized.

Show comment
Hide comment
@krono

krono Aug 9, 2013

Collaborator

@dalehenrich Note that my stuff does not bring Script support. Shall I reopen or make a new?

Collaborator

krono commented Aug 9, 2013

@dalehenrich Note that my stuff does not bring Script support. Shall I reopen or make a new?

@dalehenrich

This comment has been minimized.

Show comment
Hide comment
@dalehenrich

dalehenrich Aug 9, 2013

Owner

make a new one ...

----- Original Message -----

| From: "Tobias Pape" notifications@github.com
| To: "dalehenrich/filetree" filetree@noreply.github.com
| Cc: "Dale Henrichs" dale.henrichs@gemtalksystems.com
| Sent: Friday, August 9, 2013 1:24:34 AM
| Subject: Re: [filetree] Traits and Script support (#11)

| @dalehenrich Note that my stuff does not bring Script support. Shall
| I reopen or make a new?
| —
| Reply to this email directly or view it on GitHub .

Owner

dalehenrich commented Aug 9, 2013

make a new one ...

----- Original Message -----

| From: "Tobias Pape" notifications@github.com
| To: "dalehenrich/filetree" filetree@noreply.github.com
| Cc: "Dale Henrichs" dale.henrichs@gemtalksystems.com
| Sent: Friday, August 9, 2013 1:24:34 AM
| Subject: Re: [filetree] Traits and Script support (#11)

| @dalehenrich Note that my stuff does not bring Script support. Shall
| I reopen or make a new?
| —
| Reply to this email directly or view it on GitHub .

@krono krono referenced this issue Aug 9, 2013

Merged

Script support #102

dalehenrich pushed a commit that referenced this issue Aug 10, 2013

Dale Henrichs
Merge branch 'master' into pharo1.3_dev
(Issue #11, #92, #97, #101)

Conflicts:
	repository/MonticelloFileTree-Core.package/MCFileTreeStCypressWriter.class/methodProperties.json
	repository/MonticelloFileTree-Core.package/monticello.meta/version
	repository/MonticelloFileTree-Tests.package/monticello.meta/version

dalehenrich pushed a commit that referenced this issue Aug 11, 2013

Dale Henrichs
release 1.0.5:
-fix Issue #11: Traits and Script support
- fix Issue #92: Mac case insensitivity `must` be addressed
- fix Issue #97: Load packages from repos with no monticello meta data
- fix Issue #101: Refactor MCFileTreeStCypressWriter>>writeDefinitions: to ease Issue #11 integration
for details: https://github.com/dalehenrich/filetree/issues?direction=desc&milestone=9&page=1&sort=updated&state=closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment