There is no MSBuild on *nix environments. There is NAnt on Ubuntu Linux, but not many projects are using it and it may not be present on other *niix platforms. There is also mdtool which is part of MonoDevelop that could be used for building Lucene.Net on Linux.
One thing is sure: I won't use the above tools because 1) I'm not sure that they are present on a wide range of platforms 2) my Makefile already does respects the .csproj file and 3) building works out of the box by typing "make". I submit the Makefile to JIRA if none of the lead developers here disagree. On Tue, Feb 17, 2009 at 9:10 PM, Andy Pook <andy.p...@gmail.com> wrote: > The problem is that not all the cs files should be included. ie > DocumentWriter.cs is _not_ included in the VisualStudio project. > Certainly a PITA for anyone not using VS or SharpDevelop (which > understands csproj files) > > However, csproj files are just xml so a fairly simple XPath on the > csproj file will render a list of the files that are included. You > should be able to feed that list as a file into gmcs. > > The xpath is "/Project/ItemGroup/Compile/@Include" (you will need to > be careful with specifying the correct namespace to > (xmlns="http://schemas.microsoft.com/developer/msbuild/2003"). > > I have attached the list as an attachment. > > warning: I do not have a linux + mono machine to test this with right > now so YMMV > > Hope this helps you. > > Regards, > Andy > > On Tue, Feb 17, 2009 at 7:09 PM, L�szl� Monda <l...@monda.hu> wrote: > >> For those of you who have any doubts about Mono I must say that it >> works perfectly well. It's getting more and more popular, it's rock >> stable and it even outperforms MS .NET in some areas. There are a >> number of big and popular projects that are using it right now. I >> don't wanna make a debate about it, just want to make things clear. >> >> Command line compilation might seem unusual and there are other ways >> even on Linux, but it always worked well for me. The current SVN >> trunk might be 2.3.1 or anything else, but it's clearly broken right >> now. It's not that I've included some files that I shouldn't have >> been, but there are some required files (like DocumentWriter.cs) that >> are clearly broken. >> >> I'd really appreciate if developers could tag the appropriate versions >> so that one could check out the preferred version and build it without >> errors. >> >> I hope that someone can help me to build Lucene.Net because otherwise >> I'll have to port my little application to Java to use Java Lucene >> which I wouldn't prefer since I really love the .NET platform. >> >> On Tue, Feb 17, 2009 at 6:41 PM, Laimonas Simutis <lai...@gmail.com> >> wrote: >> > On Tue, Feb 17, 2009 at 11:31 AM, Ciaran Roarty <ciaran.roa...@gmail.com> >> wrote: >> >> So that could be built on Windows and used with Mono? >> > >> > Would not recommend doing that. I have seen it work, but more than >> > often, at least for my projects, I was getting mysterious crashes that >> > would go away after recompiling with mono. >> > >> > I personally haven't tried compiling lucene.net with mono, and cannot >> > try it right now, but could give it a shot later on in the evening... >> > >> > >> > >> >> >> >> On 17 Feb 2009, at 17:26, Laimonas Simutis <lai...@gmail.com> wrote: >> >> >> >>> On Tue, Feb 17, 2009 at 11:02 AM, DIGY <d...@apache.org> wrote: >> >>>> >> >>>> Current version of Lucene.Net in svn-trunk (2.3.1) is stable and can >> be >> >>>> compiled without any error. >> >>>> Use project/solution file to compile the project. I personally use >> Visual >> >>>> C# 2005 Express Edition. You will get thousands of warnings about >> unused >> >>>> variables or XML documentation but it is OK. >> >>> >> >>> Yeah, but it looks like he is using mono c# compiler, which basically >> >>> tries to build all .cs files in the directory (I think). Maybe there >> >>> are some left over, undeleted files hanging around in directories that >> >>> are not part of VS IDE project file. >> >>> >> >>>> >> >>>> >> >>> >> >>> >> >>>> >> >>>> DIGY >> >>>> >> >>>> >> >>>> >> >>>> -----Original Message----- >> >>>> From: L�szl� Monda [mailto:l...@monda.hu] >> >>>> Sent: Tuesday, February 17, 2009 5:53 PM >> >>>> To: lucene-net-user@incubator.apache.org >> >>>> Subject: Building Lucene.Net from SVN >> >>>> >> >>>> I've checked out the latest revision lately, then tried to build >> >>>> Lucene by using the following command: >> >>>> >> >>>> $ gmcs -t:library -r:System.Configuration `find Lucene.Net -name >> >>>> '*.cs' ! -name RemoteSearchable.cs -type f` -out:Lucene.Net.dll >> >>>> >> >>>> Here is what I got: >> >>>> >> >>>> Lucene.Net/Analysis/Standard/TokenMgrError.cs(49,18): error CS8025: >> >>>> Parsing error >> >>>> Lucene.Net/Index/DocumentWriter.cs(126,57): error CS8025: Parsing >> error >> >>>> Lucene.Net/Index/SegmentReade-2r.cs(32,22): error CS0101: The >> >>>> namespace `Lucene.Net.Index' already contains a definition for >> >>>> `SegmentReader' >> >>>> Lucene.Net/Index/SegmentReader.cs(34,22): (Location of the symbol >> >>>> related to previous error) >> >>>> Compilation failed: 3 error(s), 0 warnings >> >>>> >> >>>> I removed SegmentReade-2r.cs, fixed the messed up comments in >> >>>> TokenMgrError.cs and DocumentWriter.cs and tried again. Here's the >> >>>> result: >> >>>> >> >>>> Lucene.Net/Document/DateTools.cs(109,41): warning CS1717: Assignment >> >>>> made to same variable; did you mean to assign something else? >> >>>> Lucene.Net/Document/DateTools.cs(116,41): warning CS1717: Assignment >> >>>> made to same variable; did you mean to assign something else? >> >>>> Lucene.Net/Document/DateTools.cs(123,41): warning CS1717: Assignment >> >>>> made to same variable; did you mean to assign something else? >> >>>> Lucene.Net/Document/DateTools.cs(130,41): warning CS1717: Assignment >> >>>> made to same variable; did you mean to assign something else? >> >>>> Lucene.Net/Document/DateTools.cs(137,41): warning CS1717: Assignment >> >>>> made to same variable; did you mean to assign something else? >> >>>> Lucene.Net/Document/DateTools.cs(83,55): warning CS0219: The variable >> >>>> `cal' is assigned but its value is never used >> >>>> Lucene.Net/Document/DateTools.cs(290,55): warning CS0219: The variable >> >>>> `cal' is assigned but its value is never used >> >>>> Lucene.Net/Store/LockStressTest.cs(65,49): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Store/LockStressTest.cs(75,67): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Store/LockStressTest.cs(79,60): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Store/LockStressTest.cs(83,49): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Store/LockStressTest.cs(114,66): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Store/FSDirectory.cs(337,91): warning CS0168: The variable >> >>>> `e' is declared but never used >> >>>> Lucene.Net/Store/FSDirectory.cs(534,54): warning CS0219: The variable >> >>>> `generatedAux' is assigned but its value is never used >> >>>> Lucene.Net/Search/FilterManager.cs(270,92): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Search/FieldCacheImpl.cs(482,87): warning CS0168: The >> >>>> variable `nfe3' is declared but never used >> >>>> Lucene.Net/Search/FieldCacheImpl.cs(475,79): warning CS0168: The >> >>>> variable `nfe1' is declared but never used >> >>>> Lucene.Net/Search/ParallelMultiSearcher.cs(101,84): warning CS0168: >> >>>> The variable `ie' is declared but never used >> >>>> Lucene.Net/Search/ParallelMultiSearcher.cs(153,84): warning CS0168: >> >>>> The variable `ie' is declared but never used >> >>>> Lucene.Net/Search/Function/DocValues.cs(143,72): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Index/SegmentInfos.cs(401,54): warning CS0168: The variable >> >>>> `e' is declared but never used >> >>>> Lucene.Net/Index/SegmentInfos.cs(660,102): warning CS0168: The >> >>>> variable `err2' is declared but never used >> >>>> Lucene.Net/Index/SegmentInfos.cs(673,116): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Index/MultiReader.cs(182,86): warning CS0168: The variable >> >>>> `ignore' is declared but never used >> >>>> Lucene.Net/Index/DocumentWriter.cs(393,82): error CS1061: Type >> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for >> >>>> `OpenDocument' and no extension method `OpenDocument' of type >> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing > a >> >>>> using directive or an assembly reference?) >> >>>> Lucene.Net/Index/DocumentWriter.cs(395,74): error CS1061: Type >> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for >> >>>> `OpenField' and no extension method `OpenField' of type >> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing > a >> >>>> using directive or an assembly reference?) >> >>>> Lucene.Net/Index/DocumentWriter.cs(399,74): error CS1061: Type >> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for >> >>>> `CloseField' and no extension method `CloseField' of type >> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing > a >> >>>> using directive or an assembly reference?) >> >>>> Lucene.Net/Index/DocumentWriter.cs(402,90): error CS1061: Type >> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for >> >>>> `IsFieldOpen' and no extension method `IsFieldOpen' of type >> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing > a >> >>>> using directive or an assembly reference?) >> >>>> Lucene.Net/Index/DocumentWriter.cs(404,66): error CS1061: Type >> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for >> >>>> `AddTerm' and no extension method `AddTerm' of type >> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing > a >> >>>> using directive or an assembly reference?) >> >>>> Lucene.Net/Index/DocumentWriter.cs(408,58): error CS1061: Type >> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for >> >>>> `CloseDocument' and no extension method `CloseDocument' of type >> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing > a >> >>>> using directive or an assembly reference?) >> >>>> Lucene.Net/Index/IndexFileDeleter.cs(177,96): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Index/IndexFileDeleter.cs(221,62): warning CS0168: The >> >>>> variable `e' is declared but never used >> >>>> Lucene.Net/Index/MultiSegmentReader.cs(61,78): warning CS0168: The >> >>>> variable `ignore' is declared but never used >> >>>> Lucene.Net/Index/MultiSegmentReader.cs(161,94): warning CS0168: The >> >>>> variable `ignore' is declared but never used >> >>>> Compilation failed: 6 error(s), 28 warnings >> >>>> >> >>>> I don't wanna hack Lucene just to build it and I cannot use the latest >> >>>> build because it is 14 months old and works horribly slowly. I'm >> >>>> extremely disappointed about the current state of Lucene.Net. >> >>>> >> >>>> Anybody has any suggestion how to build Lucene.Net from the SVN? >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> On Mon, Feb 16, 2009 at 11:04 PM, Ron Grabowski < >> rongrabow...@yahoo.com> >> >>>> wrote: >> >>>>> >> >>>>> What version of Lucene.net are you using? I found that when I built >> the >> >>>>> latest version from source the index building was blazingly fast >> compared to >> >>>>> the latest binaries on the website. >> >>>>> >> >>>>> >> >>>>> >> >>>>> ----- Original Message ---- >> >>>>> From: L�szl� Monda <l...@monda.hu> >> >>>>> To: lucene-net-user@incubator.apache.org >> >>>>> Sent: Monday, February 16, 2009 4:18:35 PM >> >>>>> Subject: IndexWriter.AddDocument is slow >> >>>>> >> >>>>> Hi List, >> >>>>> >> >>>>> It takes pretty long time to index documents using Lucene.Net. > It >> >>>>> takes about 3 seconds to add thounsand documents to the index. > I've >> >>>>> used Java Lucene in the past and according to my memories indexing >> >>>>> should be about 20 times faster. >> >>>>> >> >>>>> Here's the relevant code: >> >>>>> >> >>>>> IndexWriter index_writer = new IndexWriter("index", new >> >>>>> StandardAnalyzer(), true); >> >>>>> // index_writer.SetMergeFactor(10000); >> >>>>> // index_writer.SetMaxMergeDocs(10000); >> >>>>> // index_writer.SetMaxBufferedDocs(10000); >> >>>>> ExecuteSqlQuery("SELECT artist, title FROM songname"); >> >>>>> int count = 0; >> >>>>> while (reader.Read()) { >> >>>>> if (count > 0 && count%1000 == 0) { >> >>>>> Console.WriteLine(count); >> >>>>> } >> >>>>> Document document = new Document(); >> >>>>> document.Add(new Field("artist", >> >>>>> reader.GetString("artist"), Field.Store.YES, Field.Index.TOKENIZED)); >> >>>>> document.Add(new Field("title", >> >>>>> reader.GetString("title"), Field.Store.YES, Field.Index.TOKENIZED)); >> >>>>> index_writer.AddDocument(document); >> >>>>> count++; >> >>>>> } >> >>>>> >> >>>>> When decommenting the commented lines indexing gets about 2x faster, >> >>>>> but it's not really significant. >> >>>>> >> >>>>> I'd really appreciate your insights about this speed issue. >> >>>>> >> >>>>> Thanks in advance! >> >>>>> >> >>>>> -- >> >>>>> Laci <http://monda.hu> >> >>>>> >> >>>>> >> >>>> >> >>>> >> >>>> >> >>>> -- >> >>>> Laci <http://monda.hu> >> >>>> >> >>>> >> >>>> >> >> >> > >> >> >> >> -- >> Laci <http://monda.hu> >> > -- Laci <http://monda.hu>