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.
|