Skip to content
StéphaneDucasse edited this page Feb 13, 2021 · 7 revisions

Pillar and MicroDown

Modularizing the Tests

The tests in Pillar-Test-Core mix several concerns. They test that a text in some syntax is parsed and equals to some AST. They test that a tree can be exported to some syntax and equals to the original syntax. They test that a tree can be exported to plain text and equals to the original plain text.

testParseOnlyAnnotation
	| wiki text tree |
	wiki := '@@foo'.
	text := ''.
	tree := PRDocument new
		add: (PRAnnotatedParagraph new
			annotation: 'foo';
			yourself);
		yourself.
	self assertWiki: wiki equalsTree: tree.
	self assertTree: tree equalsWiki: wiki.
	self assertTree: tree equalsText: text

All these tests should be cut in many tests, each with a separate assertion. And each of these assertions should come with only the setup they need.

BACKLOG

0 Loading + Travis P8 PillarApp + Microdown = BaselineOfPillarApp

P8 PillarRichText + Microdown = MicrodownForPharo = BaselineOfMicroDev - Ok - Travis

  1. Introduire MD dans la boucle de books pillar

  2. Splitting baselines to make Pillar for Pharo independent of Pillar Book

  3. Faire tourner sur Pharo9 P9 PillarBook + Microdown = BaselineOfPillarMicro P9 PillarBasicDocumentModel (with rich text renderer) + Microdown = MicrodownForPharo = BaselineOfMicrodown

Current Task Queue:

  • PillarApp + Microdown
  • Pillar-Microdown has only a test?
  • Pillar-PillarTextRichTextExporter
  • Check why MicrodownCommentRenderer test is not taken into account
  • Pillar-ExporterMicrodown has strange dependencies
  • Clean old baseline remove baselineOfPear

Discussion on dependencies

Layer 2

PillarApp-Microdown (Microdown integration to pillar app) repo: Microdown dependencies: PillarApp, MD-to-Pillar

  • extending extension points pillar book to call the microdown parser

[DONE] MicrodownCommentRenderer repo: Microdown dependencies: MicroDown Calypso integration (but this is "pillar" generic)

Layer 1

[DONE] MicroDown repo: Microdown dependencies: PillarDocumentModel Microdown parser microdown model Transform Microdown AST to PillarDocumentModel

[DONE] PillarApp repo: Pillar future: To be split in PillarPipeline and Foundation dependencies: PillarDocumentModel, Mustache (externe), Chrysal (externe) - config files (Chrysal)

  • pipeline
  • command line, clap
  • booktester

Pillar Parser Exporters Pillar Full Model

  • extensions
  • columns, citations, footnote, slide, tocs App et packaging

Layer 0

DONE] PillarDocumentModel (basic elements + basic visitor) repo: Pillar Pillar-Core PillarRichTextRenderer "for now I thought it was PillarCore but this is not the case" + tests

BOOK STATUS

Currently checking in 8.0.12 + new sba https://travis-ci.com/github/SquareBracketAssociates/booklet-Commander

https://travis-ci.com/github/SquareBracketAssociates/Booklet-LLVMCompilationWithPharo https://travis-ci.com/github/SquareBracketAssociates/Booklet-ManagingCode https://travis-ci.com/github/SquareBracketAssociates/Booklet-OPAL

To be continued

Newly migrated to latest sba + dependencies and green bar

ollected error summary (may duplicate other messages):

pdflatex: Command for 'pdflatex' gave return code 1

  Refer to '/Users/ducasse/Workspace/FirstCircle/MyBooks/Bk-Writing/PharoBooks2/LearningOOPWithPharo/_result/pdf/Chapters/Expressions.log' for details

Error: command latexmk failed

PRPDFDocument(Object)>>error:

PRPDFDocument>>executeOnUnixCommand:arguments:workingDirectory:

PRPDFDocument>>executeCommand:arguments:workingDirectory:

PRPDFDocument>>postWriteTransform:

  • https://github.com/SquareBracketAssociates/DynamicWebDevelopmentWithSeaside '/home/travis/build/SquareBracketAssociates/DynamicWebDevelopmentWithSeaside/_result/pdf/Chapters/11-Sudoko/figures/rowOfNumbers.png' from line 7945 'LaTeX Warning: File /home/travis/build/SquareBracketAssociates/DynamicWebDevelopmentWithSeaside/_result/pdf/Chapters/11-Sudoko/figures/rowOfNumbers.png' not found on input line 4828.' 7946Latexmk: Missing input file: '/home/travis/build/SquareBracketAssociates/DynamicWebDevelopmentWithSeaside/_result/pdf/Chapters/11-Sudoko/figures/rowOfNumbers.png' from line 7947 'LaTeX Warning: File /home/travis/build/SquareBracketAssociates/DynamicWebDevelopmentWithSeaside/_result/pdf/Chapters/11-Sudoko/figures/rowOfNumbers.png' not found on input line 4828.'

  • TODO for Stef in the future

#PROCESS Normally this process should be in Microdown repo.

  • Harvest changes done to MD in Pharo

  • this is for the case somebody touched MD directly. We need to push those changes to the MD repo.

  • Image Pharo Latest

  • Checkout microdown/release avec option "Do not load code" in the dropdown => this will leave the image as is, with the Pharo version of MD => if pharo and MD are clean, there are no changes, we are done

  • Create a new MD branch e.g., "harvestFromPharoXXX"

  • Commit all Pharo changes

  • checkout development

  • merge "harvestFromPharoXXX" into development

  • Freeze for release MD "Precondition: Fixes from pharo have been harvested"

  • Image Pharo Latest

  • Checkout branch release

  • Merge dev dans release

  • Verify that the baseline of pillar in baselineOfMicrodown points on the good tag. (mais attention c'est pour le repo microdown et pas celui de Pharo).

  • Create un tag microdown (- Normalement on n'a pas besoin de toucher BaselineOfIDE)

    • Push sur le repository Microdown sur Release Branch

Integration dans Pharo

"Precondition: Fixes from pharo have been harvested and release is done" - Take latest Pharo - Load tagged microdown from microdown repo - Commit + PR Pharo

  • Check process to develop MD
  • Harvest step
  • Checkout branch development of MD
  • load baselineOfMicrodownDev!
Clone this wiki locally