Hi Offray,

You can also use something like:
location := FileLocator localDirectory / 'iceberg' / 'pharo-contributions' / 
'taskit'.
(IceRepositoryCreator new 
        location: location;
        remote: (IceGitRemote url: 
'https://github.com/pharo-contributions/taskit.git');
        createRepository)
register.

Metacello new
        repository: 'gitlocal://', location fullName;
        baseline: 'TaskIt';
        load

Regards,
Christophe

> Le 16 juil. 2020 à 20:04, Offray Vladimir Luna Cárdenas 
> <offray.l...@mutabit.com> a écrit :
> 
> Hi Pierce,
> 
> I'm loading the stuff in the self Gitea repositories from local copies
> and in the order I know they are needed. So in a sense I following a
> similar behavior as yours (but I will use the `tonel:///` trick now when
> needed, thanks for it).
> 
> My problem is with sharing my baseline with others to ease their
> installation of the packages I develop, without using Git oligopolistic
> providers (GitHub, GitLab and Bitbucket), but instead self hosted
> community Gitea instances.
> 
> From this thread, I imagine that the path to follow is to extend the
> Metacello Git providers to include Gitea instances. I will see how the
> current ones are implemented and what can I contribute using them as a
> template for new providers and see how to contribute this back to Pharo
> as a Metacello "plugin". I will share advances and questions here.
> 
> Cheers,
> 
> Offray
> 
> On 15/07/20 10:19 p. m., Pierce Ng wrote:
>> On Wed, Jul 15, 2020 at 08:41:04AM -0500, Offray Vladimir Luna Cárdenas 
>> wrote:
>>> So, a better question would be: Is possible to load programatically (via
>>> a code snippet) using Iceberg, Monticello or something else a baseline
>>> that installs a project and its dependencies and is hosted in an
>>> independent Git provider? How can self hosted git repositories
>>> containing baselines be loaded?
>> Hi Offray,
>> 
>> I don't define dependencies in baselines for stuff in my self-hosted
>> Gitea because I work on them myself and I know their interdependencies.
>> And since I am working on them, they are all locally checked out.
>> 
>> I load my stuff in the correct order like this:
>> 
>>  Metacello new
>>    baseline: 'StuffOne';
>>    repository: 'tonel:///home/pierce/work/git/StuffOne/src';
>>    load.
>> 
>>  Metacello new
>>    baseline: 'StuffTwo';
>>    repository: 'tonel:///home/pierce/work/git/StuffTwo/src';
>>    load.
>> 
>> Here StuffTwo is dependent on StuffOne. To be clear, I have written
>> baselines for StuffOne and StuffTwo, which is how I am loading them
>> here. I'm just not defining in StuffTwo's baseline that StuffOne is a
>> dependency.
>> 
>> For me this is more agile because I only need to edit my load snippet
>> and I get immediate feedback by running it.  The Git repo roundtripping
>> of fixing up dependencies in baselines OTOH feels more like the
>> edit-compile-test cycle.  Eventually if/when I publish StuffOne and
>> StuffTwo, I do have to define the dependencies but it'll be easy because
>> then they'll be on Github.
>> 
>> Pierce
>> 
>> 
> 
> 


Reply via email to