The asclepias
Developer Guide
This guide is designed for asclepias developers,
i.e. folks who contribute the asclepias repository.
For the user guide,
click here.
|
These documents describe how to:
-
contribute to
asclepias
-
install the Haskell toolchain
-
set up your development environment
To develop and work with asclepias
locally, clone the repository:
git clone git@gitlab.novisci.com:nsStat/asclepias.git
Building asclepias
packages
This section outlines asclepias
-specific build instructions.
For details on building Haskell projects in general,
see the Usage Guide.
The asclepias
repository is organized using a multiple project setup.
Some of the subdirectories of the repository
such as hasklepias-core
, hasklepias-main
, etc.
contain a Cabal package that we call a "project" or "sub-project".
We can choose which subset of projects to build,
including theentire asclepias
project,
using the cabal build
command as outlined in the Usage Guide.
.Best Practice
Build the entire |
Versioning asclepias
asclepias
tries to follow
semantic versioning 2.0.0.
Each package in the asclepias
project has the same version. Starting with
version v0.27.0
, asclepias
adheres to the
git usage guidelines. In
particular, this means versions are marked with tagged commits on the projects
origin/master
branch in GitLab, and work toward each release is tracked in
GitLab milestones. Version tags should be in the format vx.x.x
, as in
v0.27.0
.
Version-changing edits to one package should bump the version in all packages.
As of 0.27.0 , version numbers should be of the form x.x.x , wherever they
are referenced or used, event if the final element is 0, meaning we write
0.27.0 not 0.27 . Where appropriate, references to version numbers will
start with v as they appear in the version-tagged commits, for example
v0.27.0 . One place where a v prefix is not appropriate is in the package
.cabal files.
|
The antora-playbook.yml file in the
noviverse-site repository
determines which commit references of asclepias are used for the
documentation site. At present, these are the version-tagged commits beginning
with v0.27.0 . The docs/antora.yml file of the asclepias repo sets the
version of this documentation based on the version tags.
|
Until asclepias version 1.0 is released,
no guarantees of backwards-compatability are made.
|