Keeping packages up to date

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

Keeping packages up to date

Andrei Stebakov
I wonder if there is a generic solution to keeping certain Pharo project in sync with development tree.
For example when I want to get latest Roassal I execute
Gofer it
smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
package: 'Roassal2';
package: 'Roassal2GT';
package: 'Trachel';
load.

Also I wouldn't know this unless the maintainers (thanks Alexandre!) of the project told me what script to execute to get the latest version.
If I went to Project Catalog I can only get the stable version and if I go and find Roassal2 it won't give me information how to get its latest version.

How would I get info about how to update, say Roassal given the script above from some Roassal project public page?
Talking about Roassal, if I go to http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the following script:
Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; configurationOf: 'Roassal2'; loadDevelopment

Which is probably not exactly equal to the script above (or is it?).

So, is there a generic way to get a latest version of some XYZ package?
What do I need to learn to be able to get that information about any Pharo project (other than asking the community)? Something similar to "git pull" when you know the repository.
Reply | Threaded
Open this post in threaded view
|

Re: Keeping packages up to date

CyrilFerlicot
On 01/04/2018 01:14, Andrei Stebakov wrote:

> I wonder if there is a generic solution to keeping certain Pharo project
> in sync with development tree.
> For example when I want to get latest Roassal I execute
> Gofer it
> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> package: 'Roassal2';
> package: 'Roassal2GT';
> package: 'Trachel';
> load.
>
> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of
> the project told me what script to execute to get the latest version.
> If I went to Project Catalog I can only get the stable version and if I
> go and find Roassal2 it won't give me information how to get its latest
> version.
>
> How would I get info about how to update, say Roassal given the script
> above from some Roassal project public page?
> Talking about Roassal, if I go
> to http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers
> the following script:
> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> configurationOf: 'Roassal2'; loadDevelopment
>
> Which is probably not exactly equal to the script above (or is it?).
>
> So, is there a generic way to get a latest version of some XYZ package?
> What do I need to learn to be able to get that information about any
> Pharo project (other than asking the community)? Something similar to
> "git pull" when you know the repository.

Hello!

Gofer is the old buggy way to load a project. The current way is to use
Metacello.

Here is the script:

Metacello new
        smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
        configuration: 'Roassal2';
        version: version;
        load

Note that "version" can be:
- #stable : It will take the current stable release for your pharo version
- #development : It will load the latest version of the packages
declared in the current development version (generally the latest
baseline) for your pharo version
- #bleedingEdge : A symbolic version that specifies the latest mcz files
and project  versions
- A specific version or baseline name
- A release name

In your case you probably want the bleedingEdge version. But be aware:
since it's a bleeding edge version there is no guarantee it will load
and work.


Metacello new
        smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
        configuration: 'Roassal2';
        version: #bleedingEdge;
        load

For more informations about Metacello you car read this chapter of Deep
Into Pharo:
http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/Metacello.pdf

--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: Keeping packages up to date

hernanmd
In reply to this post by Andrei Stebakov
Hi Andrei

2018-03-31 20:14 GMT-03:00 Andrei Stebakov <[hidden email]>:

> I wonder if there is a generic solution to keeping certain Pharo project in
> sync with development tree.
> For example when I want to get latest Roassal I execute
> Gofer it
> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> package: 'Roassal2';
> package: 'Roassal2GT';
> package: 'Trachel';
> load.
>
> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of the
> project told me what script to execute to get the latest version.
> If I went to Project Catalog I can only get the stable version and if I go
> and find Roassal2 it won't give me information how to get its latest
> version.
>
> How would I get info about how to update, say Roassal given the script above
> from some Roassal project public page?
> Talking about Roassal, if I go to
> http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the
> following script:
> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> configurationOf: 'Roassal2'; loadDevelopment
>
> Which is probably not exactly equal to the script above (or is it?).
>
> So, is there a generic way to get a latest version of some XYZ package?
> What do I need to learn to be able to get that information about any Pharo
> project (other than asking the community)? Something similar to "git pull"
> when you know the repository.

Right now the solution AFAIK is to search the web for the most updated
installation script.
But that's one of the main ideas behind PI

https://github.com/hernanmd/pi

So tomorrow there could be a Donatello tool and the pi command will be
the same for dev and stable.
Feel free to contribute or submit issues, propose changes, etc.

