Last change 08/04/2014
Required Software
Thunderbird addons (the XPI files) are actually just zip packages with all the code in them. there is no compilation step necessary. If you want to play around, a text editor and a zip utility are all you need.
In order to develop and also be able to run tests and use the build tools you need some extra software:
- git (see gitbhub for info how to use it https://help.github.com/articles/set-up-git )
- Apache ANT (this is for the build system) fom http://ant.apache.org/
Alternatively you can just use eclipse (http://www.eclipse.org/downloads/ ) - classic or jee should both work fine. Ant and GIT (eGIT) should work out of the box then.
Get the code
The code is in the github available in https://github.com/corinis/synckolab
git clone git://github.com/corinis/synckolab.git
Running the Test
Once you got the code, change in the synckolab folder. There you will find a "build.xml" which is the ant build information file.
Now you can simply run:
- "ant test": this will run the tests. you should see a "OK" then all tests were successfull
- "ant": this will generate synckolab-X.Y.Z.xpi file in the base folder which you can install in thunderbird
Sample output:
$ ant test
Buildfile: ~/SyncKolab/build.xml
test:
[java] [ Envjs/1.6 (Rhino; U; Linux i386 3.2.0-30-generic-pae; en-US; rv:1.7.0.rc2) Resig/20070309 PilotFish/1.2.13 ]
[java] Stripping header from multipart message
[java] contentIdx === -1: looks like its encoded: QP=684 B64=-1
[java] Message is quoted
[java] parsing the XML content into card
[java] Kolab 3 XML VCARDS
[java] Stripping header from multipart message
[java] contentIdx === -1: looks like its encoded: QP=685 B64=-1
[java] Message is quoted
[java] parsing the XML content into card
[java] Kolab 3 XML VCARDS
[java] ========================
[java] Tests Run: 36
[java] Passed Tests: 36
[java] Failed Tests: 0
[java] Time run : 1.1s
[java] =======================
[java] OK
BUILD SUCCESSFUL
Total time: 5 seconds
Building
Just run ant and the build script will create the xpi for you.
To do that it will:
- create a jar from everything src/chrome (where the actual code is located)
- creat an xpi with the content of src incl. the jar