http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c077fb1/src/Lucene.Net.Icu/Support/CharacterIterator.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Icu/Support/CharacterIterator.cs b/src/Lucene.Net.Icu/Support/CharacterIterator.cs deleted file mode 100644 index 0c81629..0000000 --- a/src/Lucene.Net.Icu/Support/CharacterIterator.cs +++ /dev/null @@ -1,50 +0,0 @@ -#if FEATURE_BREAKITERATOR -using System; - -namespace Lucene.Net.Support -{ - /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - public abstract class CharacterIterator - { - public static readonly char DONE = '\uFFFF'; - - public abstract char Current { get; } - - public abstract char First(); - - public abstract char Last(); - - public abstract char Next(); - - public abstract char Previous(); - - public abstract char SetIndex(int position); - - public abstract int BeginIndex { get; } - - public abstract int EndIndex { get; } - - public abstract int Index { get; } - - public abstract object Clone(); - - public abstract string GetTextAsString(); - } -} -#endif \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c077fb1/src/Lucene.Net.Icu/Support/IcuBreakIterator.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Icu/Support/IcuBreakIterator.cs b/src/Lucene.Net.Icu/Support/IcuBreakIterator.cs deleted file mode 100644 index 79819ed..0000000 --- a/src/Lucene.Net.Icu/Support/IcuBreakIterator.cs +++ /dev/null @@ -1,394 +0,0 @@ -#if FEATURE_BREAKITERATOR -using Lucene.Net.Support; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Text; - -namespace Lucene.Net -{ - /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - /// <summary> - /// A <see cref="BreakIterator"/> implementation that encapsulates the functionality - /// of icu.net's <see cref="Icu.BreakIterator"/> static class. A <see cref="BreakIterator"/> - /// provides methods to move forward, reverse, and randomly through a set of text breaks - /// defined by the <see cref="Icu.BreakIterator.UBreakIteratorType"/> enumeration. - /// </summary> - // LUCENENET specific type - public class IcuBreakIterator : BreakIterator - { - private readonly Icu.Locale locale; - private readonly Icu.BreakIterator.UBreakIteratorType type; - - private List<int> boundaries = new List<int>(); - private int currentBoundaryIndex; // Index (not the value) of the current boundary in boundaries - private string text; - - /// <summary> - /// The start offset for the string, if supplied by a <see cref="CharacterIterator"/> - /// </summary> - protected int m_start; - - /// <summary> - /// The end offset for the string, if supplied by a <see cref="CharacterIterator"/> - /// </summary> - protected int m_end; - - private bool enableHacks = false; - - public IcuBreakIterator(Icu.BreakIterator.UBreakIteratorType type) - : this(type, CultureInfo.CurrentCulture) - { - } - - public IcuBreakIterator(Icu.BreakIterator.UBreakIteratorType type, CultureInfo locale) - { - if (locale == null) - throw new ArgumentNullException("locale"); - this.locale = new Icu.Locale(locale.Name); - this.type = type; - } - - - public virtual bool EnableHacks - { - get { return enableHacks; } - set { enableHacks = value; } - } - - /// <summary> - /// Sets the current iteration position to the beginning of the text. - /// </summary> - /// <returns>The offset of the beginning of the text.</returns> - public override int First() - { - currentBoundaryIndex = 0; - return ReturnCurrent(); - } - - /// <summary> - /// Sets the current iteration position to the end of the text. - /// </summary> - /// <returns>The text's past-the-end offset.</returns> - public override int Last() - { - currentBoundaryIndex = boundaries.Count - 1; - return ReturnCurrent(); - } - - /// <summary> - /// Advances the iterator either forward or backward the specified number of steps. - /// Negative values move backward, and positive values move forward. This is - /// equivalent to repeatedly calling <see cref="Next()"/> or <see cref="Previous()"/>. - /// </summary> - /// <param name="n">The number of steps to move. The sign indicates the direction - /// (negative is backwards, and positive is forwards).</param> - /// <returns>The character offset of the boundary position n boundaries away from - /// the current one.</returns> - public override int Next(int n) - { - int result = Current; - while (n > 0) - { - result = Next(); - --n; - } - while (n < 0) - { - result = Previous(); - ++n; - } - return result; - } - - /// <summary> - /// Advances the iterator to the next boundary position. - /// </summary> - /// <returns>The position of the first boundary after this one.</returns> - public override int Next() - { - if (currentBoundaryIndex >= boundaries.Count - 1 || boundaries.Count == 0) - { - return DONE; - } - currentBoundaryIndex++; - return ReturnCurrent(); - } - - /// <summary> - /// Advances the iterator backwards, to the last boundary preceding this one. - /// </summary> - /// <returns>The position of the last boundary position preceding this one.</returns> - public override int Previous() - { - if (currentBoundaryIndex == 0 || boundaries.Count == 0) - { - return DONE; - } - currentBoundaryIndex--; - return ReturnCurrent(); - } - - /// <summary> - /// Throw <see cref="ArgumentException"/> unless begin <= offset < end. - /// </summary> - /// <param name="offset"></param> - private void CheckOffset(int offset) - { - if (offset < m_start || offset > m_end) - { - throw new ArgumentException("offset out of bounds"); - } - } - - /// <summary> - /// Sets the iterator to refer to the first boundary position following - /// the specified position. - /// </summary> - /// <param name="offset">The position from which to begin searching for a break position.</param> - /// <returns>The position of the first break after the current position.</returns> - public override int Following(int offset) - { - CheckOffset(offset); - - if (boundaries.Count == 0) - { - return DONE; - } - - int following = GetLowestIndexGreaterThan(offset); - if (following == -1) - { - currentBoundaryIndex = boundaries.Count - 1; - return DONE; - } - else - { - currentBoundaryIndex = following; - } - return ReturnCurrent(); - } - - private int GetLowestIndexGreaterThan(int offset) - { - int index = boundaries.BinarySearch(offset); - if (index < 0) - { - return ~index; - } - else if (index + 1 < boundaries.Count) - { - return index + 1; - } - - return -1; - } - - /// <summary> - /// Sets the iterator to refer to the last boundary position before the - /// specified position. - /// </summary> - /// <param name="offset">The position to begin searching for a break from.</param> - /// <returns>The position of the last boundary before the starting position.</returns> - public override int Preceding(int offset) - { - CheckOffset(offset); - - if (boundaries.Count == 0) - { - return DONE; - } - - int preceeding = GetHighestIndexLessThan(offset); - if (preceeding == -1) - { - currentBoundaryIndex = 0; - return DONE; - } - else - { - currentBoundaryIndex = preceeding; - } - return ReturnCurrent(); - } - - private int GetHighestIndexLessThan(int offset) - { - int index = boundaries.BinarySearch(offset); - if (index < 0) - { - return ~index - 1; - } - else - { - // NOTE: This is intentionally allowed to return -1 in the case - // where index == 0. This state indicates we are before the first boundary. - return index - 1; - } - } - - /// <summary> - /// Returns the current iteration position. - /// </summary> - public override int Current - { - get { return ReturnCurrent(); } - } - - /// <summary> - /// Gets the text being analyzed. - /// </summary> - public override string Text - { - get - { - return text; - } - } - - /// <summary> - /// Set the iterator to analyze a new piece of text. This function resets - /// the current iteration position to the beginning of the text. - /// </summary> - /// <param name="newText">The text to analyze.</param> - public override void SetText(string newText) - { - text = newText; - currentBoundaryIndex = 0; - m_start = 0; - m_end = newText.Length; - - LoadBoundaries(m_start, m_end); - } - - public override void SetText(CharacterIterator newText) - { - text = newText.GetTextAsString(); - currentBoundaryIndex = 0; - m_start = newText.BeginIndex; - m_end = newText.EndIndex; - - LoadBoundaries(m_start, m_end); - } - - private void LoadBoundaries(int start, int end) - { - IEnumerable<Icu.Boundary> icuBoundaries; - string offsetText = text.Substring(start, end - start); - -#if !NETSTANDARD - try - { -#endif - if (type == Icu.BreakIterator.UBreakIteratorType.WORD) - { - if (enableHacks) - { - // LUCENENET TODO: HACK - replacing hyphen with "a" so hyphenated words aren't broken - offsetText = offsetText.Replace("-", "a"); - } - - icuBoundaries = Icu.BreakIterator.GetWordBoundaries(locale, offsetText, true); - } - else - { - if (enableHacks && type == Icu.BreakIterator.UBreakIteratorType.SENTENCE) - { - // LUCENENET TODO: HACK - newline character causes incorrect sentence breaking. - offsetText = offsetText.Replace("\n", " "); - // LUCENENET TODO: HACK - the ICU sentence logic doesn't work (in English anyway) when sentences don't - // begin with capital letters. - offsetText = CapitalizeFirst(offsetText); - } - - icuBoundaries = Icu.BreakIterator.GetBoundaries(type, locale, offsetText); - } -#if !NETSTANDARD - } - catch (AccessViolationException ace) - { - // LUCENENET TODO: Find a reliable way to reproduce and report the - // AccessViolationException that happens here to the icu-dotnet project team - throw new Exception("Hit AccessViolationException: " + ace.ToString(), ace); - } -#endif - - boundaries = icuBoundaries - .Select(t => new[] { t.Start + start, t.End + start }) - .SelectMany(b => b) - .Distinct() - .ToList(); - } - - /// <summary> - /// Returns true if the specified character offset is a text boundary. - /// </summary> - /// <param name="offset">the character offset to check.</param> - /// <returns><c>true</c> if "offset" is a boundary position, <c>false</c> otherwise.</returns> - public override bool IsBoundary(int offset) - { - CheckOffset(offset); - return boundaries.Contains(offset); - } - - private int ReturnCurrent() - { - if (boundaries.Count > 0) - { - return currentBoundaryIndex < boundaries.Count && currentBoundaryIndex > -1 - ? boundaries[currentBoundaryIndex] - : DONE; - } - - // If there are no boundaries, we must return the start offset - return m_start; - } - - /// <summary> - /// LUCENENET TODO: This is a temporary workaround for an issue with icu-dotnet - /// where it doesn't correctly break sentences unless they begin with a capital letter. - /// If/when ICU is fixed, this method should be deleted and the IcuBreakIterator - /// code changed to remove calls to this method. - /// </summary> - public static string CapitalizeFirst(string s) - { - bool isNewSentence = true; - var result = new StringBuilder(s.Length); - for (int i = 0; i < s.Length; i++) - { - if (isNewSentence && char.IsLetter(s[i])) - { - result.Append(char.ToUpper(s[i])); - isNewSentence = false; - } - else - result.Append(s[i]); - - if (s[i] == '!' || s[i] == '?' || s[i] == '.') - { - isNewSentence = true; - } - } - - return result.ToString(); - } - } -} -#endif http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c077fb1/src/Lucene.Net.Icu/Support/StringCharacterIterator.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Icu/Support/StringCharacterIterator.cs b/src/Lucene.Net.Icu/Support/StringCharacterIterator.cs deleted file mode 100644 index 156f81e..0000000 --- a/src/Lucene.Net.Icu/Support/StringCharacterIterator.cs +++ /dev/null @@ -1,204 +0,0 @@ -#if FEATURE_BREAKITERATOR -using System; - -namespace Lucene.Net.Support -{ - /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - /// <summary> - /// <see cref="StringCharacterIterator"/> implements the - /// <see cref="CharacterIterator"/> protocol for a <see cref="string"/>. - /// The <see cref="StringCharacterIterator"/> class iterates over the - /// entire <see cref="string"/>. - /// </summary> - /// <seealso cref="CharacterIterator"/> - public class StringCharacterIterator : CharacterIterator - { - private string text; - private int begin; - private int end; - // invariant: begin <= pos <= end - private int pos; - - - public StringCharacterIterator(string text) - : this(text, 0) - { - } - - public StringCharacterIterator(string text, int pos) - : this(text, 0, text.Length, pos) - { - } - - public StringCharacterIterator(string text, int begin, int end, int pos) - { - if (text == null) - throw new ArgumentNullException("text"); - this.text = text; - - if (begin < 0 || begin > end || end > text.Length) - throw new ArgumentException("Invalid substring range"); - - if (pos < begin || pos > end) - throw new ArgumentException("Invalid position"); - - this.begin = begin; - this.end = end; - this.pos = pos; - } - - public void SetText(string text) - { - if (text == null) - throw new ArgumentNullException("text"); - this.text = text; - this.begin = 0; - this.end = text.Length; - this.pos = 0; - } - - public override char First() - { - pos = begin; - return Current; - } - - public override char Last() - { - if (end != begin) - { - pos = end - 1; - } - else - { - pos = end; - } - return Current; - } - - public override char SetIndex(int position) - { - if (position < begin || position > end) - throw new ArgumentException("Invalid index"); - pos = position; - return Current; - } - - public override char Current - { - get - { - if (pos >= begin && pos < end) - { - return text[pos]; - } - else - { - return DONE; - } - } - } - - public override char Next() - { - if (pos < end - 1) - { - pos++; - return text[pos]; - } - else - { - pos = end; - return DONE; - } - } - - public override char Previous() - { - if (pos > begin) - { - pos--; - return text[pos]; - } - else - { - return DONE; - } - } - - - public override int BeginIndex - { - get - { - return begin; - } - } - - public override int EndIndex - { - get - { - return end; - } - } - - public override int Index - { - get - { - return pos; - } - } - - public override string GetTextAsString() - { - return text; - } - - public override bool Equals(object obj) - { - if (this == obj) - return true; - if (!(obj is StringCharacterIterator)) - return false; - - StringCharacterIterator that = (StringCharacterIterator)obj; - - if (GetHashCode() != that.GetHashCode()) - return false; - if (!text.Equals(that.text, StringComparison.Ordinal)) - return false; - if (pos != that.pos || begin != that.begin || end != that.end) - return false; - return true; - } - - public override int GetHashCode() - { - return base.GetHashCode() ^ pos ^ begin ^ end; - } - - public override object Clone() - { - return MemberwiseClone(); - } - } -} -#endif http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c077fb1/src/Lucene.Net.Icu/project.json ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Icu/project.json b/src/Lucene.Net.Icu/project.json deleted file mode 100644 index c75310e..0000000 --- a/src/Lucene.Net.Icu/project.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "version": "4.8.0", - "title": "Lucene.Net.Icu", - "description": "International Components for Unicode-based features including Thai analyzer support, an international postings highlighter, and BreakIterator support for the vector highlighter for the Lucene.Net full-text search engine library from The Apache Software Foundation.", - "authors": [ "The Apache Software Foundation" ], - "packOptions": { - "projectUrl": "http://lucenenet.apache.org/", - "licenseUrl": "https://github.com/apache/lucenenet/blob/master/LICENSE.txt", - "iconUrl": "https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true", - "owners": [ "The Apache Software Foundation" ], - "repository": { "url": "https://github.com/apache/lucenenet" }, - "tags": [ "lucene.net", "core", "text", "search", "information", "retrieval", "lucene", "apache", "analysis", "index", "query" ] - }, - "buildOptions": { - "define": [ "FEATURE_BREAKITERATOR" ], - "compile": { - "includeFiles": [ - "../CommonAssemblyInfo.cs", - "../Lucene.Net.Analysis.Common/Analysis/Th/ThaiAnalyzer.cs", - "../Lucene.Net.Analysis.Common/Analysis/Th/ThaiTokenizer.cs", - "../Lucene.Net.Analysis.Common/Analysis/Th/ThaiTokenizerFactory.cs", - "../Lucene.Net.Analysis.Common/Analysis/Th/ThaiWordFilter.cs", - "../Lucene.Net.Analysis.Common/Analysis/Th/ThaiWordFilterFactory.cs", - "../Lucene.Net.Analysis.Common/Analysis/Util/CharArrayIterator.cs", - "../Lucene.Net.Analysis.Common/Analysis/Util/SegmentingTokenizerBase.cs", - "../Lucene.Net.Highlighter/PostingsHighlight/DefaultPassageFormatter.cs", - "../Lucene.Net.Highlighter/PostingsHighlight/MultiTermHighlighting.cs", - "../Lucene.Net.Highlighter/PostingsHighlight/Passage.cs", - "../Lucene.Net.Highlighter/PostingsHighlight/PassageFormatter.cs", - "../Lucene.Net.Highlighter/PostingsHighlight/PassageScorer.cs", - "../Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs", - "../Lucene.Net.Highlighter/PostingsHighlight/WholeBreakIterator.cs", - "../Lucene.Net.Highlighter/VectorHighlight/BreakIteratorBoundaryScanner.cs" - ] - }, - "embed": { - "includeFiles": [ "Analysis/Th/stopwords.txt" ] - } - }, - "dependencies": { - "icu.net": "54.1.1-alpha", - "Lucene.Net": "4.8.0", - "Lucene.Net.Analysis.Common": "4.8.0", - "Lucene.Net.Highlighter": "4.8.0" - }, - "frameworks": { - "netstandard1.5": { - "imports": "dnxcore50", - "buildOptions": { - "debugType": "portable", - "define": [ "NETSTANDARD" ] - }, - "dependencies": { - "NETStandard.Library": "1.6.0" - } - }, - "net451": { - "buildOptions": { - "debugType": "full", - "define": [ "FEATURE_SERIALIZABLE" ] - } - } - } -} http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c077fb1/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj b/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj new file mode 100644 index 0000000..84d660a --- /dev/null +++ b/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{D5AA1A22-1B28-4DF6-BFDA-02519A189839}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>Lucene.Net</RootNamespace> + <AssemblyName>Lucene.Net.Tests.ICU</AssemblyName> + <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup> + <DefineConstants>$(DefineConstants);FEATURE_BREAKITERATOR;FEATURE_SERIALIZABLE</DefineConstants> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + </ItemGroup> + <ItemGroup> + <Compile Include="..\Lucene.Net.Tests.Analysis.Common\Analysis\Th\TestThaiAnalyzer.cs"> + <Link>Analysis\Th\TestThaiAnalyzer.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Analysis.Common\Analysis\Th\TestThaiTokenizerFactory.cs"> + <Link>Analysis\Th\TestThaiTokenizerFactory.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Analysis.Common\Analysis\Th\TestThaiWordFilterFactory.cs"> + <Link>Analysis\Th\TestThaiWordFilterFactory.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Analysis.Common\Analysis\Util\TestCharArrayIterator.cs"> + <Link>Analysis\Util\TestCharArrayIterator.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Analysis.Common\Analysis\Util\TestSegmentingTokenizerBase.cs"> + <Link>Analysis\Util\TestSegmentingTokenizerBase.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Highlighter\PostingsHighlight\TestMultiTermHighlighting.cs"> + <Link>Search\PostingsHighlight\TestMultiTermHighlighting.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Highlighter\PostingsHighlight\TestPostingsHighlighter.cs"> + <Link>Search\PostingsHighlight\TestPostingsHighlighter.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Highlighter\PostingsHighlight\TestPostingsHighlighterRanking.cs"> + <Link>Search\PostingsHighlight\TestPostingsHighlighterRanking.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Highlighter\PostingsHighlight\TestWholeBreakIterator.cs"> + <Link>Search\PostingsHighlight\TestWholeBreakIterator.cs</Link> + </Compile> + <Compile Include="..\Lucene.Net.Tests.Highlighter\VectorHighlight\BreakIteratorBoundaryScannerTest.cs"> + <Link>Search\VectorHighlight\BreakIteratorBoundaryScannerTest.cs</Link> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="Support\TestApiConsistency.cs" /> + <Compile Include="Support\TestExceptionSerialization.cs" /> + <Compile Include="Support\TestIcuBreakIterator.cs" /> + <Compile Include="..\CommonAssemblyInfo.cs"> + <Link>Properties\CommonAssemblyInfo.cs</Link> + </Compile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\Lucene.Net.Analysis.Common\Lucene.Net.Analysis.Common.csproj"> + <Project>{4add0bbc-b900-4715-9526-d871de8eea64}</Project> + <Name>Lucene.Net.Analysis.Common</Name> + </ProjectReference> + <ProjectReference Include="..\Lucene.Net.Highlighter\Lucene.Net.Highlighter.csproj"> + <Project>{e9e769ea-8504-44bc-8dc9-ccf958765f8f}</Project> + <Name>Lucene.Net.Highlighter</Name> + </ProjectReference> + <ProjectReference Include="..\Lucene.Net.ICU\Lucene.Net.ICU.csproj"> + <Project>{349cb7c9-7534-4e1d-9b0a-5521441af0ae}</Project> + <Name>Lucene.Net.ICU</Name> + </ProjectReference> + <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj"> + <Project>{b2c0d749-ce34-4f62-a15e-00cb2ff5ddb3}</Project> + <Name>Lucene.Net.TestFramework</Name> + </ProjectReference> + <ProjectReference Include="..\Lucene.Net.Tests.Analysis.Common\Lucene.Net.Tests.Analysis.Common.csproj"> + <Project>{c54fe8fa-7986-4c94-b872-d5bff7c6c74e}</Project> + <Name>Lucene.Net.Tests.Analysis.Common</Name> + </ProjectReference> + <ProjectReference Include="..\Lucene.Net\Lucene.Net.csproj"> + <Project>{5d4ad9be-1ffb-41ab-9943-25737971bf57}</Project> + <Name>Lucene.Net</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="Lucene.Net.Tests.ICU.project.json" /> + <EmbeddedResource Include="Search\PostingsHighlight\CambridgeMA.utf8" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c077fb1/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.project.json ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.project.json b/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.project.json new file mode 100644 index 0000000..2a96d5b --- /dev/null +++ b/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.project.json @@ -0,0 +1,12 @@ +{ + "runtimes": { + "win": {} + }, + "dependencies": { + "NUnit": "3.5.0", + "icu.net": "54.1.1-alpha" + }, + "frameworks": { + "net451": {} + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c077fb1/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.xproj ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.xproj b/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.xproj new file mode 100644 index 0000000..7663a09 --- /dev/null +++ b/src/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.xproj @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion> + <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> + </PropertyGroup> + <Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" /> + <PropertyGroup Label="Globals"> + <ProjectGuid>32fd3471-e862-4055-b969-79c12a656366</ProjectGuid> + <RootNamespace>Lucene.Net</RootNamespace> + <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath> + <OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath> + <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion> + </PropertyGroup> + <PropertyGroup> + <SchemaVersion>2.0</SchemaVersion> + </PropertyGroup> + <ItemGroup> + <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> + </ItemGroup> + <Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" /> +</Project> http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c077fb1/src/Lucene.Net.Tests.ICU/Properties/AssemblyInfo.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests.ICU/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.ICU/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..dfa32ab --- /dev/null +++ b/src/Lucene.Net.Tests.ICU/Properties/AssemblyInfo.cs @@ -0,0 +1,42 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Lucene.Net.Tests.ICU")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("d5aa1a22-1b28-4df6-bfda-02519a189839")] + +// NOTE: Version information is in CommonAssemblyInfo.cs
