pillar-markup / pillar

Markup syntax and associated tools to write and generate documentation, books and slides
MIT License
51 stars 37 forks source link

Cannot build pillar anymore :( even after going back to previous baseline :( #603

Closed Ducasse closed 2 months ago

Ducasse commented 2 months ago
e: '\''Pillar'\''; repository: '\''gitlocal:///Users/ducasse/pillar/scripts/../src'\''; load'
MetacelloNotification: Loaded -> BaselineOfPillar --- unresolved
MetacelloNotification: Loading baseline of BaselineOfPillar...
MetacelloNotification: Project: Chrysal
MetacelloNotification: Loaded -> BaselineOfChrysal --- unresolved
MetacelloNotification: Project: ContainersPropertyEnvironment
MetacelloNotification: Loaded -> BaselineOfContainersPropertyEnvironment --- unresolved
MetacelloNotification: Project: ContainersPropertyEnvironment
MetacelloNotification: Project: Microdown
MetacelloNotification: Loaded -> BaselineOfMicrodown --- unresolved
#new was sent to nil
UndefinedObject(Object)>>doesNotUnderstand: #new
MetacelloMonticelloLoader>>loadProject:
MetacelloMCBaselineOfProjectSpec(MetacelloProjectSpec)>>ensureProjectLoadedWithEngine:
MetacelloRecordTarget>>visitProjectReference:
MetacelloProjectReferenceSpec>>acceptVisitor:
[ :pkg | pkg acceptVisitor: self ] in [
            self specBuilder currentLoadDirective spec: spec.
            packages do: [ :pkg | pkg acceptVisitor: self ] ] in MetacelloRecordTarget>>linearLoadPackages:ofSpec: in Block: [ :pkg | pkg acceptVisitor: self ]
OrderedCollection>>do:
[
            self specBuilder currentLoadDirective spec: spec.
            packages do: [ :pkg | pkg acceptVisitor: self ] ] in MetacelloRecordTarget>>linearLoadPackages:ofSpec: in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloSpecBuilder>>pushLoadDirective:during:
MetacelloSpecBuilder>>pushLinearLoadDirectivesDuring:for:
MetacelloRecordTarget>>linearLoadPackages:ofSpec:
["Iterate the internals of the version spec"
    aSpec project loadType == #atomic ifTrue: [
        ^ self atomicLoadPackages: packages ofSpec: aSpec ].
    aSpec project loadType == #linear ifTrue: [
        ^ self linearLoadPackages: packages ofSpec: aSpec ].

    MetacelloError signal:
        'Unknown loadType: ' , aSpec project loadType printString] in MetacelloRecordTarget>>visitVersionSpecChildren: in Block: ["Iterate the internals of the version spec"...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloRecordTarget>>visitVersionSpecChildren:
MetacelloRecordTarget>>visitVersionSpec:
MetacelloVersionSpec>>acceptVisitor:
MetacelloVersion>>recordRequiredFromArray:withEngine:
MetacelloVersion>>fetchRequiredFromArray:withEngine:
MetacelloVersion>>loadRequiredFromArray:withEngine:
[
          self loadRequiredFromArray: anArray withEngine: anEngine ] in MetacelloVersion>>doLoadRequiredFromArray:withEngine: in Block: [...
[
            | result |
            result := aBlock value.

            MetacelloNotification signal:
                '...finished ' , self versionNumber printString.
            ^ result ] in [
    MetacelloPlatform current
        do: [
            | result |
            result := aBlock value.

            MetacelloNotification signal:
                '...finished ' , self versionNumber printString.
            ^ result ]
        displaying: aLabel , displayString ] in MetacelloVersion>>doWithProgress:label:silently: in Block: [...
[ :bar |
        bar value: 1.
        aBlock value.
        bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPlatform)>>do:displaying: in Block: [ :bar |...
FullBlockClosure(BlockClosure)>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
      CurrentJob
        value: self
        during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
[ activeProcess
            psValueAt: index
            put: anObject.
        aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
      CurrentJob
        value: self
        during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
ducasse:pillar/ (dev) $ cd ../                                                                               [21:39:41]
ducasse:~/ $ rm -rf pillar                                                                                   [22:04:06]
ducasse:~/ $ rm -rf .pillar                                                                                  [22:04:15]
ducasse:~/ $ git clone git@github.com:pillar-markup/pillar.git                                               [22:04:18]
Cloning into 'pillar'...
remote: Enumerating objects: 24455, done.
remote: Counting objects: 100% (2690/2690), done.
remote: Compressing objects: 100% (931/931), done.
remote: Total 24455 (delta 1831), reused 2500 (delta 1690), pack-reused 21765
Receiving objects: 100% (24455/24455), 11.04 MiB | 1.97 MiB/s, done.
Resolving deltas: 100% (12562/12562), done.
ducasse:~/ $ cd pillar                                                                                       [22:04:30]
ducasse:pillar/ (dev) $ ls                                                                                   [22:04:57]
LICENSE       README.md     archetypes    documentation preLoading.st scripts       src
ducasse:pillar/ (dev) $ ./scripts/build.sh                                                                   [22:04:59]
+++ dirname ./scripts/build.sh
++ cd ./scripts
++ pwd
+ __dir=/Users/ducasse/pillar/scripts
++ pwd
+ __builddir=/Users/ducasse/pillar/build
+ PHARO_VERSION=120
+ PHARO='./pharo Pharo.image --no-default-preferences'
+ rm -rf /Users/ducasse/pillar/build
+ mkdir -p /Users/ducasse/pillar/build
+ cd /Users/ducasse/pillar/build
+ wget -O - get.pharo.org/64/120+vm
+ bash
--2024-08-04 22:05:15--  http://get.pharo.org/64/120+vm
Resolving get.pharo.org (get.pharo.org)... 164.132.235.17
Connecting to get.pharo.org (get.pharo.org)|164.132.235.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3064 (3,0K)
Saving to: ‘STDOUT’

-                             100%[=================================================>]   2,99K  --.-KB/s    in 0s

2024-08-04 22:05:15 (487 MB/s) - written to stdout [3064/3064]

Downloading the latest 120 Image:
    http://files.pharo.org/get-files/120/pharoImage-arm64.zip
Pharo.image
Downloading the latest pharoVM:
    http://files.pharo.org/get-files/120/pharo-vm-Darwin-arm64-stable.zip
pharo-vm/Pharo.app/Contents/MacOS/Pharo
Creating starter scripts pharo and pharo-ui
+ REPOSITORY_PATH=/Users/ducasse/pillar/scripts/../src
++ get_platform_identifier
+++ uname
+++ tr '[:upper:]' '[:lower:]'
++ local TMP_OS=darwin
++ [[ {darwin} = *darwin* ]]
++ echo mac
+ OS=mac
+ '[' mac == win ']'
+ ./pharo Pharo.image --no-default-preferences st --quit --save /Users/ducasse/pillar/scripts/unload_md.st
+ ./pharo Pharo.image --no-default-preferences eval --save 'Iceberg remoteTypeSelector: #httpsUrl. Metacello new baseline: '\''Pillar'\''; repository: '\''gitlocal:///Users/ducasse/pillar/scripts/../src'\''; load'
MetacelloNotification: Loaded -> BaselineOfPillar --- unresolved
MetacelloNotification: Loading baseline of BaselineOfPillar...
MetacelloNotification: Project: Chrysal
MetacelloNotification: Loaded -> BaselineOfChrysal --- unresolved
MetacelloNotification: Project: ContainersPropertyEnvironment
MetacelloNotification: Loaded -> BaselineOfContainersPropertyEnvironment --- unresolved
MetacelloNotification: Project: ContainersPropertyEnvironment
MetacelloNotification: Project: Microdown
MetacelloNotification: Loaded -> BaselineOfMicrodown --- unresolved
#new was sent to nil
UndefinedObject(Object)>>doesNotUnderstand: #new
MetacelloMonticelloLoader>>loadProject:
MetacelloMCBaselineOfProjectSpec(MetacelloProjectSpec)>>ensureProjectLoadedWithEngine:
MetacelloRecordTarget>>visitProjectReference:
MetacelloProjectReferenceSpec>>acceptVisitor:
[ :pkg | pkg acceptVisitor: self ] in [
            self specBuilder currentLoadDirective spec: spec.
            packages do: [ :pkg | pkg acceptVisitor: self ] ] in MetacelloRecordTarget>>linearLoadPackages:ofSpec: in Block: [ :pkg | pkg acceptVisitor: self ]
OrderedCollection>>do:
[
            self specBuilder currentLoadDirective spec: spec.
            packages do: [ :pkg | pkg acceptVisitor: self ] ] in MetacelloRecordTarget>>linearLoadPackages:ofSpec: in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloSpecBuilder>>pushLoadDirective:during:
MetacelloSpecBuilder>>pushLinearLoadDirectivesDuring:for:
MetacelloRecordTarget>>linearLoadPackages:ofSpec:
["Iterate the internals of the version spec"
    aSpec project loadType == #atomic ifTrue: [
        ^ self atomicLoadPackages: packages ofSpec: aSpec ].
    aSpec project loadType == #linear ifTrue: [
        ^ self linearLoadPackages: packages ofSpec: aSpec ].

    MetacelloError signal:
        'Unknown loadType: ' , aSpec project loadType printString] in MetacelloRecordTarget>>visitVersionSpecChildren: in Block: ["Iterate the internals of the version spec"...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloRecordTarget>>visitVersionSpecChildren:
MetacelloRecordTarget>>visitVersionSpec:
MetacelloVersionSpec>>acceptVisitor:
MetacelloVersion>>recordRequiredFromArray:withEngine:
MetacelloVersion>>fetchRequiredFromArray:withEngine:
MetacelloVersion>>loadRequiredFromArray:withEngine:
[
          self loadRequiredFromArray: anArray withEngine: anEngine ] in MetacelloVersion>>doLoadRequiredFromArray:withEngine: in Block: [...
[
            | result |
            result := aBlock value.

            MetacelloNotification signal:
                '...finished ' , self versionNumber printString.
            ^ result ] in [
    MetacelloPlatform current
        do: [
            | result |
            result := aBlock value.

            MetacelloNotification signal:
                '...finished ' , self versionNumber printString.
            ^ result ]
        displaying: aLabel , displayString ] in MetacelloVersion>>doWithProgress:label:silently: in Block: [...
[ :bar |
        bar value: 1.
        aBlock value.
        bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPlatform)>>do:displaying: in Block: [ :bar |...
FullBlockClosure(BlockClosure)>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
      CurrentJob
        value: self
        during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
[ activeProcess
            psValueAt: index
            put: anObject.
        aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
      CurrentJob
        value: self
        during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
Ducasse commented 2 months ago

Manual Install of Pillar

Install pillar

git clone git@github.com:pillar-markup/pillar.git
cd pillar
cd build 
wget -O - get.pharo.org/64/12+vm | bash

Remove old crap from the playground

pharo-ui Pharo.image

Execute the following

| packagesToUnload mic |
packagesToUnload := ((PackageOrganizer default packages 
        select: [ :each | each name beginsWith: 'Microdown' ])  collect: [ :each | each name ]) 
        reject: [ :each |  
     #('Microdown-RichTextPresenter' 'Microdown-RichTextPresenter-Tests') includes: each ].
packagesToUnload := packagesToUnload asOrderedCollection.
packagesToUnload add: 'BaselineOfMicrodown'.
mic := (IceRepository repositoryNamed: 'Microdown').
    mic ifNotNil: [ 
        packagesToUnload do: 
            [ :each | 
                (mic packageNamed: each) unload ].
        mic delete ].
Smalltalk globals at: #BaselineOfMicrodown ifPresent: [ :c | c removeFromSystem ]
Metacello new
  baseline: 'Microdown';
  repository: 'github://pillar-markup/Microdown:master/src';
  load.
./pharo Pharo.image eval --save "Iceberg remoteTypeSelector: #httpsUrl. Metacello new baseline: 'Pillar'; repository: 'gitlocal://${REPOSITORY_PATH}'; load"

then

./pharo Pharo.image eval --save "Deprecation raiseWarning: false."
./pharo Pharo.image eval --save "Deprecation showWarning: false."
./pharo Pharo.image eval --save "StartupPreferencesLoader allowStartupScript: false."

./pharo Pharo.image eval --save "PharoFilesOpener default unsetInformAboutReadOnlyChanges."
./pharo Pharo.image eval --save "Smalltalk logFileName: '/tmp/pillarApp.log'"
Ducasse commented 2 months ago

It works now I do not know why.