[tode_st] Create project in Tode from existing github project?

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

[tode_st] Create project in Tode from existing github project?

Johan Brichau-3
Hi,

How can I create a project in Tode for an existing Smalltalk project on github, but which does not have a project description (aka .ston file) yet?
Goal: I want to load the SeasideSt/Seaside code so I have a local clone and create a project entry for it, so I can develop on it from Tode.

The docs seem to talk only about either loading an existing project with a Tode description, or creating a new Tode project from scratch with a new git repo, new baselineof, etc…
However, I don’t have an existing Seaside.ston (for Seaside 3.2 on SeasideSt/Seaside github) and I don’t want a new git repo, baselineOf, etc…

How do I get there?

I’ve been looking through project clone, project entry, etc… and I now managed to create a new project entry but then I’m left wondering though the docs and cannot find the necessary steps to get there :(

Hope someone can help me :)

Johan

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] Create project in Tode from existing github project?

Dale Henrichs-3


On 03/28/2016 07:05 AM, Johan Brichau wrote:

> Hi,
>
> How can I create a project in Tode for an existing Smalltalk project on github, but which does not have a project description (aka .ston file) yet?
> Goal: I want to load the SeasideSt/Seaside code so I have a local clone and create a project entry for it, so I can develop on it from Tode.
>
> The docs seem to talk only about either loading an existing project with a Tode description, or creating a new Tode project from scratch with a new git repo, new baselineof, etc…
> However, I don’t have an existing Seaside.ston (for Seaside 3.2 on SeasideSt/Seaside github) and I don’t want a new git repo, baselineOf, etc…
>
> How do I get there?
>
> I’ve been looking through project clone, project entry, etc… and I now managed to create a new project entry but then I’m left wondering though the docs and cannot find the necessary steps to get there :(
Good questions ... the "next-level" tODE docs are indeed pretty sparse
and while the individual man pages are a bit better, there a lot of man
pages to wade through, so I'll use this thread to document the steps for
inclusion in the GsDevKit_home docs on tODE[1].

Here is an example project entry that I've created for the
GsDevKit/Seaside31 project that should answer most of your questions:

^ TDProjectSpecEntryDefinition new
     comment: '';
     baseline: 'Seaside3'
       repository: 'github://GsDevKit/Seaside31:3.1.?/repository'
       loads: #('Development' 'Zinc' 'Examples');
     installScript:
         '
       project clone --https --local Seaside3
       project install --local
--url=http://gsdevkit.github.io/GsDevKit_home/ZincHTTPComponents.ston
       project install --local
--url=http://gsdevkit.github.io/GsDevKit_home/GsApplicationTools.ston';
     gitCheckout: 'gs_master';
     gitRemoteName: 'origin';
     status: #(#'inactive');
     locked: false;
     yourself

You've already created a project entry so you've got the
baseline:repository:loads: args, but as you've noted that is not quite
enough to get loaded ...

First I am wondering what <project-path> you sed to create the project
entry? I recommend that you use `/sys/local/server/projects` so that the
project entry will be shared by all stones that you create.

Secondly, you can see that I've included an `installScript`:

       project clone --https --local Seaside3
       project install --local
--url=http://gsdevkit.github.io/GsDevKit_home/ZincHTTPComponents.ston
       project install --local
--url=http://gsdevkit.github.io/GsDevKit_home/GsApplicationTools.ston'

These are the tODE commands that get executed when you use the `project
install Seaside3` command or the `project load --install Seaside3` command.

`project clone` will make a clone of the Seaside3 project in
`$GS_HOME/shared/repos` which is the standard spo for sharing git
project clones.

The two `project install` commands for Zinc and GsApplicationTools end
up downloading the project entries for each project and then doing an
install, which executes the install script, which ends up doing a
`project clone` command for each project (at a minimum) ...

If you want to see what each of the projects will do before performing
the install, you can use the `project entry --url` command to simply
download the project entry and then `edit /projects/GsApplicationTools`
to view the project entry and see what the install script does ...

I recommend doing `project install Seaside3` (after editting your
project entry with the appropriate values) since that gets all of your
dependendent projects locally cloned) ....

BTW if you do a `project install` for a project that is already
installed, you should get  a notification that the project has already
been cloned ...