Cheers,

Hernán

Reply | Threaded
Open this post in threaded view
|

Re: Keeping packages up to date

Stephane Ducasse-3
In reply to this post by Andrei Stebakov
Alexandre should publish a version in the catalog browser. Projects
should push their configuration once there are stable and updated.

On Sun, Apr 1, 2018 at 1:14 AM, Andrei Stebakov <[hidden email]> wrote:

> I wonder if there is a generic solution to keeping certain Pharo project in
> sync with development tree.
> For example when I want to get latest Roassal I execute
> Gofer it
> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> package: 'Roassal2';
> package: 'Roassal2GT';
> package: 'Trachel';
> load.
>
> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of the
> project told me what script to execute to get the latest version.
> If I went to Project Catalog I can only get the stable version and if I go
> and find Roassal2 it won't give me information how to get its latest
> version.
>
> How would I get info about how to update, say Roassal given the script above
> from some Roassal project public page?
> Talking about Roassal, if I go to
> http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the
> following script:
> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> configurationOf: 'Roassal2'; loadDevelopment
>
> Which is probably not exactly equal to the script above (or is it?).
>
> So, is there a generic way to get a latest version of some XYZ package?
> What do I need to learn to be able to get that information about any Pharo
> project (other than asking the community)? Something similar to "git pull"
> when you know the repository.

Reply | Threaded
Open this post in threaded view
|

Re: Keeping packages up to date

aglynn42
In reply to this post by Andrei Stebakov

You can open the repository in the Monticello browser if it’s a Metacello/Monticello repo, or use Iceberg with git if it’s a git repo in the same manner you would with any other git project.  You can also open the project in Versionner to get the latest version.

 

As far as scripting it, that’s reasonably obvious if you look at the Monticello or Versionner code itself.

 

From: Pharo-users <[hidden email]> On Behalf Of Andrei Stebakov
Sent: Saturday, March 31, 2018 7:14 PM
To: Any question about pharo is welcome <[hidden email]>
Subject: [Pharo-users] Keeping packages up to date

 

I wonder if there is a generic solution to keeping certain Pharo project in sync with development tree.

For example when I want to get latest Roassal I execute

Gofer it

smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';

package: 'Roassal2';

package: 'Roassal2GT';

package: 'Trachel';

load.

 

Also I wouldn't know this unless the maintainers (thanks Alexandre!) of the project told me what script to execute to get the latest version.

If I went to Project Catalog I can only get the stable version and if I go and find Roassal2 it won't give me information how to get its latest version.

 

How would I get info about how to update, say Roassal given the script above from some Roassal project public page?

Talking about Roassal, if I go to http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the following script:

Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; configurationOf: 'Roassal2'; loadDevelopment

 

Which is probably not exactly equal to the script above (or is it?).

 

So, is there a generic way to get a latest version of some XYZ package?

What do I need to learn to be able to get that information about any Pharo project (other than asking the community)? Something similar to "git pull" when you know the repository.

Reply | Threaded
Open this post in threaded view
|

Re: Keeping packages up to date

Andrei Stebakov
Exactly! I guess because there are so many ways to navigate around updating the package, I was lost :) Thank you guys for giving me some pointers, I'll try to learn them. I wonder, which one is the most promising and mainstream?

On Sun, Apr 1, 2018, 08:58 <[hidden email]> wrote:

You can open the repository in the Monticello browser if it’s a Metacello/Monticello repo, or use Iceberg with git if it’s a git repo in the same manner you would with any other git project.  You can also open the project in Versionner to get the latest version.

 

As far as scripting it, that’s reasonably obvious if you look at the Monticello or Versionner code itself.

 

From: Pharo-users <[hidden email]> On Behalf Of Andrei Stebakov
Sent: Saturday, March 31, 2018 7:14 PM
To: Any question about pharo is welcome <[hidden email]>
Subject: [Pharo-users] Keeping packages up to date

 

I wonder if there is a generic solution to keeping certain Pharo project in sync with development tree.

For example when I want to get latest Roassal I execute

Gofer it

smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';

package: 'Roassal2';

package: 'Roassal2GT';

package: 'Trachel';

load.

 

Also I wouldn't know this unless the maintainers (thanks Alexandre!) of the project told me what script to execute to get the latest version.

