How to Contribute to Lucene

Working With Code

Getting the source code

First of all, you need the Lucene source code.

Get the source code using SVN: svn checkout http://svn.apache.org/repos/asf/lucene/dev/trunk/ lucene-trunk

Unit Tests

Please make sure that all unit tests succeed before constructing your patch: ant clean test

To run a single test case from the lucene/ directory in your working copy: ant -Dtestcase=NameOfYourUnitTest test

In case your contribution fixes a bug, try and make your test case fail to show the presence of the bug. A test case showing the presence of a bug is also a good contribution by itself.

Creating a patch

  1. Check to see what files you have modified with: svn stat

  2. Add any new files with: svn add src/.../MyNewClass.java

  3. In order to create a patch, just type: svn diff > LUCENE-NNNN.patch

This will report all modifications done on Lucene sources on your local disk and save them into the LUCENE-NNNN.patch file. Read the patch file. Make sure it includes ONLY the modifications required to fix a single issue.

Contributing your work

Finally, patches should be attached to a bug report in Jira.

Please be patient. Committers are busy people too. If no one responds to your patch after a few days, please make friendly reminders. Please incorporate others' suggestions into into your patch if you think they're reasonable. Finally, remember that even a patch that is not committed is useful to the community.

Stay involved

Contributors should join the Lucene mailing lists. In particular, the commit list (to see changes as they are made), the dev list (to join discussions of changes) and the user list (to help others).

Please keep discussions about Lucene on list so that everyone benefits. Emailing individual committers with questions about specific Lucene issues is discouraged. See http://people.apache.org/~hossman/#private_q.

Getting your feet wet: where to begin?

New to Lucene? Want to find JIRA issues that you can work on without taking on the whole world?

The Lucene/Solr developers use the "newdev" label to mark issues that developers new to Lucene might be interested in working on. The rough criteria used to make this selection are:

To see a list of open Lucene and Solr issues with the newdev label, look at this link http://s.apache.org/newdevlucenesolr

Note: Fixing these issues may require asking questions on the developer list to figure out what they mean - there is no guarantee that any of these will be either quick or easy.

Developer tips

For more contribution guidelines and tips, see DeveloperTips

HowToContribute (last edited 2013-04-03 16:20:12 by pool-96-231-149-40)