1 <h1 id=
"developers-information">Developers information
</h1>
2 <p>Do you want to help with making Chorus even better? Find help below...
</p>
3 <p>This page contains information about getting your dev environment up and running so you can build and test your
4 changes without the hassle of setting up all the required dependencies.
</p>
5 <h2 id=
"docker-dev-environment">Docker dev environment
</h2>
6 <p>Included in this repo is a
<code>Dockerfile
</code> which builds the Chorus
2 dev environment image. If you wanted to develop
7 <em>without
</em> using docker, this is a good reference as to what you need installed on your pc.
</p>
8 <p>If you want to make your live much easier, just install docker then grab the pre-built image from docker hub.
</p>
9 <pre><code>docker pull jez500/chorus2
<span class=
"hljs-attribute">-dev
</span>:latest
10 </code></pre><h3 id=
"installing-dev-dependencies">Installing dev dependencies
</h3>
11 <p>Once you have the docker dev image, you can use this to do all your development related tasks. The first of these should
12 be installing all the nodejs/ruby dependencies.
</p>
13 <pre><code>docker run
<span class=
"hljs-attribute">-tiP
</span> <span class=
"hljs-attribute">-v
</span> <span class=
"hljs-string">`pwd`
</span>:/app jez500/chorus2
<span class=
"hljs-attribute">-dev
</span>:latest
<span class=
"hljs-built_in">.
</span>/build
<span class=
"hljs-built_in">.
</span>sh install
14 </code></pre><p>This will run
<code>npm install
</code> and
<code>bundle install
</code> inside the dev container.
</p>
15 <p>You should only need to do this once, unless...
<code>package.json
</code> or
<code>Gemfile
</code> are updated
</p>
16 <h3 id=
"building-compiling-the-project">Building/Compiling the project
</h3>
17 <p>If you have made changes to some coffee script or sass, you can build those changes via executing commands inside
18 the dev container. To get a command line in the container:
</p>
19 <pre><code>docker run
<span class=
"hljs-attribute">-tiP
</span> <span class=
"hljs-attribute">-v
</span> <span class=
"hljs-string">`pwd`
</span>:/app jez500/chorus2
<span class=
"hljs-attribute">-dev
</span>:latest bash
20 </code></pre><p>Once inside the dev container, you can do the following:
</p>
21 <h4 id=
"build">Build
</h4>
22 <p>This will build languages, documentation, js and css.
</p>
23 <pre><code>grunt build
24 </code></pre><h4 id=
"watch-for-changes-continuously-build-">Watch for changes (continuously build)
</h4>
25 <p>This will only build js and css.
</p>
27 </code></pre><h2 id=
"committing-your-changes">Committing your changes
</h2>
28 <p>As a rule of thumb, you should not commit any compiled files unless you are building a release. Eg. only commit files
29 in the
<code>src
</code> folder.
</p>