Merge remote-tracking branch 'canonical/next'
[sinan.git] / INSTALL.md
blob1a499d521b90b3317f95e9ecf9f2e40b9850e9f8
1 Building Sinan from Source
2 ==========================
4 The easiest way to get and use Sinan is to download the precompiled
5 version from [the github sinan site]
6 (https://github.com/downloads/erlware/sinan/sinan)
8 To build Sinan, start with the Makefile in the root of the Sinan
9 project. Unfortunately, Sinan can not actually build itself directly
10 due to the lack of sandboxing support in the Erlang code loading
11 subsystem. The purpose of the Makefile based bootstraping in the Sinan
12 project is to get around that limitation.
14 To get started building Sinan from source we need to have a few
15 dependencies in place.
17 Dependencies
18 ------------
20 * [erlware_commons](https://github.com/erlware/erlware_commons)
21 * [cucumberl](https://github.com/membase/cucumberl)
22 * [getopt](https://github.com/jcomellas/getopt)
23 * [proper](https://github.com/manopapad/proper)
24 * [joxa](https://github.com/erlware/joxa)
26 The versions of these OTP Applications that are required are detailed
27 in the sinan.config located in the top level of the sinan project. If
28 no version is specified there then any version will do quite well.
30 Building the System
31 -------------------
33 Make sure you are in the root of the system. Then run the following
34 command:
36     $> make build
38 Assuming everything built correctly you are ready to move on to the
39 next step.
41 Testing The System
42 ------------------
44 You may, at your discression, run sinan's test suite. There are four
45 different kinds of tests in Sinan and all four sets of tests must pass
46 for for the built version of Sinan to be considered stable. To run
47 these tests enter the following commands on the command line.
49     $> make eunit
50     $> make cucumber
51     $> make proper
52     $> make smoketests
54 The smoke tests have a lot of output. Its actually easier to see
55 failures if you pipe standard out into /dev/null and then look for
56 errors from standard error as follows:
58     $> make smoketests > /dev/null
60 With this command all errors in the smoketest should be immediately
61 obvious.
63 Assuming all of these tests pass you are ready to move on to
64 packaging.
66 Packaging Sinan as an Escript
67 -----------------------------
69 As with everything else you can package sinan simply by running the
70 following command:
72     $> make escript
74 This will run Sinan's escript task on Sinan itself producing a 'sinan'
75 escript. The location of the escript will be printed as the last line
76 of output after you run the command.
78 Starting Development
79 --------------------
81 Checkout the
82 [sinan wiki](https://github.com/erlware/sinan/wiki/_pages) for more
83 information about sinan and how to get started with it. Also checkout
84 the
85 [Building From Source](https://github.com/erlware/sinan/wiki/BuildingFromSource)
86 document for expanded coverage of building sinan.