Welcome contributors! We strive to include everyone's contributions. This page provides necessary guidelines on how to contribute effectively towards furthering the development and evolution of Sqoop.
Note: This guide applies to general contributors. If you are a committer, please read the Guide for Committers as well.
There are many ways you can contribute towards the project. A few of these are:
Jump in on discussions: It is possible that someone initiates a thread on the mailing list describing a problem that you have dealt with in the past. You can help the project by chiming in on that thread and guiding that user to overcome or workaround that problem or limitation.
File Bugs: If you notice a problem and are sure it is a bug, then go ahead and file a JIRA. If however, you are not very sure that it is a bug, you should first confirm it by discussing it on the Mailing Lists.
Review Code: If you see that a JIRA ticket has a 'Patch Available' status, go ahead and review it. It cannot be stressed enough that you must be kind in your review and explain the rational for your feedback and suggestions. Also note that not all review feedback is accepted - often times it is a compromise between the contributor and reviewer. If you are happy with the change and do not spot any major issues
+1 it. More information on this is available in the following sections.
Provide Patches: We encourage you to assign the relevant JIRA issue to yourself and supply a patch for it. The patch you provide can be code, documentation, build changes, or any combination of these. More information on this is available in the following sections.
In order to setup your development environment, you would need a Linux system with administrative privileges and Internet connection such as Ubuntu or CentOS. You would also need sufficient disk space for checking out and building the code, installing various database/other software that you may need for your testing.
Once you have your Linux system ready with sufficient disk space and Internet connection, go ahead and install the following software:
To get the source code, checkout the subversion "trunk" using the following command:
$ svn co https://svn.apache.org/repos/asf/incubator/sqoop/trunk/ sqoop
If you prefer using git, you can clone the Sqoop repository from Apache Git mirror by the following command:
$ git clone git://git.apache.org/sqoop.git
Once you have the code, you can build it by the following command:
$ cd sqoop $ ant jar-all
You can use the
clean target to delete previously built files from the workspace and run
jar-all again to do a fresh build.
To see a list of all available targets that are available in the build type the following command:
$ ant -p
If you prefer working in Eclipse, you can generate the necessary project definitions as follows:
Once these definitions are generated, you can import them in Eclipse as an existing project.
Sqoop source code contains many unit tests that exercise its functionality. These tests can be run simply by using the following command:
Third-party tests are end-to-end integration tests that exercise the basic Sqoop functionality against third-party systems like relational databases. You should run these tests in order to rule out regression when testing any changes to the core system. To set this