Skip to content

Latest commit

 

History

History
87 lines (64 loc) · 2.87 KB

contribution.md

File metadata and controls

87 lines (64 loc) · 2.87 KB

Contribution

Development dependencies

Mandatory

  • Clojure 1.10
  • Postgresql >= 11.5
  • Clojure cli >= 1.11.1.1155
  • Docker >= 19.03.11
  • Docker-compose >= 1.21.0

Libraries

Mandatory

Name Version Related
funcool/cuerdas RELEASE String manipulation
metosin/reitit 0.5.12 Routes
potemkin/potemkin 0.4.5 Helper
com.draines/postal 2.0.4 Email
duct/server.http.jetty 0.2.1 WebServer
seancorfield/next.jdbc 1.1.613 WebServer
honeysql/honeysql 1.0.444 PostGreSQL
nilenso/honeysql-postgres 0.2.6 PostGreSQL
org.postgresql/postgresql 42.2.2 PostGreSQL
crypto-password/crypto-password 0.2.1 Security

Optional

Name Version Provide
clj-kondo/clj-kondo RELEASE Tests

Setup

$ git clone [email protected]:Flexiana/framework.git; cd framework
$ ./script/auto.sh -y all

The first command will clone Flexiana/framework repository and jump to its directory. The second command calls auto.sh script to perform the following sequence of steps:

  1. Download the necessary docker images
  2. Instantiate the database container
  3. Import the initial SQL schema: ./docker/sql-scripts/init.sql
  4. Populate the new schema with 'fake' data from: ./docker/sql-scripts/test.sql
  5. Call clj -X:test that will download the necessary Clojure dependencies and executes unitary tests.

See ./script/auto.sh help for more advanced options.

Remember it's necessary to have docker & docker-compose installed in your host machine. Docker daemon should be running. The chain of commands fails otherwise. It should also be noted that after the first installation everything will be cached preventing unnecessary rework, it's possible to run only the tests, if your development environment is already up, increasing the overall productivity.

./script/auto.sh -y tests

Releasing

Install locally

clj -M:install

Deploying a release

  • Set up a new version number in release.edn eg: "0.5.0-rc2"
  • Make a git TAG with v prefix, like v0.5.0-rc2
  • Push it and wait for deployment to clojars

Executing example's tests

  • Be sure all examples has the same framework version as it is in release.edn as dependency
  • Execute ./example-tests.sh script. It will install the actual version of xiana, and go through the examples folder for check-style and lein test.