This document describes how to build the code and contribute changes.
You can use either Visual Studio or Rake with Albacore to build the project. Building with Rake is the preferred method.
-
Install Git for Windows
-
Install the Windows 7 and .NET 4.0 SDK.
-
Install Ruby using the RubyInstaller.
-
After installing ruby, from the Command Prompt, run:
gem install rake gem install albacore gem install rgl gem install rubyzip
-
Make sure that the paths to the tools, git, .NET framework tools and ruby are in your PATH.
-
Define
JDK_HOME
, pointing to the Java SDK root directory, andJDE_HOME
, pointing to the BlackBerry JDE root directory as environment variables.
For more information on Albacore, visit the Albacore wiki.
You can checkout the latest source code via git. Two public mirrors are available, at SourceForge and GitHub.
From SourceForge:
git clone git://bbwifimusicsync.git.sourceforge.net/gitroot/bbwifimusicsync/bbwifimusicsync
Or, from GitHub:
git clone git://github.com/nithinphilips/bbwifimusicsync.git
Before you can build Wireless Music Sync with Rake, you'll need to create the following configuration file:
-
sign_cod.yml
password: "<your RIM signing keys password>"
Place the configuration files in the root of the project. For signing to work, you'll need the signing keys from RIM. See Steps to build the BlackBerry App for more information.
To build Wireless Music Sync, open the Command prompt at the project root and run:
rake
The default target compiles the code, builds the installer and creates all the packages necessary for distribution. There are a few different targets available for other tasks:
- dist: The default. Compiles code, builds installer, packages binaries and source code for distribution.
- dist_with_log: Same as dist, except logging will be enabled.
- installer: Compiles code and builds the installer.
- build: Compiles the code.
- dist_zip: Compiles the code and packages the binaries into a zip file.
- dist_src: Packages the source code into a zip file.
- clean: Deletes all the output created by all other tasks.
- dep_graph: Creates a nice graph with all available targets and their relationship.
To run tasks, add the task name after the rake command. For example: rake dist
.
It's easy to contribute to Wireless Music Sync. You can simply fork the repository on GitHub and when you're done, send me a pull request to have your changes integrated into the primary repo. You can also send your changes as standard patch files.
Wireless Music Sync utilizes a wide variety of technologies. The Server and the Desktop Client are written in C#, the BlackBerry Client is written in CLDC Java and the build scripts are written in Ruby. There should be something that matches your skill in there somewhere. If you need help, you can get in touch with me at [email protected]
Please note that if you'd like to work on something that involves a lot of change, especially to APIs and such, please get in touch before you start working. Otherwise, your submissions may be rejected.