Getting Started - Developer: Difference between revisions

From Thunderforce
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
__NOTOC__
__NOTOC__
{| style="border: 0; margin: 0; padding: 0; width: 100%; background: transparent;"
{| style="border: 0; margin: 0; padding: 0; width: 100%; background: transparent;"
|style="vertical-align:top; width: 70%; padding-right: .6em;"|
|style="vertical-align:top; width: 70%; padding-right: .6em;"|
Line 42: Line 41:
==Thunderforce Eclipse project==
==Thunderforce Eclipse project==
The following steps walk you through the process of importing the Thunderforce Eclipse project into your workspace:
The following steps walk you through the process of importing the Thunderforce Eclipse project into your workspace:
#In your Thunderforce Eclipse profile, select "Import..." from the "File" menu to begin the process
#Within the "Other" group, select "Checkout Projects from SVN" and press the "Next >" button
#Create the https://www.moonlightdesign.org/thunderforce/svn repository location if it isn't already created. Press the "Next >" button
#When asked to select the folder to be checked out from SVN, select the "trunk" folder and press "Next >"
#Eclipse should automatically detect that the project is named Thunderforce. Press the "Finish" button to complete the project setup


The Thunderforce Eclipse project is presently split into three main folders:
*'''architecture'''
**The high-level architecture and any detailed design diagrams live in here
*'''extension'''
**This is the Thunderforce extension for Thunderbird. The subfolder structure matches [http://developer.mozilla.org/en/docs/Building_an_Extension Mozilla's extension folder structure guidelines]
*'''tests'''
**Integration and unit tests live in this folder, which is structured as a Thunderbird extension. Because these tests are designed to test Thunderforce, this extension requires that the Thunderforce extension is also installed in a Thunderforce profile


==Thunderforce testing profile in Thunderbird==
==Thunderforce testing profile in Thunderbird==

Revision as of 17:20, 10 August 2007

To get started as a developer, you will need to install and set up various programs. It's definitely possible to use alternatives for the proposed tools, though the tools listed below are the ones that I am accustomed to in case if you have any support questions for them.

The general process is outlined below:

  1. Install the latest Mozilla Thunderbird 2.0 version if you haven't already done so
  2. Install the Thunderforce development tools and extensions
  3. Download the Thunderforce source code into a new Eclipse project
  4. Download and compile the Mozilla Thunderbird source code
    • This is optional, but helps immensely with software development and debugging
  5. Create and configure a Thunderforce testing profile in Thunderbird
  6. Familiarlize yourself with Thunderforce's test framework
  7. Grab a module and develop it (module list is pending the architectural review's completion)
    • This project's process politely asks that you use a process of refinement from a design to the code along with test-driven development
    1. Create a design for your module on the wiki
    2. Implement your module in parallel with your unit tests
      • When possible, create your unit test before your code and use the test framework to verify your module's operation under those test cases

Development tools and extensions

Please install and set up the following:

  1. Eclipse IDE for C/C++ Developers
  2. Create and switch to a new Eclipse workspace for Thunderforce unless if you aren't using Eclipse for anything else
    • This can be accomplished through File -> "Switch Workspace..."
    • Optionally, you can create a shortcut to start the Thunderforce workspace directly by running eclipse or eclipse.exe with "-data" followed by your workspace folder path
      • Example: eclipse.exe -vmargs -Xmx512M -data d:\Devel\Thunderforce
  3. Eclipse Plug-Ins

Thunderforce Eclipse project

The following steps walk you through the process of importing the Thunderforce Eclipse project into your workspace:

  1. In your Thunderforce Eclipse profile, select "Import..." from the "File" menu to begin the process
  2. Within the "Other" group, select "Checkout Projects from SVN" and press the "Next >" button
  3. Create the https://www.moonlightdesign.org/thunderforce/svn repository location if it isn't already created. Press the "Next >" button
  4. When asked to select the folder to be checked out from SVN, select the "trunk" folder and press "Next >"
  5. Eclipse should automatically detect that the project is named Thunderforce. Press the "Finish" button to complete the project setup

The Thunderforce Eclipse project is presently split into three main folders:

  • architecture
    • The high-level architecture and any detailed design diagrams live in here
  • extension
  • tests
    • Integration and unit tests live in this folder, which is structured as a Thunderbird extension. Because these tests are designed to test Thunderforce, this extension requires that the Thunderforce extension is also installed in a Thunderforce profile

Thunderforce testing profile in Thunderbird

To separate your production email from Thunderforce testing, we suggest that you create a separate Thunderbird profile for Thunderforce testing. You can also use your main Thunderbird profile, but you then run the risk of damaging your email during Thunderforce development.

  1. Ensure that Thunderbird is not running by closing all Thunderbird windows
  2. Start the Thunderbird profile manager in the command line: thunderbird -no-remote -ProfileManager
  3. Create a new profile named ThunderforceTest and press the Exit button to close the profile manager
    • The Eclipse instructions refer to the ThunderforceTest name
  4. Optionally create a shortcut to launch the ThunderforceTest profile, which will work even when you have your default Thunderbird profile running
    • The Thunderbird command to run in this shortcut: thunderbird -no-remote -P ThunderforceTest
  5. In your ThunderforceTest profile's extensions subfolder, create the two following text files. The file names that you will need to use are in bold:
    • thunderforce@moonlightdesign.org
    • thunderforcetest@moonlightdesign.org
      • This file will contain the full absolute file path to the Thunderforce tests folder, such as d:\Devel\Thunderforce\Thunderforce\tests
    • Both of these files will contain one and only one line of text

Artifacts

Useful Development Links