name: The name of the library. It must contain at least 3 characters among the following:
A Za z 0 (^9) .
. In particular, no spaces are allowed.
url:The URL of the library, i.e. where more information can be found.
license:The license under which the library is released. Can beGPL,LGPL,BSD,Public(for
Public Domain) orMIT.
tags:An array of tag-strings which are used on the repository website to sort libraries.
description:The description of what the library is doing.
version:The version string of the library. This is detailed inVersioning(Section 11.2.1).
releasenote:The release notes of the current version.
contributors: An array of user names which identify contributors to the library.
dependencies:An object describing the dependencies of the library. This is detailed inDepen-
dencies(Section 11.2.2).
The following JSON is a simple example of a haxelib.json:
1 {
2 "name": "useless_lib",
3 "url" :
4 "https://github.com/jasononeil/useless/",
5 "license": "MIT",
6 "tags":["cross", "useless"],
7 "description":
8 "This library is useless inthe same way on
9 every platform",
10 "version": "1.0.0",
11 "releasenote":
12 "Initial release, everythingis working
13 correctly",
14 "contributors":["Juraj","Jason","Nicolas"],
15 "dependencies":{
16 "tink_macros": "",
17 "nme": "3.5.5"
18 }
19 }
11.2.1 Versioning......................................
Haxelib uses a simplified version ofSemVer. The basic format is this:
1 major.minor.patch
These are the basic rules:
- Major versions are incremented when you break backwards compatibility - so old code will
not work with the new version of the library.