pharo-project / pharo

Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
http://pharo.org
Other
1.21k stars 356 forks source link

Sindarin in Pharo13 need to be loaded from Pharo13 branch of ScriptableDebugger (and not Pharo12 branch) #16660

Closed astares closed 6 months ago

astares commented 6 months ago

When you download and open a fresh Pharo13 image like Pharo13.0.0SNAPSHOT Build information: Pharo-13.0.0+SNAPSHOT.build.54.sha.5325a9f915ef4e62fe3149e8483159d597a28181 (64 Bit)

you will notice in the method BaselineOfNewTools>>#sindarin:

sindarin: spec

    spec baseline: 'Sindarin' with: [
        spec
            repository: ((self packageRepositoryURLForSpec: spec) ifEmpty: [
                         'github://pharo-spec/ScriptableDebugger:Pharo12/src' ]);
            loads: 'default' ]

that Sindarin is loaded from Pharo12 branch of "github://pharo-spec/ScriptableDebugger" repo (https://github.com/pharo-spec/ScriptableDebugger) although we are already in Pharo 13.

There is already a Pharo13 branch that should be used (https://github.com/pharo-spec/ScriptableDebugger/tree/Pharo13) and we should not hardcode it here on the BaselineOfNewTools.

It would be better to manage Sindarin like other external projects and list it as "external project" on BaselineOfPharo like Spec, NewTools, ... and other frameworks that are used to assemble the full image.

I therefore already prepared https://github.com/pharo-project/pharo/pull/16653 which is already merged and part of the Pharo13 image.

What is left is to adopt the BaselineOfNewTools to not hardcode the "Pharo12" branch but better use the methods provided in #16653 to use the proper branch version depending on Pharo12 or Pharo13 or later.

astares commented 6 months ago

image

astares commented 6 months ago

This needs to be solved for the BaselineOfNewTools (which is hosted in https://github.com/pharo-spec/NewTools). Here we need to adopt specifically the one in the Pharo13 branch.

And we should not hard code anymore but use the methods now available due to the solution for #16652 in BaselineOfPharo (as it is the case for the other external projects).

This way we can make sure that:

  1. the code from the correct branch "Pharo13" from https://github.com/pharo-spec/ScriptableDebugger is used to build Pharo13 image (this is where you typically apply the Sindarin changed intended for Pharo13 then)
  2. later when Pharo13 is released and there is a Pharo14 the only thing the community has to do is to provide new branches for "Pharo14" and it can be changed all on the central BaselineOfPharo.
GitHub
GitHub - pharo-spec/NewTools: All development tools for Pharo, developed with Spec
All development tools for Pharo, developed with Spec - pharo-spec/NewTools
GitHub
GitHub - pharo-spec/ScriptableDebugger
Contribute to pharo-spec/ScriptableDebugger development by creating an account on GitHub.
astares commented 6 months ago

We should fix it in Pharo13 with

sindarin: spec

    spec baseline: 'Sindarin' with: [
        spec
            repository: (self class environment at: #BaselineOfPharo) scriptableDebuggerRepository;
            loads: 'default' ]