If I went to Project Catalog I can only get the stable version and if I go and find Roassal2 it won't give me information how to get its latest version.

 

How would I get info about how to update, say Roassal given the script above from some Roassal project public page?

Talking about Roassal, if I go to http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the following script:

Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; configurationOf: 'Roassal2'; loadDevelopment

 

Which is probably not exactly equal to the script above (or is it?).

 

So, is there a generic way to get a latest version of some XYZ package?

What do I need to learn to be able to get that information about any Pharo project (other than asking the community)? Something similar to "git pull" when you know the repository.

Reply | Threaded
Open this post in threaded view
|

Re: Keeping packages up to date

Stephane Ducasse-3
use metacello and iceberg or gitfiletree

Stef

On Sun, Apr 1, 2018 at 4:32 PM, Andrei Stebakov <[hidden email]> wrote:

> Exactly! I guess because there are so many ways to navigate around updating
> the package, I was lost :) Thank you guys for giving me some pointers, I'll
> try to learn them. I wonder, which one is the most promising and mainstream?
>
> On Sun, Apr 1, 2018, 08:58 <[hidden email]> wrote:
>>
>> You can open the repository in the Monticello browser if it’s a
>> Metacello/Monticello repo, or use Iceberg with git if it’s a git repo in the
>> same manner you would with any other git project.  You can also open the
>> project in Versionner to get the latest version.
>>
>>
>>
>> As far as scripting it, that’s reasonably obvious if you look at the
>> Monticello or Versionner code itself.
>>
>>
>>
>> From: Pharo-users <[hidden email]> On Behalf Of
>> Andrei Stebakov
>> Sent: Saturday, March 31, 2018 7:14 PM
>> To: Any question about pharo is welcome <[hidden email]>
>> Subject: [Pharo-users] Keeping packages up to date
>>
>>
>>
>> I wonder if there is a generic solution to keeping certain Pharo project
>> in sync with development tree.
>>
>> For example when I want to get latest Roassal I execute
>>
>> Gofer it
>>
>> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>
>> package: 'Roassal2';
>>
>> package: 'Roassal2GT';
>>
>> package: 'Trachel';
>>
>> load.
>>
>>
>>
>> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of
>> the project told me what script to execute to get the latest version.
>>
>> If I went to Project Catalog I can only get the stable version and if I go
>> and find Roassal2 it won't give me information how to get its latest
>> version.
>>
>>
>>
>> How would I get info about how to update, say Roassal given the script
>> above from some Roassal project public page?
>>
>> Talking about Roassal, if I go to
>> http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the
>> following script:
>>
>> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>> configurationOf: 'Roassal2'; loadDevelopment
>>
>>
>>
>> Which is probably not exactly equal to the script above (or is it?).
>>
>>
>>
>> So, is there a generic way to get a latest version of some XYZ package?
>>
>> What do I need to learn to be able to get that information about any Pharo
>> project (other than asking the community)? Something similar to "git pull"
>> when you know the repository.

Reply | Threaded
Open this post in threaded view
|

Re: Keeping packages up to date

Stephane Ducasse-3
Andrei

if you need help we can help you.

Stef

On Sun, Apr 1, 2018 at 7:59 PM, Stephane Ducasse
<[hidden email]> wrote:

