-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Query BaselineOf dependencies? #517
Comments
There is no ready made query for this.
You can use `record` in place of `load` in a Metacello load expression
to produce an ordered list of load directives. And from that you can
produce a list of the version directives that correspond to dependent
projects being loaded:
| directives versions |
directives := Metacello new
baseline: <project-name>
repository: <rep-url>
record.
versions := OrderedCollection new.
directives versionDirectivesDo: [:d | versions add: d ].
versions
But it is not a tree structure as the directives are produced in load
order ...
You might check with the fink guys as I believe that they have produced
visualizations for Metacello in the past and may have done something a
bit more like what you are looking for ...
Dale
…On 6/20/20 6:08 AM, Hernán Morales Durand wrote:
Imagine I have loaded a very complex Baseline, using Metacello.
I would like to inspect which other Baselines are loaded by this
complex Baseline. And maybe check for Baseline dependencies of a
Baseline dependency itself... and so on.
Is there a way to query and get a tree of baseline dependencies?
Something like?
BaselineOfMyProject dependencyTree.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#517>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEYKT32DZCCEDVCXNHZDNDRXSYDRANCNFSM4ODMEHMA>.
|
s/fink/feenk/ ... sorry about that ... wish I could blame spell checker:)
Dale
…On 6/20/20 10:59 AM, Dale Henrichs wrote:
There is no ready made query for this.
You can use `record` in place of `load` in a Metacello load expression
to produce an ordered list of load directives. And from that you can
produce a list of the version directives that correspond to dependent
projects being loaded:
| directives versions |
directives := Metacello new
baseline: <project-name>
repository: <rep-url>
record.
versions := OrderedCollection new.
directives versionDirectivesDo: [:d | versions add: d ].
versions
But it is not a tree structure as the directives are produced in load
order ... You might check with the fink guys as I believe that they
have produced visualizations for Metace
On 6/20/20 6:08 AM, Hernán Morales Durand wrote:
>
> Imagine I have loaded a very complex Baseline, using Metacello.
>
> I would like to inspect which other Baselines are loaded by this
> complex Baseline. And maybe check for Baseline dependencies of a
> Baseline dependency itself... and so on.
>
> Is there a way to query and get a tree of baseline dependencies?
>
> Something like?
>
> BaselineOfMyProject dependencyTree.
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <#517>, or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAEYKT32DZCCEDVCXNHZDNDRXSYDRANCNFSM4ODMEHMA>.
>
|
Thanks Dale! Yes, I remember the visualization, just wanted to check if it can be produced out of their box. |
Maybe something is missing, I get "Instance of MetacelloScriptApiExecutor did not understand #versionDirectivesDo:" for example with a very small repo: | directives versions |
directives := Metacello new
baseline: 'StringExtensions';
repository: 'github://hernanmd/StringExtensions/repository';
record.
versions := OrderedCollection new.
directives versionDirectivesDo: [:d | versions add: d ].
versions |
Where are you running this?
The MetacelloScriptApiExecutor class is an internal Metacello class and
definitely shouldn't be returned by that expression ... I haven't
changed Metacello in a several years now and I'm certain that there are
tests for this in Metacello, so something is not right in your image?
Dale
…On 6/20/20 1:46 PM, Hernán Morales Durand wrote:
Maybe something is missing, I get "Instance of
MetacelloScriptApiExecutor did not understand #versionDirectivesDo:"
for example with a very small repo:
|directives versions |
directives:= Metacello new
baseline: 'StringExtensions';
repository: 'github://hernanmd/StringExtensions/repository';
record.
versions:= OrderedCollection new.
directivesversionDirectivesDo: [:d | versionsadd: d ].
versions
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#517 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEYKT6B7F5CR74OJ44I2TTRXUN2JANCNFSM4ODMEHMA>.
|
I ran this in a clean vanilla Pharo 8 image (Pharo 8.0.0 wget -O- get.pharo.org/64 | bash - All Metacello tests (183) passes, but this is the output I get running your script:
|
Hernán,
It sounds like this must be a Metacello regression that is specific to
Pharo9. When I look at the test lineup for Metacello on github[1]. The
latest version of Pharo that is tested i6 Pharo6.1, so Phara appears to
be using their own version of Metacello and I have no visibility of what
they have done the last few years, but clearly there have been regressions.
Dale
[1] https://github.com/Metacello/metacello/blob/master/.travis.yml#L6-L21
…On 6/21/20 10:59 AM, Hernán Morales Durand wrote:
I ran this in a clean vanilla Pharo 8 image (Pharo 8.0.0
Build information:
Pharo-8.0.0+build.1140.sha.5e328f2d7e8ed65fbddfb761624df5a19d0400f7
(64 Bit)) under macOS:
wget -O- get.pharo.org/64| bash -
All Metacello tests (183) passes, but this is the output I get running
your script:
Instance of MetacelloScriptApiExecutor did not understand
#versionDirectivesDo:
MetacelloScriptApiExecutor(Object)>>doesNotUnderstand:
#versionDirectivesDo:
UndefinedObject>>DoIt
OpalCompiler>>evaluate
RubSmalltalkEditor>>evaluate:andDo:
RubSmalltalkEditor>>highlightEvaluateAndDo:
[ textMorph textArea editor highlightEvaluateAndDo: ann action.
textMorph shoutStyler style: textMorph text ] in [ textMorph textArea
handleEdit: [ textMorph textArea editor highlightEvaluateAndDo:
ann action.
textMorph shoutStyler style: textMorph text ] ] in
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
in Block: [ textMorph textArea editor highlightEvaluateAndDo...etc...
RubEditingArea(RubAbstractTextArea)>>handleEdit:
[ textMorph textArea
handleEdit: [ textMorph textArea editor highlightEvaluateAndDo:
ann action.
textMorph shoutStyler style: textMorph text ] ] in
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
in Block: [ textMorph textArea...
WorldState>>runStepMethodsIn:
WorldMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
WorldMorph class>>doOneCycle
[ [ WorldMorph doOneCycle.
Processor yield.
false ] whileFalse: [ ] ] in MorphicUIManager>>spawnNewProcess in
Block: [ [ WorldMorph doOneCycle....
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block:
[ self value....
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#517 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEYKT5R6UO6EWKDB3ZRQXDRXZDARANCNFSM4ODMEHMA>.
|
Thanks Dale, I thought there was only one version of Metacello for all flavors and I also didn't found a forked Pharo 8 version. I will check if I find some info about this. |
Imagine I have loaded a very complex Baseline, using Metacello.
I would like to inspect which other Baselines are loaded by this complex Baseline. And maybe check for Baseline dependencies of a Baseline dependency itself... and so on.
Is there a way to query and get a tree of baseline dependencies?
Something like?
BaselineOfMyProject dependencyTree.
The text was updated successfully, but these errors were encountered: