baserock-schema: Baserock Definitions Schema

[ bsd3, data, library, program ] [ Propose Tags ]

Baserock Definitions Schema - Parsers, Printers, Encoders, Decoders, ASTs, Graphs and Traversals

[Skip to Readme]


[Last Documentation]

  • Baserock
    • Schema
      • Baserock.Schema.V9


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,,
Change log
Dependencies aeson, base (>=4.7 && <5), baserock-schema, etc, gitlab-api, hashable, lens-aeson, microlens-platform, rio, yaml-pretty-extras [details]
License BSD-3-Clause
Copyright 2018 Daniel Firth
Author Daniel Firth
Category Data
Source repo head: git clone
Uploaded by locallycompact at 2018-07-03T12:06:16Z
Executables baserock
Downloads 4164 total (21 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2018-07-03 [all 3 reports]

Readme for baserock-schema-

[back to package description]


Definitions schema for baserock system definitions. This repository provides a library for interaction with definitions via lenses as well as several common tools for assisting with annoying rebase work where your development branch and master have diverged too much.


You will need stack

You can build with

stack build


You can run the tests with

stack test


You can install the application by running

stack install

which will install the baserock executable. You may then sit in a definitions repository and run

baserock sanitize <path/to/morph>


The main executable has several commands you can use to manipulate definitions in useful ways. All commands which take a field can usually be given either a system or a stratum, and in some but not all cases a chunk morph where it makes sense.

You can sanitize a system or stratum with

baserock sanitize <path/to/morph>

You can set all the refs for every chunk in a given system or stratum by running

baserock set-all-refs <ref> <path/to/morph>

You can use information from gitlab to modify your morphologies. To bump the sha of every chunk to the HEAD of its currently listed ref, run

baserock bump-shas <path/to/morph> -t GITLAB_API_TOKEN -u GITLAB_BASE_URL

You can also change the ref and track shas if and only if the supplied ref exists on gitlab, by running

baserock maybe-track-ref <ref> <path/to/morph> -t GITLAB_API_TOKEN -u GITLAB_BASE_URL

You can checkout the chunk instructions for every chunk in a system or stratum from a different branch in the current definitoins repository, by running

baserock steal-instructions <branch> <path/to/morph>