Failing to add a valid project entry in GsDevKit_home

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Failing to add a valid project entry in GsDevKit_home

GLASS mailing list
Hi Dale,

I saw your examples of doing something like:

  project entry --url=http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston /sys/local/server/projects

But...if you ask me, I would prefer to self-contain my .ston projects together with my GsSysLocal fork. In other words, I would have my .ston directly committed into /sys/local/server/projects.
So... I just added a project entry there, but then (before trying `install` and `load`), I cannot even do a `project list` or a `project refresh` in a tODE of an existing stone. It always errors with:

Topez ERROR: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found

Below is my  $GS_HOME/sys/local/server/projects/HighchartsSt.ston


TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    projectUrl: \'<a href="https://github.com/ba-st/HighchartsSt\">https://github.com/ba-st/HighchartsSt\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import-issue28/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import-issue28\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


Am I doing something obviously wrong in my .ston ?  I thought that maybe I had to explicitly register this project entry even it is a known location..but I haven't find a way of doing that. All the examples of `project --help entry` does not seem to help me.


Thanks in advance, 



--

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Failing to add a valid project entry in GsDevKit_home

GLASS mailing list

I would like to see a stack trace of the error ...


On 12/21/17 6:25 AM, Mariano Martinez Peck via Glass wrote:
Hi Dale,

I saw your examples of doing something like:

  project entry --url=http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston /sys/local/server/projects

But...if you ask me, I would prefer to self-contain my .ston projects together with my GsSysLocal fork. In other words, I would have my .ston directly committed into /sys/local/server/projects.
So... I just added a project entry there, but then (before trying `install` and `load`), I cannot even do a `project list` or a `project refresh` in a tODE of an existing stone. It always errors with:

Topez ERROR: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found

Below is my  $GS_HOME/sys/local/server/projects/HighchartsSt.ston


TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import-issue28/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import-issue28\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


Am I doing something obviously wrong in my .ston ?  I thought that maybe I had to explicitly register this project entry even it is a known location..but I haven't find a way of doing that. All the examples of `project --help entry` does not seem to help me.


Thanks in advance, 



--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Failing to add a valid project entry in GsDevKit_home

GLASS mailing list
In reply to this post by GLASS mailing list

I've create a project entry based on yours ... make sure that the name of the node and the name of the .ston file match ... I don't see a branch named highchart6-import-issue28 and that created a bit of a problem ... until you actually clone the repository you don't want to lock it ... if you use `project clone Highchartst` tODE will lock the project enry for you ...

In all my playing around I have not seen a "registratrion for projectSpec" error, so I'm missing something ...

Dale


On 12/21/17 6:25 AM, Mariano Martinez Peck via Glass wrote:
Hi Dale,

I saw your examples of doing something like:

  project entry --url=http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston /sys/local/server/projects

But...if you ask me, I would prefer to self-contain my .ston projects together with my GsSysLocal fork. In other words, I would have my .ston directly committed into /sys/local/server/projects.
So... I just added a project entry there, but then (before trying `install` and `load`), I cannot even do a `project list` or a `project refresh` in a tODE of an existing stone. It always errors with:

Topez ERROR: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found

Below is my  $GS_HOME/sys/local/server/projects/HighchartsSt.ston


TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import-issue28/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import-issue28\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


Am I doing something obviously wrong in my .ston ?  I thought that maybe I had to explicitly register this project entry even it is a known location..but I haven't find a way of doing that. All the examples of `project --help entry` does not seem to help me.


Thanks in advance, 



--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Failing to add a valid project entry in GsDevKit_home

GLASS mailing list


On Thu, Dec 21, 2017 at 2:50 PM, Dale Henrichs via Glass <[hidden email]> wrote:

I've create a project entry based on yours ... make sure that the name of the node and the name of the .ston file match ... I don't see a branch named highchart6-import-issue28 and that created a bit of a problem ... until you actually clone the repository you don't want to lock it ... if you use `project clone Highchartst` tODE will lock the project enry for you ...

In all my playing around I have not seen a "registratrion for projectSpec" error, so I'm missing something ...


Sorry, I just deleted the branch a few minutes ago, but still with another existing branch I have the same problem:

TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    projectUrl: \'<a href="https://github.com/ba-st/HighchartsSt\">https://github.com/ba-st/HighchartsSt\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


File is named:

/home/quuve/GsDevKit_home/sys/local/server/projects/HighchartsSt.ston 



Below is a stacktrace:


[$ $GS_HOME/bin/todeIt debrisDemo_340 project list
=================
   GsDevKit script: todeIt debrisDemo_340 project list
              path: /home/quuve/GsDevKit_home/bin/todeIt
=================
performing tode command: __project list__
'Pharo cannot write to the changes file named /home/quuve/GsDevKit_home/shared/pharo/gsDevKitCommandLine.changes.

Please check that you have write permission for this file.

You won''t be able to save this image correctly until you fix this.'

tode > project list[Info]: Loaded /home/quuve/GsDevKit_home/shared/pharo/pharo-vm/libfloss-3.4.0-32.so
[12/21/2017 12:59:13.174 EST]
  gci login: currSession 1  rpc gem processId 15108 socket 10

========>Server Stack:

EXCEPTION: TodeCommandError: registration for projectSpec: HighchartsSt not found
1. TodeCommandError(AbstractException)>>_signalWith: @6 line 25
2. TodeCommandError(AbstractException)>>signal: @3 line 7
3. TodeCommandError class(AbstractException class)>>signal: @3 line 4
4. TDShellTool(TDAbstractDevTool)>>error: @2 line 2
5. [] in TDShellTool>>findProjectRegistrationExact: @18 line 5
6. Array(SequenceableCollection)>>detect:ifNone: @27 line 23
7. TDShellTool>>findProjectRegistrationExact: @5 line 4
8. [] in TDMetacelloTool>>projectRegistrationDefinitionMap @35 line 20
9. [] in UndefinedObject(TDMetacelloTool)>>scanProjectDir:forProjects: @18 line 15
10. [] in TDProxyLeafNode>>composedChildrenDo: @9 line 5
11. [] in UndefinedObject(TDComposedDirectoryNode)>>composedChildrenDo: @8 line 3
12. [] in UndefinedObject(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @13 line 5
13. OrderedCollection(Collection)>>do: @6 line 10
14. TDPathComposedProjectEntryNodeContents(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @6 line 5
15. TDComposedProjectEntryNode(TDComposedDirectoryNode)>>composedChildrenDo: @4 line 3
16. TDRawGatewayNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
17. [] in TDFileSystemLeafNode>>composedChildrenDo: @13 line 4
18. TDFileSystemLeafNode(ExecBlock)>>on:do: @3 line 44
19. TDFileSystemLeafNode>>composedChildrenDo: @7 line 5
20. TDProxyLeafNode>>composedChildrenDo: @4 line 3
21. TDObjectGatewayLeafNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
22. TDMetacelloTool>>scanProjectDir:forProjects: @3 line 3
23. TDMetacelloTool>>scanForProjects: @6 line 3
24. TDMetacelloTool>>projectRegistrationDefinitionMap @10 line 8
25. TDMetacelloTool>>projectRegistrationDefinitionList @3 line 3
26. [] in TDMetacelloTool>>projectlist @9 line 13
27. TDMetacelloProjectBrowser>>clientList:listElement: @4 line 4
28. [] in TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>clientListBlock @6 line 2
29. TDMiniToolSpec>>clientList:listElement: @4 line 3
30. TDMiniToolClientListElementBuilder>>clientList: @3 line 2
31. TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>firstList: @2 line 2
32. TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>buildClientElementUsing:editorAspect: @20 line 15
33. [] in UndefinedObject(TDTopezServer)>>clientElementFor:using: @11 line 9
34. [] in TDTopezServer>>editorNodeFor:aspect:do: @13 line 7
35. [] in UndefinedObject(TDTopezServer)>>editorNodeClassNameFor:aspect:do: @13 line 10
36. TDTopezServer>>lookupClassNameFor:aspect:defaultAspect:in:do: @25 line 28
37. TDTopezServer>>editorNodeClassNameFor:aspect:do: @6 line 3
38. TDTopezServer>>editorNodeFor:aspect:do: @3 line 3
39. TDTopezServer>>clientElementFor:using: @4 line 4
40. TDTopezServer>>edit:using: @3 line 3
41. TDMetacelloProjectBrowser(Object)>>editUsing: @4 line 3
42. TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>open @3 line 2
43. [] in TDMetacelloTool>>projectlist @41 line 35
44. Dictionary(AbstractDictionary)>>at:ifPresent:ifAbsent: @4 line 5
45. TDMetacelloTool>>projectlist @5 line 27
46. TDMetacelloTool(Object)>>perform: @1 line 1
47. TDMetacelloTool class(TDAbstractDevTool class)>>performSubCommand:objIn:commandOptions:todeCommand: @27 line 23
48. [] in TDMetacelloTool class>>project @6 line 5
49. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @21 line 14
50. TDTopezServer>>evaluateCommand:objIn: @19 line 22
51. TDTopezServer>>evaluateSTONCommand: @10 line 6
52. Executed Code
53. GsNMethod class>>_gsReturnToC @1 line 1

GemStone Server error: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found
Error on or near line 99 :: devKitCommandLine todeIt debrisDemo_340 :: devKitCommandLine todeIt debrisDemo_340
Error on or near line 58 :: todeIt debrisDemo_340 project list :: todeIt debrisDemo_340 project list
[debrisdemo@quuveserver1 backups]$

 

Dale


On 12/21/17 6:25 AM, Mariano Martinez Peck via Glass wrote:
Hi Dale,

I saw your examples of doing something like:

  project entry --url=http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston /sys/local/server/projects

But...if you ask me, I would prefer to self-contain my .ston projects together with my GsSysLocal fork. In other words, I would have my .ston directly committed into /sys/local/server/projects.
So... I just added a project entry there, but then (before trying `install` and `load`), I cannot even do a `project list` or a `project refresh` in a tODE of an existing stone. It always errors with:

Topez ERROR: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found

Below is my  $GS_HOME/sys/local/server/projects/HighchartsSt.ston


TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import-issue28/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import-issue28\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


Am I doing something obviously wrong in my .ston ?  I thought that maybe I had to explicitly register this project entry even it is a known location..but I haven't find a way of doing that. All the examples of `project --help entry` does not seem to help me.


Thanks in advance, 



--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass




--

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Failing to add a valid project entry in GsDevKit_home

GLASS mailing list

try setting locked to false in your project entry ... I don't know that state of your image ... is highchartsSt already loaded ... from reading code in the stack it doesn't seem that you've got the project loaded (registered as loaded with Metacello) which is where the error is coming from ... and findExact ... is called when the project entry is locked, but the registration is not locked .... if you _have_ loaded HightChartsSt already then it seems that there is a true mismatch ... but again unlocking the project entry will avoid the logic where the project entry and project registrations are trying to be reconciled ...

Dale

On 12/21/17 10:00 AM, Mariano Martinez Peck wrote:


On Thu, Dec 21, 2017 at 2:50 PM, Dale Henrichs via Glass <[hidden email]> wrote:

I've create a project entry based on yours ... make sure that the name of the node and the name of the .ston file match ... I don't see a branch named highchart6-import-issue28 and that created a bit of a problem ... until you actually clone the repository you don't want to lock it ... if you use `project clone Highchartst` tODE will lock the project enry for you ...

In all my playing around I have not seen a "registratrion for projectSpec" error, so I'm missing something ...


Sorry, I just deleted the branch a few minutes ago, but still with another existing branch I have the same problem:

TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


File is named:

/home/quuve/GsDevKit_home/sys/local/server/projects/HighchartsSt.ston 



Below is a stacktrace:


[$ $GS_HOME/bin/todeIt debrisDemo_340 project list
=================
   GsDevKit script: todeIt debrisDemo_340 project list
              path: /home/quuve/GsDevKit_home/bin/todeIt
=================
performing tode command: __project list__
'Pharo cannot write to the changes file named /home/quuve/GsDevKit_home/shared/pharo/gsDevKitCommandLine.changes.

Please check that you have write permission for this file.

You won''t be able to save this image correctly until you fix this.'

tode > project list[Info]: Loaded /home/quuve/GsDevKit_home/shared/pharo/pharo-vm/libfloss-3.4.0-32.so
[12/21/2017 12:59:13.174 EST]
  gci login: currSession 1  rpc gem processId 15108 socket 10

========>Server Stack:

EXCEPTION: TodeCommandError: registration for projectSpec: HighchartsSt not found
1. TodeCommandError(AbstractException)>>_signalWith: @6 line 25
2. TodeCommandError(AbstractException)>>signal: @3 line 7
3. TodeCommandError class(AbstractException class)>>signal: @3 line 4
4. TDShellTool(TDAbstractDevTool)>>error: @2 line 2
5. [] in TDShellTool>>findProjectRegistrationExact: @18 line 5
6. Array(SequenceableCollection)>>detect:ifNone: @27 line 23
7. TDShellTool>>findProjectRegistrationExact: @5 line 4
8. [] in TDMetacelloTool>>projectRegistrationDefinitionMap @35 line 20
9. [] in UndefinedObject(TDMetacelloTool)>>scanProjectDir:forProjects: @18 line 15
10. [] in TDProxyLeafNode>>composedChildrenDo: @9 line 5
11. [] in UndefinedObject(TDComposedDirectoryNode)>>composedChildrenDo: @8 line 3
12. [] in UndefinedObject(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @13 line 5
13. OrderedCollection(Collection)>>do: @6 line 10
14. TDPathComposedProjectEntryNodeContents(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @6 line 5
15. TDComposedProjectEntryNode(TDComposedDirectoryNode)>>composedChildrenDo: @4 line 3
16. TDRawGatewayNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
17. [] in TDFileSystemLeafNode>>composedChildrenDo: @13 line 4
18. TDFileSystemLeafNode(ExecBlock)>>on:do: @3 line 44
19. TDFileSystemLeafNode>>composedChildrenDo: @7 line 5
20. TDProxyLeafNode>>composedChildrenDo: @4 line 3
21. TDObjectGatewayLeafNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
22. TDMetacelloTool>>scanProjectDir:forProjects: @3 line 3
23. TDMetacelloTool>>scanForProjects: @6 line 3
24. TDMetacelloTool>>projectRegistrationDefinitionMap @10 line 8
25. TDMetacelloTool>>projectRegistrationDefinitionList @3 line 3
26. [] in TDMetacelloTool>>projectlist @9 line 13
27. TDMetacelloProjectBrowser>>clientList:listElement: @4 line 4
28. [] in TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>clientListBlock @6 line 2
29. TDMiniToolSpec>>clientList:listElement: @4 line 3
30. TDMiniToolClientListElementBuilder>>clientList: @3 line 2
31. TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>firstList: @2 line 2
32. TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>buildClientElementUsing:editorAspect: @20 line 15
33. [] in UndefinedObject(TDTopezServer)>>clientElementFor:using: @11 line 9
34. [] in TDTopezServer>>editorNodeFor:aspect:do: @13 line 7
35. [] in UndefinedObject(TDTopezServer)>>editorNodeClassNameFor:aspect:do: @13 line 10
36. TDTopezServer>>lookupClassNameFor:aspect:defaultAspect:in:do: @25 line 28
37. TDTopezServer>>editorNodeClassNameFor:aspect:do: @6 line 3
38. TDTopezServer>>editorNodeFor:aspect:do: @3 line 3
39. TDTopezServer>>clientElementFor:using: @4 line 4
40. TDTopezServer>>edit:using: @3 line 3
41. TDMetacelloProjectBrowser(Object)>>editUsing: @4 line 3
42. TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>open @3 line 2
43. [] in TDMetacelloTool>>projectlist @41 line 35
44. Dictionary(AbstractDictionary)>>at:ifPresent:ifAbsent: @4 line 5
45. TDMetacelloTool>>projectlist @5 line 27
46. TDMetacelloTool(Object)>>perform: @1 line 1
47. TDMetacelloTool class(TDAbstractDevTool class)>>performSubCommand:objIn:commandOptions:todeCommand: @27 line 23
48. [] in TDMetacelloTool class>>project @6 line 5
49. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @21 line 14
50. TDTopezServer>>evaluateCommand:objIn: @19 line 22
51. TDTopezServer>>evaluateSTONCommand: @10 line 6
52. Executed Code
53. GsNMethod class>>_gsReturnToC @1 line 1

GemStone Server error: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found
Error on or near line 99 :: devKitCommandLine todeIt debrisDemo_340 :: devKitCommandLine todeIt debrisDemo_340
Error on or near line 58 :: todeIt debrisDemo_340 project list :: todeIt debrisDemo_340 project list
[debrisdemo@quuveserver1 backups]$

 

Dale


On 12/21/17 6:25 AM, Mariano Martinez Peck via Glass wrote:
Hi Dale,

I saw your examples of doing something like:

  project entry --url=http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston /sys/local/server/projects

But...if you ask me, I would prefer to self-contain my .ston projects together with my GsSysLocal fork. In other words, I would have my .ston directly committed into /sys/local/server/projects.
So... I just added a project entry there, but then (before trying `install` and `load`), I cannot even do a `project list` or a `project refresh` in a tODE of an existing stone. It always errors with:

Topez ERROR: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found

Below is my  $GS_HOME/sys/local/server/projects/HighchartsSt.ston


TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import-issue28/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import-issue28\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


Am I doing something obviously wrong in my .ston ?  I thought that maybe I had to explicitly register this project entry even it is a known location..but I haven't find a way of doing that. All the examples of `project --help entry` does not seem to help me.


Thanks in advance, 



--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass




--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Failing to add a valid project entry in GsDevKit_home

GLASS mailing list

Could you spend a little bit of time telling me the state of your image and what your plans are? I can probably save you some splashing around time, if you let me know what your ultimate goals are...

Dale


On 12/21/17 10:29 AM, Dale Henrichs wrote:

try setting locked to false in your project entry ... I don't know that state of your image ... is highchartsSt already loaded ... from reading code in the stack it doesn't seem that you've got the project loaded (registered as loaded with Metacello) which is where the error is coming from ... and findExact ... is called when the project entry is locked, but the registration is not locked .... if you _have_ loaded HightChartsSt already then it seems that there is a true mismatch ... but again unlocking the project entry will avoid the logic where the project entry and project registrations are trying to be reconciled ...

Dale

On 12/21/17 10:00 AM, Mariano Martinez Peck wrote:


On Thu, Dec 21, 2017 at 2:50 PM, Dale Henrichs via Glass <[hidden email]> wrote:

I've create a project entry based on yours ... make sure that the name of the node and the name of the .ston file match ... I don't see a branch named highchart6-import-issue28 and that created a bit of a problem ... until you actually clone the repository you don't want to lock it ... if you use `project clone Highchartst` tODE will lock the project enry for you ...

In all my playing around I have not seen a "registratrion for projectSpec" error, so I'm missing something ...


Sorry, I just deleted the branch a few minutes ago, but still with another existing branch I have the same problem:

TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


File is named:

/home/quuve/GsDevKit_home/sys/local/server/projects/HighchartsSt.ston 



Below is a stacktrace:


[$ $GS_HOME/bin/todeIt debrisDemo_340 project list
=================
   GsDevKit script: todeIt debrisDemo_340 project list
              path: /home/quuve/GsDevKit_home/bin/todeIt
=================
performing tode command: __project list__
'Pharo cannot write to the changes file named /home/quuve/GsDevKit_home/shared/pharo/gsDevKitCommandLine.changes.

Please check that you have write permission for this file.

You won''t be able to save this image correctly until you fix this.'

tode > project list[Info]: Loaded /home/quuve/GsDevKit_home/shared/pharo/pharo-vm/libfloss-3.4.0-32.so
[12/21/2017 12:59:13.174 EST]
  gci login: currSession 1  rpc gem processId 15108 socket 10

========>Server Stack:

EXCEPTION: TodeCommandError: registration for projectSpec: HighchartsSt not found
1. TodeCommandError(AbstractException)>>_signalWith: @6 line 25
2. TodeCommandError(AbstractException)>>signal: @3 line 7
3. TodeCommandError class(AbstractException class)>>signal: @3 line 4
4. TDShellTool(TDAbstractDevTool)>>error: @2 line 2
5. [] in TDShellTool>>findProjectRegistrationExact: @18 line 5
6. Array(SequenceableCollection)>>detect:ifNone: @27 line 23
7. TDShellTool>>findProjectRegistrationExact: @5 line 4
8. [] in TDMetacelloTool>>projectRegistrationDefinitionMap @35 line 20
9. [] in UndefinedObject(TDMetacelloTool)>>scanProjectDir:forProjects: @18 line 15
10. [] in TDProxyLeafNode>>composedChildrenDo: @9 line 5
11. [] in UndefinedObject(TDComposedDirectoryNode)>>composedChildrenDo: @8 line 3
12. [] in UndefinedObject(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @13 line 5
13. OrderedCollection(Collection)>>do: @6 line 10
14. TDPathComposedProjectEntryNodeContents(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @6 line 5
15. TDComposedProjectEntryNode(TDComposedDirectoryNode)>>composedChildrenDo: @4 line 3
16. TDRawGatewayNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
17. [] in TDFileSystemLeafNode>>composedChildrenDo: @13 line 4
18. TDFileSystemLeafNode(ExecBlock)>>on:do: @3 line 44
19. TDFileSystemLeafNode>>composedChildrenDo: @7 line 5
20. TDProxyLeafNode>>composedChildrenDo: @4 line 3
21. TDObjectGatewayLeafNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
22. TDMetacelloTool>>scanProjectDir:forProjects: @3 line 3
23. TDMetacelloTool>>scanForProjects: @6 line 3
24. TDMetacelloTool>>projectRegistrationDefinitionMap @10 line 8
25. TDMetacelloTool>>projectRegistrationDefinitionList @3 line 3
26. [] in TDMetacelloTool>>projectlist @9 line 13
27. TDMetacelloProjectBrowser>>clientList:listElement: @4 line 4
28. [] in TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>clientListBlock @6 line 2
29. TDMiniToolSpec>>clientList:listElement: @4 line 3
30. TDMiniToolClientListElementBuilder>>clientList: @3 line 2
31. TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>firstList: @2 line 2
32. TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>buildClientElementUsing:editorAspect: @20 line 15
33. [] in UndefinedObject(TDTopezServer)>>clientElementFor:using: @11 line 9
34. [] in TDTopezServer>>editorNodeFor:aspect:do: @13 line 7
35. [] in UndefinedObject(TDTopezServer)>>editorNodeClassNameFor:aspect:do: @13 line 10
36. TDTopezServer>>lookupClassNameFor:aspect:defaultAspect:in:do: @25 line 28
37. TDTopezServer>>editorNodeClassNameFor:aspect:do: @6 line 3
38. TDTopezServer>>editorNodeFor:aspect:do: @3 line 3
39. TDTopezServer>>clientElementFor:using: @4 line 4
40. TDTopezServer>>edit:using: @3 line 3
41. TDMetacelloProjectBrowser(Object)>>editUsing: @4 line 3
42. TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>open @3 line 2
43. [] in TDMetacelloTool>>projectlist @41 line 35
44. Dictionary(AbstractDictionary)>>at:ifPresent:ifAbsent: @4 line 5
45. TDMetacelloTool>>projectlist @5 line 27
46. TDMetacelloTool(Object)>>perform: @1 line 1
47. TDMetacelloTool class(TDAbstractDevTool class)>>performSubCommand:objIn:commandOptions:todeCommand: @27 line 23
48. [] in TDMetacelloTool class>>project @6 line 5
49. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @21 line 14
50. TDTopezServer>>evaluateCommand:objIn: @19 line 22
51. TDTopezServer>>evaluateSTONCommand: @10 line 6
52. Executed Code
53. GsNMethod class>>_gsReturnToC @1 line 1

GemStone Server error: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found
Error on or near line 99 :: devKitCommandLine todeIt debrisDemo_340 :: devKitCommandLine todeIt debrisDemo_340
Error on or near line 58 :: todeIt debrisDemo_340 project list :: todeIt debrisDemo_340 project list
[debrisdemo@quuveserver1 backups]$

 

Dale


On 12/21/17 6:25 AM, Mariano Martinez Peck via Glass wrote:
Hi Dale,

I saw your examples of doing something like:

  project entry --url=http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston /sys/local/server/projects

But...if you ask me, I would prefer to self-contain my .ston projects together with my GsSysLocal fork. In other words, I would have my .ston directly committed into /sys/local/server/projects.
So... I just added a project entry there, but then (before trying `install` and `load`), I cannot even do a `project list` or a `project refresh` in a tODE of an existing stone. It always errors with:

Topez ERROR: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found

Below is my  $GS_HOME/sys/local/server/projects/HighchartsSt.ston


TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import-issue28/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import-issue28\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


Am I doing something obviously wrong in my .ston ?  I thought that maybe I had to explicitly register this project entry even it is a known location..but I haven't find a way of doing that. All the examples of `project --help entry` does not seem to help me.


Thanks in advance, 



--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass




--



_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Failing to add a valid project entry in GsDevKit_home

GLASS mailing list
Hi Dale, 

What I am trying to do is.... right now the configuration of my application does reference git based projects via github url. This was OK (even if not ideal) until I reached ZipArchive error of the other day. So... I am trying to migrate to an approach like this:

1) Clone repositories to local machine (I am trying to do this via Iceberg in dev and via GsDevKit_home / tODE on production)
2) Do a metacello load pointing to the local filestree and then lock

With that in mind, for the GemStone side what I am trying is:

a) Put .ston files for each of the projects  I refer that are in Git (Seaside, HighcartsSt, etc) in to `/sys/local/server/projects(is this the recommended place????). That way, each new server will get all needed .ston as they are sincronized together with my sys local project. 
b) do a `project install` ,  `project load` and `project lock` of those projects. 

Does this make sense?

Well, I thought it had. But... I just tried `project clone` and it seems it ALSO downloads a the zip tarball using ZipArchive. Damn it. I thought you were were using git (via FFI, or performOnServer or whatever) underneath for making the clone...

So what are the alternatives?  if I remove the `--https` and I change the url to be the git / ssh keys , would that avoid doing a zipball download?  I ask before starting to deal with the keys etc..
If not, then the only way I find is to make the clone myself, using git. But then, the project entry makes almost no sense, I cannot use `project clone` etc etc. 


Thanks in advance,
 



On Thu, Dec 21, 2017 at 3:42 PM, Dale Henrichs <[hidden email]> wrote:

Could you spend a little bit of time telling me the state of your image and what your plans are? I can probably save you some splashing around time, if you let me know what your ultimate goals are...

Dale


On 12/21/17 10:29 AM, Dale Henrichs wrote:

try setting locked to false in your project entry ... I don't know that state of your image ... is highchartsSt already loaded ... from reading code in the stack it doesn't seem that you've got the project loaded (registered as loaded with Metacello) which is where the error is coming from ... and findExact ... is called when the project entry is locked, but the registration is not locked .... if you _have_ loaded HightChartsSt already then it seems that there is a true mismatch ... but again unlocking the project entry will avoid the logic where the project entry and project registrations are trying to be reconciled ...

Dale

On 12/21/17 10:00 AM, Mariano Martinez Peck wrote:


On Thu, Dec 21, 2017 at 2:50 PM, Dale Henrichs via Glass <[hidden email]> wrote:

I've create a project entry based on yours ... make sure that the name of the node and the name of the .ston file match ... I don't see a branch named highchart6-import-issue28 and that created a bit of a problem ... until you actually clone the repository you don't want to lock it ... if you use `project clone Highchartst` tODE will lock the project enry for you ...

In all my playing around I have not seen a "registratrion for projectSpec" error, so I'm missing something ...


Sorry, I just deleted the branch a few minutes ago, but still with another existing branch I have the same problem:

TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


File is named:

/home/quuve/GsDevKit_home/sys/local/server/projects/HighchartsSt.ston 



Below is a stacktrace:


[$ $GS_HOME/bin/todeIt debrisDemo_340 project list
=================
   GsDevKit script: todeIt debrisDemo_340 project list
              path: /home/quuve/GsDevKit_home/bin/todeIt
=================
performing tode command: __project list__
'Pharo cannot write to the changes file named /home/quuve/GsDevKit_home/shared/pharo/gsDevKitCommandLine.changes.

Please check that you have write permission for this file.

You won''t be able to save this image correctly until you fix this.'

tode > project list[Info]: Loaded /home/quuve/GsDevKit_home/shared/pharo/pharo-vm/libfloss-3.4.0-32.so
[12/21/2017 12:59:13.174 EST]
  gci login: currSession 1  rpc gem processId 15108 socket 10

========>Server Stack:

EXCEPTION: TodeCommandError: registration for projectSpec: HighchartsSt not found
1. TodeCommandError(AbstractException)>>_signalWith: @6 line 25
2. TodeCommandError(AbstractException)>>signal: @3 line 7
3. TodeCommandError class(AbstractException class)>>signal: @3 line 4
4. TDShellTool(TDAbstractDevTool)>>error: @2 line 2
5. [] in TDShellTool>>findProjectRegistrationExact: @18 line 5
6. Array(SequenceableCollection)>>detect:ifNone: @27 line 23
7. TDShellTool>>findProjectRegistrationExact: @5 line 4
8. [] in TDMetacelloTool>>projectRegistrationDefinitionMap @35 line 20
9. [] in UndefinedObject(TDMetacelloTool)>>scanProjectDir:forProjects: @18 line 15
10. [] in TDProxyLeafNode>>composedChildrenDo: @9 line 5
11. [] in UndefinedObject(TDComposedDirectoryNode)>>composedChildrenDo: @8 line 3
12. [] in UndefinedObject(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @13 line 5
13. OrderedCollection(Collection)>>do: @6 line 10
14. TDPathComposedProjectEntryNodeContents(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @6 line 5
15. TDComposedProjectEntryNode(TDComposedDirectoryNode)>>composedChildrenDo: @4 line 3
16. TDRawGatewayNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
17. [] in TDFileSystemLeafNode>>composedChildrenDo: @13 line 4
18. TDFileSystemLeafNode(ExecBlock)>>on:do: @3 line 44
19. TDFileSystemLeafNode>>composedChildrenDo: @7 line 5
20. TDProxyLeafNode>>composedChildrenDo: @4 line 3
21. TDObjectGatewayLeafNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
22. TDMetacelloTool>>scanProjectDir:forProjects: @3 line 3
23. TDMetacelloTool>>scanForProjects: @6 line 3
24. TDMetacelloTool>>projectRegistrationDefinitionMap @10 line 8
25. TDMetacelloTool>>projectRegistrationDefinitionList @3 line 3
26. [] in TDMetacelloTool>>projectlist @9 line 13
27. TDMetacelloProjectBrowser>>clientList:listElement: @4 line 4
28. [] in TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>clientListBlock @6 line 2
29. TDMiniToolSpec>>clientList:listElement: @4 line 3
30. TDMiniToolClientListElementBuilder>>clientList: @3 line 2
31. TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>firstList: @2 line 2
32. TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>buildClientElementUsing:editorAspect: @20 line 15
33. [] in UndefinedObject(TDTopezServer)>>clientElementFor:using: @11 line 9
34. [] in TDTopezServer>>editorNodeFor:aspect:do: @13 line 7
35. [] in UndefinedObject(TDTopezServer)>>editorNodeClassNameFor:aspect:do: @13 line 10
36. TDTopezServer>>lookupClassNameFor:aspect:defaultAspect:in:do: @25 line 28
37. TDTopezServer>>editorNodeClassNameFor:aspect:do: @6 line 3
38. TDTopezServer>>editorNodeFor:aspect:do: @3 line 3
39. TDTopezServer>>clientElementFor:using: @4 line 4
40. TDTopezServer>>edit:using: @3 line 3
41. TDMetacelloProjectBrowser(Object)>>editUsing: @4 line 3
42. TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>open @3 line 2
43. [] in TDMetacelloTool>>projectlist @41 line 35
44. Dictionary(AbstractDictionary)>>at:ifPresent:ifAbsent: @4 line 5
45. TDMetacelloTool>>projectlist @5 line 27
46. TDMetacelloTool(Object)>>perform: @1 line 1
47. TDMetacelloTool class(TDAbstractDevTool class)>>performSubCommand:objIn:commandOptions:todeCommand: @27 line 23
48. [] in TDMetacelloTool class>>project @6 line 5
49. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @21 line 14
50. TDTopezServer>>evaluateCommand:objIn: @19 line 22
51. TDTopezServer>>evaluateSTONCommand: @10 line 6
52. Executed Code
53. GsNMethod class>>_gsReturnToC @1 line 1

GemStone Server error: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found
Error on or near line 99 :: devKitCommandLine todeIt debrisDemo_340 :: devKitCommandLine todeIt debrisDemo_340
Error on or near line 58 :: todeIt debrisDemo_340 project list :: todeIt debrisDemo_340 project list
[debrisdemo@quuveserver1 backups]$

 

Dale


On 12/21/17 6:25 AM, Mariano Martinez Peck via Glass wrote:
Hi Dale,

I saw your examples of doing something like:

  project entry --url=http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston /sys/local/server/projects

But...if you ask me, I would prefer to self-contain my .ston projects together with my GsSysLocal fork. In other words, I would have my .ston directly committed into /sys/local/server/projects.
So... I just added a project entry there, but then (before trying `install` and `load`), I cannot even do a `project list` or a `project refresh` in a tODE of an existing stone. It always errors with:

Topez ERROR: a TodeCommandError occurred (error 121000), , registration for projectSpec: HighchartsSt not found

Below is my  $GS_HOME/sys/local/server/projects/HighchartsSt.ston


TDObjectGatewayLeafNode{#name:'HighchartsSt',#contents:'^ TDProjectSpecEntryDefinition new
    comment: \'\';
    baseline: \'HighchartsSt\'
      repository: \'github://ba-st/HighchartsSt:highchart6-import-issue28/repository\'
      loads: #(\'Highcharts\' \'Highstock\' );
    gitCheckout: \'highchart6-import-issue28\';
    status: #(#\'inactive\');
    locked: true;
    yourself'}


Am I doing something obviously wrong in my .ston ?  I thought that maybe I had to explicitly register this project entry even it is a known location..but I haven't find a way of doing that. All the examples of `project --help entry` does not seem to help me.


Thanks in advance, 



--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass




--





--

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Failing to add a valid project entry in GsDevKit_home

GLASS mailing list



On 12/22/17 5:10 AM, Mariano Martinez Peck wrote:
Hi Dale, 

What I am trying to do is.... right now the configuration of my application does reference git based projects via github url. This was OK (even if not ideal) until I reached ZipArchive error of the other day. So... I am trying to migrate to an approach like this:

1) Clone repositories to local machine (I am trying to do this via Iceberg in dev and via GsDevKit_home / tODE on production)
2) Do a metacello load pointing to the local filestree and then lock
Okay so the project isn't loaded yet ... I guess that is true because of the ZipArchive problem ...

With that in mind, for the GemStone side what I am trying is:

a) Put .ston files for each of the projects  I refer that are in Git (Seaside, HighcartsSt, etc) in to `/sys/local/server/projects(is this the recommended place????).
Certainly ... the rule would be that if you have projects that are to be shared amongst a collection of stones, then use `/sys/local/server/projects` ... the only time to use the `/sys/stone/projects` is when you want to do work on a branch that is explicitly not shared ... I use this approach when I doing work on Metacello that is likely to break Metacello while I am working on it -- I cannot afford to break Metacello for all of the other stones:)
That way, each new server will get all needed .ston as they are sincronized together with my sys local project. 
b) do a `project install` ,  `project load` and `project lock` of those projects.
exactly...

Does this make sense?
Yes it does!

Well, I thought it had. But... I just tried `project clone` and it seems it ALSO downloads a the zip tarball using ZipArchive. Damn it. I thought you were were using git (via FFI, or performOnServer or whatever) underneath for making the clone...
Yes, I think this bit is a bit inadvertant, but without the ZipArchive bug is certainly an annoyance at most ... with the bug this is a problem --- but it should be easy to work around this ...simply define the project entry to use the github:// and the master branch (which downloads correctly) and do your `project clone` - no lock in project entry... another alternative is to manually clone the repo into $GS_HOME/shared/repos and thenn define the project entry referencing the filetree:// url for the repo - use a lock now ... and then you're ready to rumba ...

So what are the alternatives?  if I remove the `--https` and I change the url to be the git / ssh keys , would that avoid doing a zipball download?  I ask before starting to deal with the keys etc..
The simplest is to clone the repository manually and then create the project entry and just avoid the whole ZipArchive bug completely ... The ony reason that all of the examples use github:// urls is a) I didn't really realize that the project entry would automactically do the download and b) I didn't know about the ZipArchive bug that could get in the way ...
If not, then the only way I find is to make the clone myself, using git. But then, the project entry makes almost no sense, I cannot use `project clone` etc etc.
The project entry is used as a specification for other stones that are created in the $GS_HOME env ... so you don't have to "teach" each knew stone where all of the local clones for projects are located ...

I am patiently waiting to see if the pharo folks see the advantage of having these disk-based artifacts, but I may have to retire before that happens:) ...

For 3.5 we should have Cypress2 (called Rowan now) and Metacello in the base along with selected bits of tODE tools api as we have a few of our commercial customers who are becoming interested in using git for managing the GemStone source ... so it is likely that I will revisit the project entry implementation and probably come up with a Metacello Load Specification which will be similar to project entries, with some tweaks and changes based on my/our experiences so far ...

For 3.5 I plan to move towards using GsDevKit/GsDevKit[1], SeasideSt/Grease[2] and Metacello/metacello[3] instead of glassdb/glass, GsDevKit/Grease and dalehenrich/metacello-work ... and that is going to push the limits of what can be done with the single $GS_HOME/shared/repos and $GS_HOME/sys/local/server/projects directory structure. The methods and classes themselves have not changed (that much)between projects,  but the fact that they are independent git projects (some with the same name) and the fact that I don't want to force any existing stones to have to switch projects makes it a bit of a challenge ...

So things are constantly being refined as  time goes by and the requirements/experiences change.

Dale

[1] https://github.com/GsDevKit/GsDevKit
[2] https://github.com/SeasideSt/Grease
[3] https://github.com/Metacello/metacello

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass