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]
Versions 0.0.1.0, 0.0.1.1, 0.0.1.2, 0.0.1.3, 0.0.1.5, 0.0.2.0, 0.0.3.4, 0.0.3.5
Change log ChangeLog.md
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
Maintainer locallycompact@gmail.com
Category Data
Source repo head: git clone https://gitlab.com/locallycompact/baserock-schema
Uploaded by locallycompact at Tue Jul 3 12:06:16 UTC 2018
Distributions NixOS:0.0.3.5
Executables baserock
Downloads 397 total (25 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2018-07-03 [all 3 reports]
Hackage Matrix CI

Modules

  • Baserock
    • Schema
      • Baserock.Schema.V9

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for baserock-schema-0.0.3.5

[back to package description]

baserock-schema

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.

Building

You will need stack

You can build with

stack build

Testing

You can run the tests with

stack test

Installing

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>

Usage

The main executable has several commands you can use to manipulate definitions in useful ways. All commands which take a <morph> 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>