I haven't quite figured out how to automatically create the `project
install` entries for a project from the Metacello baseline, but I figure
that eventually something can be figured out ...

At this point, you can do a `project load Seaside3` in any stone  to
load Seaside32 and the other dependent projects into the stone ...

Hopefully this will get you started and I'm sure you will have
additional questions ...

Dale


[1] https://github.com/GsDevKit/GsDevKit_home/issues/91

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] Create project in Tode from existing github project?

Johan Brichau-3
Hi Dale,

This indeed got me started with the Seaside3.2 project using Tode.  Thanks!

I actually first defined a ‘git’ project and, through experiments and the example project spec, I now understand I actually need a metacello project?
I’m not sure when I would need a metacello project and when I need a git project. The difference is not clear to me at this point.

I’ll give more feedback in the github issue you created. You can consider me a new user, as I’ve only dabbled a bit with tode almost 1,5 years ago and forgot all about :)

Johan


> On 28 Mar 2016, at 23:56, Dale Henrichs <[hidden email]> wrote:
>
>
>
> On 03/28/2016 07:05 AM, Johan Brichau wrote:
>> Hi,
>>
>> How can I create a project in Tode for an existing Smalltalk project on github, but which does not have a project description (aka .ston file) yet?
>> Goal: I want to load the SeasideSt/Seaside code so I have a local clone and create a project entry for it, so I can develop on it from Tode.
>>
>> The docs seem to talk only about either loading an existing project with a Tode description, or creating a new Tode project from scratch with a new git repo, new baselineof, etc…
>> However, I don’t have an existing Seaside.ston (for Seaside 3.2 on SeasideSt/Seaside github) and I don’t want a new git repo, baselineOf, etc…
>>
>> How do I get there?
>>
>> I’ve been looking through project clone, project entry, etc… and I now managed to create a new project entry but then I’m left wondering though the docs and cannot find the necessary steps to get there :(
> Good questions ... the "next-level" tODE docs are indeed pretty sparse and while the individual man pages are a bit better, there a lot of man pages to wade through, so I'll use this thread to document the steps for inclusion in the GsDevKit_home docs on tODE[1].
>
> Here is an example project entry that I've created for the GsDevKit/Seaside31 project that should answer most of your questions:
>
> ^ TDProjectSpecEntryDefinition new
>    comment: '';
>    baseline: 'Seaside3'
>      repository: 'github://GsDevKit/Seaside31:3.1.?/repository'
>      loads: #('Development' 'Zinc' 'Examples');
>    installScript:
>        '
>      project clone --https --local Seaside3
>      project install --local --url=http://gsdevkit.github.io/GsDevKit_home/ZincHTTPComponents.ston
>      project install --local --url=http://gsdevkit.github.io/GsDevKit_home/GsApplicationTools.ston';
>    gitCheckout: 'gs_master';
>    gitRemoteName: 'origin';
>    status: #(#'inactive');
>    locked: false;
>    yourself
>
> You've already created a project entry so you've got the baseline:repository:loads: args, but as you've noted that is not quite enough to get loaded ...
>
> First I am wondering what <project-path> you sed to create the project entry? I recommend that you use `/sys/local/server/projects` so that the project entry will be shared by all stones that you create.
>
> Secondly, you can see that I've included an `installScript`:
>
>      project clone --https --local Seaside3
>      project install --local --url=http://gsdevkit.github.io/GsDevKit_home/ZincHTTPComponents.ston
>      project install --local --url=http://gsdevkit.github.io/GsDevKit_home/GsApplicationTools.ston'
>
> These are the tODE commands that get executed when you use the `project install Seaside3` command or the `project load --install Seaside3` command.
>
> `project clone` will make a clone of the Seaside3 project in `$GS_HOME/shared/repos` which is the standard spo for sharing git project clones.
>
> The two `project install` commands for Zinc and GsApplicationTools end up downloading the project entries for each project and then doing an install, which executes the install script, which ends up doing a `project clone` command for each project (at a minimum) ...
>
> If you want to see what each of the projects will do before performing the install, you can use the `project entry --url` command to simply download the project entry and then `edit /projects/GsApplicationTools` to view the project entry and see what the install script does ...
>
> I recommend doing `project install Seaside3` (after editting your project entry with the appropriate values) since that gets all of your dependendent projects locally cloned) ....
>
> BTW if you do a `project install` for a project that is already installed, you should get  a notification that the project has already been cloned ...
>
> I haven't quite figured out how to automatically create the `project install` entries for a project from the Metacello baseline, but I figure that eventually something can be figured out ...
>
> At this point, you can do a `project load Seaside3` in any stone  to load Seaside32 and the other dependent projects into the stone ...
>
> Hopefully this will get you started and I'm sure you will have additional questions ...
>
> Dale
>
>
> [1] https://github.com/GsDevKit/GsDevKit_home/issues/91
>
> --
> You received this message because you are subscribed to the Google Groups "tODE" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] Create project in Tode from existing github project?

Dale Henrichs-3


On 03/29/2016 12:07 PM, Johan Brichau wrote:
> Hi Dale,
>
> This indeed got me started with the Seaside3.2 project using Tode.  Thanks!
good ...
>
> I actually first defined a ‘git’ project and, through experiments and the example project spec, I now understand I actually need a metacello project?
> I’m not sure when I would need a metacello project and when I need a git project. The difference is not clear to me at this point.
Yes I can uderstand the confusion and I'm hoping that we start on the
next round of docs soon:)

For Smalltalk projects you want to use and create the Metacello project
entry ... the git project entry exists to allow you to manipulate git
repositories that don't have Metacello project embedded in it (like the
GsDevKit_home repository itself).
>
> I’ll give more feedback in the github issue you created. You can consider me a new user, as I’ve only dabbled a bit with tode almost 1,5 years ago and forgot all about :)
That's very good ... having a new user who is willing to document the
confusing bits will help us prioritize on the areas that need
documentation first ...

I think most of the man pages should help with command details (sadly
some of the man pages for certain commands are too sparse -)

`man man`, `man --all` and `man --find <pattern>` should help you find
things in the man pages, but for the  overview and how to do things The
FAQs[1] are the best that we have at the moment ...

Dale

[1] https://github.com/GsDevKit/GsDevKit_home#faqs

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] Create project in Tode from existing github project?

Dale Henrichs-3
In reply to this post by Johan Brichau-3
If needed we could talk via skype ...

On 03/29/2016 12:07 PM, Johan Brichau wrote:

> Hi Dale,
>
> This indeed got me started with the Seaside3.2 project using Tode.  Thanks!
>
> I actually first defined a ‘git’ project and, through experiments and the example project spec, I now understand I actually need a metacello project?
> I’m not sure when I would need a metacello project and when I need a git project. The difference is not clear to me at this point.
>
> I’ll give more feedback in the github issue you created. You can consider me a new user, as I’ve only dabbled a bit with tode almost 1,5 years ago and forgot all about :)
>
> Johan
>
>
>> On 28 Mar 2016, at 23:56, Dale Henrichs <[hidden email]> wrote:
>>
>>
>>
>> On 03/28/2016 07:05 AM, Johan Brichau wrote:
>>> Hi,
>>>
>>> How can I create a project in Tode for an existing Smalltalk project on github, but which does not have a project description (aka .ston file) yet?
>>> Goal: I want to load the SeasideSt/Seaside code so I have a local clone and create a project entry for it, so I can develop on it from Tode.
>>>
>>> The docs seem to talk only about either loading an existing project with a Tode description, or creating a new Tode project from scratch with a new git repo, new baselineof, etc…
>>> However, I don’t have an existing Seaside.ston (for Seaside 3.2 on SeasideSt/Seaside github) and I don’t want a new git repo, baselineOf, etc…
>>>
>>> How do I get there?
>>>
>>> I’ve been looking through project clone, project entry, etc… and I now managed to create a new project entry but then I’m left wondering though the docs and cannot find the necessary steps to get there :(
>> Good questions ... the "next-level" tODE docs are indeed pretty sparse and while the individual man pages are a bit better, there a lot of man pages to wade through, so I'll use this thread to document the steps for inclusion in the GsDevKit_home docs on tODE[1].
>>
>> Here is an example project entry that I've created for the GsDevKit/Seaside31 project that should answer most of your questions:
>>
>> ^ TDProjectSpecEntryDefinition new
>>     comment: '';
>>     baseline: 'Seaside3'
>>       repository: 'github://GsDevKit/Seaside31:3.1.?/repository'
>>       loads: #('Development' 'Zinc' 'Examples');
>>     installScript:
>>         '
>>       project clone --https --local Seaside3
>>       project install --local --url=http://gsdevkit.github.io/GsDevKit_home/ZincHTTPComponents.ston
>>       project install --local --url=http://gsdevkit.github.io/GsDevKit_home/GsApplicationTools.ston';
>>     gitCheckout: 'gs_master';
>>     gitRemoteName: 'origin';
>>     status: #(#'inactive');
>>     locked: false;
>>     yourself
>>
>> You've already created a project entry so you've got the baseline:repository:loads: args, but as you've noted that is not quite enough to get loaded ...
>>
>> First I am wondering what <project-path> you sed to create the project entry? I recommend that you use `/sys/local/server/projects` so that the project entry will be shared by all stones that you create.
>>
>> Secondly, you can see that I've included an `installScript`:
>>
>>       project clone --https --local Seaside3
>>       project install --local --url=http://gsdevkit.github.io/GsDevKit_home/ZincHTTPComponents.ston
>>       project install --local --url=http://gsdevkit.github.io/GsDevKit_home/GsApplicationTools.ston'
>>
>> These are the tODE commands that get executed when you use the `project install Seaside3` command or the `project load --install Seaside3` command.
>>
>> `project clone` will make a clone of the Seaside3 project in `$GS_HOME/shared/repos` which is the standard spo for sharing git project clones.
>>
>> The two `project install` commands for Zinc and GsApplicationTools end up downloading the project entries for each project and then doing an install, which executes the install script, which ends up doing a `project clone` command for each project (at a minimum) ...
>>
>> If you want to see what each of the projects will do before performing the install, you can use the `project entry --url` command to simply download the project entry and then `edit /projects/GsApplicationTools` to view the project entry and see what the install script does ...
>>
>> I recommend doing `project install Seaside3` (after editting your project entry with the appropriate values) since that gets all of your dependendent projects locally cloned) ....
>>
>> BTW if you do a `project install` for a project that is already installed, you should get  a notification that the project has already been cloned ...
>>
>> I haven't quite figured out how to automatically create the `project install` entries for a project from the Metacello baseline, but I figure that eventually something can be figured out ...
>>
>> At this point, you can do a `project load Seaside3` in any stone  to load Seaside32 and the other dependent projects into the stone ...
>>
>> Hopefully this will get you started and I'm sure you will have additional questions ...
>>
>> Dale
>>
>>
>> [1] https://github.com/GsDevKit/GsDevKit_home/issues/91
>>
>> --
>> You received this message because you are subscribed to the Google Groups "tODE" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.