lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From synhers...@apache.org
Subject [1/4] lucenenet git commit: Adding CONTRIBUTING.md
Date Tue, 27 Jan 2015 11:11:58 GMT
Repository: lucenenet
Updated Branches:
  refs/heads/master 7e9e30921 -> b5be9c0b8


Adding CONTRIBUTING.md

Thanks @SeanKilleen - closes #52


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/e3c1ef75
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/e3c1ef75
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/e3c1ef75

Branch: refs/heads/master
Commit: e3c1ef75854145cf5c1c79cd5a9f2013388d44a1
Parents: 7e9e309
Author: Itamar Syn-Hershko <itamar@code972.com>
Authored: Tue Jan 27 13:06:56 2015 +0200
Committer: Itamar Syn-Hershko <itamar@code972.com>
Committed: Tue Jan 27 13:06:56 2015 +0200

----------------------------------------------------------------------
 CONTRIBUTING.md | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e3c1ef75/CONTRIBUTING.md
----------------------------------------------------------------------
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..9c65bfb
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,102 @@
+#Lucene.NET Contributor's Guide
+Hello new contributors, thanks for getting on board!
+
+Before anything else, please read
+[The Getting Involved article at apache.org](https://cwiki.apache.org/confluence/display/LUCENENET/Getting+Involved).
In
+particular, we will need you to have an ICLA with Apache and to feel
+comfortable with Git and GitHub.
+
+Start by forking [Lucene.NET on GitHub](https://github.com/apache/lucenenet). For every
+contribution you are about to make, you should create a branch (tracking
+master!) with some descriptive name, and send us a Pull Request once it is
+ready to be reviewed and merged.
+
+And please git rebase when pulling from origin/master instead of merging :) [More information
can be found over at Atlassian](https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase).
+
+##If You are Willing to Help with Porting Code
+
+* Please make sure nobody else is working on porting it already. We would
+like to avoid doing redundant work. We ask that you communicate clearly in
+this list that you are going to work on some part of the project. A PMC
+member will then either approve or alert you someone else is working on
+that part already.
+
+* Use automated tools to do the basic porting work, and then start a manual
+clean-up process. For automatic conversion we are using [Tangible's Java to C# Converter](http://www.tangiblesoftwaresolutions.com/Product_Details/Java_to_CSharp_Converter.html).
+We have licenses to give to committers) and it proved to work quite nicely, but I also hear
good things on Sharpen. [Check it out here](https://github.com/imazen/sharpen) and pick the
tool you are more comfortable
+with.
+
+* Conventions & standards: not too picky at this point, but we should
+definitely align with the common conventions in .NET: PascalCase and not
+camelCase for method names, properties instead of getters/setters of fields
+etc. I'm not going to list all the differences now but we probably want to
+have such a document up in the future. For reference have a look at
+Lucene.Net.Core, while not perfect it is starting to shape up the way we
+want it.
+
+* In general, prefer .NETified code over code resembling Java. Enumerators
+over Iterators, yields when possible, Linq, BCL data structures and so on.
+We are targeting .NET 4.5.1, use this fact. Sometimes you will have to
+resort to Java-like code to ensure compatibility; it's ok. We would rather
+ship fast and then iterate on improving later.
+
+* While porting tests, we don't care about all those conventions and
+.NETification. Porting tests should be reduced to a copy-paste procedure
+with minimal cleaning up procedure. We are working on tools and code
+helpers to help with that, see for examples see our [Java style methods to avoid many search-replace
in porting tests](https://github.com/apache/lucenenet/tree/master/src/Lucene.Net.TestFramework/JavaCompatibility),
and a
+[R# plugin that will help making some stuff auto-port when pasting](https://resharper-plugins.jetbrains.com/packages/ReSharper.ExJava/).
+
+###Code that is currently pending being ported from scratch (+ tests) == up for grabs:
+
+* [QueryParser](https://github.com/apache/lucene-solr/tree/lucene_solr_4_8_0/lucene/queryparser)
+* [Join](https://github.com/apache/lucene-solr/tree/lucene_solr_4_8_0/lucene/join)
+* [Lucene.Net.Classification](<https://github.com/apache/lucenenet/tree/master/src/Lucene.Net.Classification)
(missing tests)
+* [Lucene.Net.Queries](https://github.com/apache/lucenenet/tree/master/src/Lucene.Net.Queries)
(missing tests)
+* The spatial module (the situation there is a bit subtle, if you are interested let me know)
+
+Also, some analysis modules:
+
+* [Analysis](https://github.com/apache/lucene-solr/tree/trunk/lucene/analysis) (common is
already mid-porting, see below)
+* [Lucene.Net.Misc](https://github.com/apache/lucenenet/tree/master/src/Lucene.Net.Misc)
(missing tests)
+* [Lucene.Net.Memory](https://github.com/apache/lucenenet/tree/master/src/Lucene.Net.Memory)
(missing tests)
+
+###Code that is ported and now pending manual cleanup, and then once its compiling porting
of its tests == up for grabs:
+
+*  [Lucene.Net.Analysis.Common](https://github.com/apache/lucenenet/tree/master/src/Lucene.Net.Analysis.Common)
+* [Lucene.Net.Suggest](https://github.com/apache/lucenenet/tree/master/src/Lucene.Net.Suggest)
(depends on Analysis.Common)
+
+The rest is pretty much under control already.
+
+##If you are more into Fixing Existing Tests
+
+* First we want to get all the Core tests green. We are about 200 (out of
+~2300) short of that. Since tests are using randomized testing, failures
+are changing.
+
+* Start by cloning Lucene.NET locally. The set VERBOSE to false and you
+probably may also want to set a constant seed for working locally. See
+<https://github.com/apache/lucenenet/blob/master/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs#L295>
+and
+<https://github.com/apache/lucenenet/blob/master/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs#L610>
+
+* Run, debug, iterate. When you think you fixed a bug or a test, please
+send a PR as fast as possible. There are multiple people working in this
+area, and we want to make sure your contribution doesn't go stale. Any such
+PR should have a descriptive name and a short description of what happened
+and what is your solution. There are [some good past examples here](https://github.com/apache/lucenenet/pulls?q=is%3Apr+is%3Aclosed).
+
+
+* If we will have comments, we will use github's excellent interface and
+you will receive notifications also via this list.
+
+* Once we got all core tests passing reliably, we will go to testing the
+other sub-projects. Some are already up for grabs if you want to have a
+stab at them.
+
+##Other types of help
+
+We will definitely need more help (like normalizing tabs/spaces, license headers, automating
stuff, etc) but we are not there yet!
+
+##Thank You!
+
+Again, thank you very much for your contribution. May the fork be with you!
\ No newline at end of file


Mime
View raw message