Popularity
4.4
Declining
Activity
0.0
Stable
8
3
1

Monthly Downloads: 11
Programming language: Haskell
License: GNU General Public License v3.0 only
Tags: Development    

harmony alternatives and similar packages

Based on the "Development" category.
Alternatively, view harmony alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of harmony or a related project?

Add another 'Development' Package

README

Logo Hackage version Build Status

Harmony is a web service specification compiler that generates implementation (server and client) and tests.

Targets supported

  • Server
    • Node.js (-sjs)
  • Client
    • Python (-cpython)
    • Includes Hypothesis based tests.
    • Java (-cjava)

Installation

  • From Hackage: cabal install harmony
  • From source code:
    • git clone https://www.github.com/SantiMunin/harmony
    • cd harmony
    • cabal install

Usage

After installing the package (cabal install), you will get the harmony executable. Afterwards:

Usage: harmony [OPTION...] input_file
  -c[CLIENTS]     --client[=CLIENTS]         Desired output for the client: {-cpython,
-cjava}
  -s[SERVERS]     --server[=SERVERS]         Desired output for the server: {-sjs}
  -o[OUTPUT_DIR]  --output_dir[=OUTPUT_DIR]  Output path

Check the Targets supported section to figure out the code related to each target. Also, refer to the wiki for more information.

Syntax

The input file should follow the syntax specified in language_spec/Language.cf. Example:

service_name: HouseworkService
service_version: 1.0.0

enum Color { RED, BLUE, BLACK }

struct Task {
   // Primary key
   @PK
   name : String,
   color : Color
}

struct Person {
  name: String,
  age: Int,
  tasks: [Task]
}

resource Person ("/person")

Contributing

See the wiki.