view content/contribute/content.html @ 71:4980b1410c79

Update website with new front page look. Merge from branch: development
author Jie Kang <jkang@redhat.com>
date Fri, 03 Feb 2017 10:23:09 -0500
parents e7bbb7fde449 236c53729f3c
children 76923d5a20b6
line wrap: on
line source

<div class="container space40">
  <div class="row">
    <div class="panel panel-default">
      <div class="panel-heading">
        <h1 class="panel-title" id="contribute">Contributing to Thermostat</h1>
      </div>
      <div class="panel-body">
        <div class="panel panel-default">
          <div class="panel-body">
            <h4>
              Contributions to Thermostat are always appreciated. If you have any questions, please find us on IRC or join the mailing
              list and send us an e-mail so that we can help you get started.
            </h4>
            <div class="text-center">
              <a href="http://icedtea.classpath.org/mailman/listinfo/thermostat" class="btn btn-default btn-c1" role="button"> Mailing List</a>
              <a href="http://webchat.freenode.net/?channels=#thermostat" class="btn btn-default btn-c1" role="button"> Thermostat IRC</a>
            </div>
            <h4>
              Tasks in Thermostat are usually tracked in Trello, or through the IcedTea bugzilla. Feel free to take a look for things to
              work on.
            </h4>
            <div class="text-center">
              <a href="https://trello.com/b/SObGQiCX" class="btn btn-default btn-c1" role="button"> Trello Board</a>
              <a href="http://icedtea.classpath.org/bugzilla" class="btn btn-default btn-c1" role="button"> IcedTea Bugzilla</a>
            </div>
            <h3 class="h3-steps">Step 1: Build Thermostat</h3>
            <h4>
              The first step is to get Thermostat source code on your machine and to get the required dependencies to build Thermostat.
              For Fedora you can run the following in a terminal:
            </h4>
            <p><code>
            $ sudo dnf install mercurial maven mongodb mongodb-server java-1.8.0-openjdk libsecret-devel make gcc gtk2-devel autoconf automake libtool
        </code></p>
            <p><code>
            $  hg clone http://icedtea.classpath.org/hg/thermostat
        </code></p>
            <h4>
              This installs the development dependendcies and downloads the Thermostat main repository into the folder thermostat.
            </h4>
            <h4>
              Thermostat uses the Maven build system. To build, run:
            </h4>
            <p><code>
            $  mvn clean integration-test
        </code></p>
            <h3 class="h3-steps">Step 2: Find something to work on</h3>
            <h4>
              Any issues you have with using Thermostat would be perfect to work on. Tasks or bugs can be found on the Trello board and
              in the IcedTea Bugzilla. You can also ask on the mailing list or in the IRC channel and people will have lots
              of ideas to share. If you come up with something, it's best to talk about it with the community through an
              e-mail or through IRC.
            </h4>
            <h3 class="h3-steps">Step 3: Complete the task</h3>
            <h4>
              Working on the task is up to you. If you need any assistance, just ask for help. For style, please see the HACKING and README
              files in the repository. Your best bet is to look at what other people have done and follow their style. There
              are also a lot of resources in the Thermostat wiki targeting developers. Javadocs are also hosted online.
            </h4>
            <div class="text-center">
              <a href="http://icedtea.classpath.org/wiki/Thermostat" class="btn btn-default btn-c1" role="button"> Wiki</a>
              <a href="http://icedtea.classpath.org/thermostat/docs/1.6/javadocs/" class="btn btn-default btn-c1" role="button"> Javadocs for 1.6</a>
            </div>
            <h3 class="h3-steps">Step 4: Get your work reviewed</h3>
            <h4>
              Once you have something that works, it's time to send it for review. This is done by sending an e-mail to the mailing list
              with a title following the format: "[PATCH] Commit-Message", a body explaining the patch, and the patch attached
              as a '.patch'' file. For example if you wish to send a patch with commit message "Fix issue with blob in blah",
              then the title would be: "[PATCH] Fix issue with blob in blah". The body of the e-mail should contain a description
              of the patch including what it does and why it does so.
            </h4>
            <div class="col-md-6">
              <h4>
                To generate a patch file from uncommitted changes, use:
              </h4>
              <code>$ hg diff > file-name.patch</code>.
            </div>
            <div class="col-md-6">
              <h4>
                To generate a patch from your latest commit use:
              </h4>
              <code>$ hg export > file-name.patch</code>
            </div>
            <h4 style="margin-top: 5em;">
              From here, the review process starts. Committers will look over the patch and reply to your e-mail with changes. It becomes
              an iterative process where you respond to the changes with a revised patch and the reviewer looks it over again,
              repeating till the reviewer is satisfied with the patch.
            </h4>
            <h3 class="h3-steps">Step 5: Get your work into the tree</h3>
            <h4>
              If you do not have commit rights, when the patch is satisfactory, the reviewer will ask for a patch file with the commit
              message included. This will be committed into the tree and pushed in your stead. For committers, they can push
              the changes into the tree themselves.
            </h4>
            <h3 class="h3-steps">Step 6: Repeat</h3>
            <h4>
              Congratulations and thank you for your contribution! From here feel free to repeat with new work. Once you have a number
              of nontrivial fixes, you may recieve nomination as an IcedTea hacker from which point you can push work yourself
              after it has been reviewed.
            </h4>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>