General Information for Committers
This wiki is for collection useful information for Solr Committers
Things to Double Check Before Any Commit
- Did you add update CHANGES.txt ?
- Do the tests all pass ?
- Are there any warnings from "ant javadoc" ?
- Does this commit affect anything in the tutorial ? ... If so, did you update the tutorial ?
- Did you change anything in
src/site? ... If so did you follow the steps in "Website_Update_HOWTO" so this commit includes changes to the published version of the site in
- See also http://wiki.apache.org/lucene-java/PatchCheckList
Suggested Subversion Configuration Options
These are some recomended options for your ~/.subversion/config file...
See Subversion Merge on the Lucene wiki.
Generating New Analysis Factories
Anytime the Lucene jars are updated, we should attempt to generate Factories for any new Tokenizer or TokenFilter classes. To do this, run
ant stub-factories -Dstub.src.path="./src:../lucene/contrib:../lucene/src/java" Where the "stub.src.path" property is set to be a "path like list" of java source directories that should be crawled when looking for classes to make factories for.
This task will first use reflection on all of the
dist jars to find known subclasses of Tokenizer or TokenFilter which do not already have Factories and write this list to
build/need-stub-factories.txt. It will then crawl the directories specified in
stub.src.path looking for the corresponding source files to determine what the constructor parameter names are (this info is not available in the byte code) for each class, and generate a new factory for it.
Classes with no special constructor parameters will get full fledged factories. Classes with special params will get abstract "stub" factories that will not compile without human editing.
ant stub-factories is finished executing. Use
ant clean test to check for stubs that need human intervention. Any stub factories that you want to postpone implementing can be deleted (they can always be created later). Any stub factory that should be ignored, and not attempted later, can be added to the list of exceptions in the
stub-factories ant task definition (grep for "place to put special case classes we want to ignore")