> use metacello and iceberg or gitfiletree
>
> Stef
>
> On Sun, Apr 1, 2018 at 4:32 PM, Andrei Stebakov <[hidden email]> wrote:
>> Exactly! I guess because there are so many ways to navigate around updating
>> the package, I was lost :) Thank you guys for giving me some pointers, I'll
>> try to learn them. I wonder, which one is the most promising and mainstream?
>>
>> On Sun, Apr 1, 2018, 08:58 <[hidden email]> wrote:
>>>
>>> You can open the repository in the Monticello browser if it’s a
>>> Metacello/Monticello repo, or use Iceberg with git if it’s a git repo in the
>>> same manner you would with any other git project.  You can also open the
>>> project in Versionner to get the latest version.
>>>
>>>
>>>
>>> As far as scripting it, that’s reasonably obvious if you look at the
>>> Monticello or Versionner code itself.
>>>
>>>
>>>
>>> From: Pharo-users <[hidden email]> On Behalf Of
>>> Andrei Stebakov
>>> Sent: Saturday, March 31, 2018 7:14 PM
>>> To: Any question about pharo is welcome <[hidden email]>
>>> Subject: [Pharo-users] Keeping packages up to date
>>>
>>>
>>>
>>> I wonder if there is a generic solution to keeping certain Pharo project
>>> in sync with development tree.
>>>
>>> For example when I want to get latest Roassal I execute
>>>
>>> Gofer it
>>>
>>> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>>
>>> package: 'Roassal2';
>>>
>>> package: 'Roassal2GT';
>>>
>>> package: 'Trachel';
>>>
>>> load.
>>>
>>>
>>>
>>> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of
>>> the project told me what script to execute to get the latest version.
>>>
>>> If I went to Project Catalog I can only get the stable version and if I go
>>> and find Roassal2 it won't give me information how to get its latest
>>> version.
>>>
>>>
>>>
>>> How would I get info about how to update, say Roassal given the script
>>> above from some Roassal project public page?
>>>
>>> Talking about Roassal, if I go to
>>> http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the
>>> following script:
>>>
>>> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>> configurationOf: 'Roassal2'; loadDevelopment
>>>
>>>
>>>
>>> Which is probably not exactly equal to the script above (or is it?).
>>>
>>>
>>>
>>> So, is there a generic way to get a latest version of some XYZ package?
>>>
>>> What do I need to learn to be able to get that information about any Pharo
>>> project (other than asking the community)? Something similar to "git pull"
>>> when you know the repository.

Reply | Threaded
Open this post in threaded view
|

Re: Keeping packages up to date

Andrei Stebakov
Thank you!

On Sun, Apr 1, 2018, 14:00 Stephane Ducasse <[hidden email]> wrote:
Andrei

if you need help we can help you.

Stef

On Sun, Apr 1, 2018 at 7:59 PM, Stephane Ducasse
<[hidden email]> wrote:
> use metacello and iceberg or gitfiletree
>
> Stef
>
> On Sun, Apr 1, 2018 at 4:32 PM, Andrei Stebakov <[hidden email]> wrote:
>> Exactly! I guess because there are so many ways to navigate around updating
>> the package, I was lost :) Thank you guys for giving me some pointers, I'll
>> try to learn them. I wonder, which one is the most promising and mainstream?
>>
>> On Sun, Apr 1, 2018, 08:58 <[hidden email]> wrote:
>>>
>>> You can open the repository in the Monticello browser if it’s a
>>> Metacello/Monticello repo, or use Iceberg with git if it’s a git repo in the
>>> same manner you would with any other git project.  You can also open the
>>> project in Versionner to get the latest version.
>>>
>>>
>>>
>>> As far as scripting it, that’s reasonably obvious if you look at the
>>> Monticello or Versionner code itself.
>>>
>>>
>>>
>>> From: Pharo-users <[hidden email]> On Behalf Of
>>> Andrei Stebakov
>>> Sent: Saturday, March 31, 2018 7:14 PM
>>> To: Any question about pharo is welcome <[hidden email]>
>>> Subject: [Pharo-users] Keeping packages up to date
>>>
>>>
>>>
>>> I wonder if there is a generic solution to keeping certain Pharo project
>>> in sync with development tree.
>>>
>>> For example when I want to get latest Roassal I execute
>>>
>>> Gofer it
>>>
>>> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>>
>>> package: 'Roassal2';
>>>
>>> package: 'Roassal2GT';
>>>
>>> package: 'Trachel';
>>>
>>> load.
>>>
>>>
>>>
>>> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of
>>> the project told me what script to execute to get the latest version.
>>>
>>> If I went to Project Catalog I can only get the stable version and if I go
>>> and find Roassal2 it won't give me information how to get its latest
>>> version.
>>>
>>>
>>>
>>> How would I get info about how to update, say Roassal given the script
>>> above from some Roassal project public page?
>>>
>>> Talking about Roassal, if I go to
>>> http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers the
>>> following script:
>>>
>>> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
>>> configurationOf: 'Roassal2'; loadDevelopment
>>>
>>>
>>>
>>> Which is probably not exactly equal to the script above (or is it?).
>>>
>>>
>>>
>>> So, is there a generic way to get a latest version of some XYZ package?
>>>
>>> What do I need to learn to be able to get that information about any Pharo
>>> project (other than asking the community)? Something similar to "git pull"
>>> when you know the repository.