Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
264e057
Add first pass at lucene-api-extractor Java project
paulirwin Nov 17, 2024
195100e
WIP on Lucene.Net.ApiCheck project to call lucene-api-extractor
paulirwin Nov 18, 2024
af07ee2
Load assemblies to diff
paulirwin Dec 7, 2024
bc174a8
Generate report of diff; more improvements to diff algorithm
paulirwin Dec 8, 2024
f6f1e19
Generate report of diff; more improvements to diff algorithm
paulirwin Dec 8, 2024
cec3717
More WIP on type comparison algorithm
paulirwin Dec 8, 2024
ed9938a
Change config for type overrides to avoid having to repeat justificat…
paulirwin Jan 5, 2025
3f15f64
Add Lucene.NET types not in Lucene to HTML report
paulirwin Jan 5, 2025
4f63c80
Add type overrides to report output
paulirwin Jan 5, 2025
150a849
WIP on diffing type metadata
paulirwin Jan 5, 2025
f641c3f
Add Analysis Common to diff tool
paulirwin Feb 16, 2025
1a96ba2
Add Kuromoji to diff tool
paulirwin Feb 16, 2025
d048f7b
Add Morfologik to diff tool, and ability to specify additional maven …
paulirwin Feb 17, 2025
56fd765
Add Phonetic to diff tool
paulirwin Feb 17, 2025
e3059fc
Add Stempel and Smartcn to diff tool
paulirwin Feb 17, 2025
814e916
Add more type mappings, bug fixes
paulirwin Feb 17, 2025
f18cfdc
Rename apicheck-config.json to apicheck-config.json5 to allow comment…
paulirwin Feb 17, 2025
3ad0ffd
Alphabetize libraries
paulirwin Feb 17, 2025
c2dad62
Add more libraries (all but OpenNLP), improve style and output of rep…
paulirwin Feb 17, 2025
837de30
Overhaul reflection to have attributes in Lucene.Net.Reflection names…
paulirwin Feb 19, 2025
b9d2699
Support different versions of Lucene libraries, fix some bugs
paulirwin Feb 19, 2025
9775dc5
Add support for detecting mismatched modifiers
paulirwin Feb 19, 2025
1896e14
Add mismatched base types, and other improvements
paulirwin Feb 21, 2025
f760bcb
Ability to suppress base type and modifier differences, other bug fixes
paulirwin Feb 22, 2025
c880699
Analysis and suppression of interface differences
paulirwin Feb 22, 2025
83852ac
Refactor to reduce code duplication
paulirwin Feb 26, 2025
7840017
WIP on field analysis
paulirwin Mar 3, 2025
4fc5af4
Detect .NET fields not in Java
paulirwin Mar 19, 2025
f62b542
Mostly wrap up missing field matching
paulirwin Mar 20, 2025
5b610e0
Use declared only fields
paulirwin Mar 23, 2025
2200d95
Restore [Lucene*] attributes dropped during master rebase
paulirwin Apr 21, 2026
5088c95
Improve lucene-api-extractor completeness, correctness, and tests
paulirwin Apr 22, 2026
8e982e5
Close URLClassLoader and make hash version-agnostic
paulirwin Apr 22, 2026
49261d4
lucene-api-extractor: HTTP integrity, --strict mode, and refactors
paulirwin Apr 22, 2026
89164e8
Add constructor diff analysis to ApiCheck
paulirwin Apr 30, 2026
196b838
Add method diff analysis to ApiCheck
paulirwin Apr 30, 2026
17a45a3
Map .NET properties to Java getter/setter pairs in ApiCheck
paulirwin Apr 30, 2026
3152d33
Reduce ApiCheck diff noise from BCL types and bare-name getters
paulirwin May 1, 2026
e7fcfaf
Surface matched-member type and modifier differences in ApiCheck
paulirwin May 1, 2026
04fd831
Recognize more Java/.NET equivalences in ApiCheck
paulirwin May 1, 2026
b6eb56e
Fix PerfRunData package mapping test
paulirwin May 1, 2026
45d895b
Auto-map Java/.NET BCL type-name renames in ApiCheck
paulirwin May 1, 2026
ec73be7
Map Java FilterReader.in/out to .NET m_input/m_output in ApiCheck
paulirwin May 1, 2026
fd55659
Pair Java close() with .NET Dispose(bool) in ApiCheck
paulirwin May 1, 2026
31def36
Suppress enum modifier mismatches in ApiCheck
paulirwin May 1, 2026
26b5e6c
Improve ApiCheck Java↔.NET type matching for nested types and fields
paulirwin May 1, 2026
10085b3
Drop redundant [LuceneType] attributes now covered by ApiCheck inference
paulirwin May 1, 2026
1c8a13f
Refine ApiCheck matching rules to reduce false-positive diffs
paulirwin May 1, 2026
96ad36f
Clean up ApiCheck branch ahead of PR
paulirwin May 8, 2026
378081a
Move Java API extractor to external repo
paulirwin Jun 5, 2026
97b34e2
Fix intellij gitignore path
paulirwin Jun 5, 2026
c2f5946
Fix outdated comments on apicheck.ps1
paulirwin Jun 5, 2026
46fa311
Add LucenePackageMapping for Lucene.Net.QueryParsers.ComplexPhrase
paulirwin Jun 5, 2026
0f8c4db
Revert whitespace-only blank lines added after version comment
paulirwin Jun 5, 2026
75b38a8
Revert comment/whitespace-only changes in *FloatFunction value sources
paulirwin Jun 5, 2026
4be07c4
Upgrade System.CommandLine to 2.0.8 and drop unused report index.js
paulirwin Jun 5, 2026
813b3eb
Migrate Lucene.Net.Tests.ApiCheck to xUnit v3
paulirwin Jun 5, 2026
eb7bec1
Enable OpenNLP in ApiCheck (diffs against 8.2.0)
paulirwin Jun 5, 2026
d339689
Strip UTF-8 BOM from ApiCheck source files
paulirwin Jun 5, 2026
71836b2
Rename private static field to satisfy TestApiConsistency
paulirwin Jun 5, 2026
9fc36a4
Fix ApiCheck matching bugs (#1022)
paulirwin Jun 10, 2026
734a63d
Add ApiCheck matching heuristics for known port idioms (#1022)
paulirwin Jun 10, 2026
ed07ddd
Add ApiCheck Impl-strip fix and three more matching heuristics (#1022)
paulirwin Jun 10, 2026
3be4db0
Add ApiCheck member-pairing heuristics for field/method renames (#1022)
paulirwin Jun 10, 2026
9ba24be
Add test for generic-arity stripping in nested inferred type names (#…
paulirwin Jun 10, 2026
728efb3
PR feedback and properly use extractor download argument
paulirwin Jul 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ test-files/analysis/data/
out.dot
release/
_artifacts/
download/

# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
Expand All @@ -67,4 +68,8 @@ svn-*/

# Visual Studio Code/Rider files
.vscode/
.idea/
**/.idea/

# macOS
.DS_Store

15 changes: 15 additions & 0 deletions Lucene.Net.sln
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
NOTICE.txt = NOTICE.txt
NuGet.config = NuGet.config
README.md = README.md
apicheck.ps1 = apicheck.ps1
apicheck-config.jsonc = apicheck-config.jsonc
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lucene.Net", "src\Lucene.Net\Lucene.Net.csproj", "{3A0AA37E-2B7B-4416-B528-DA4E0E6A6706}"
Expand Down Expand Up @@ -208,6 +210,9 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.TestFramework.TestData.NUnit", "src\dotnet\Lucene.Net.TestFramework.TestData.NUnit\Lucene.Net.TestFramework.TestData.NUnit.csproj", "{6E131ACF-D27A-45AF-923B-A1932EB11E2D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.TestFramework.NUnitExtensions", "src\Lucene.Net.Tests.TestFramework.NUnitExtensions\Lucene.Net.Tests.TestFramework.NUnitExtensions.csproj", "{724CFF92-5ED6-4F7D-9D2C-53ABA0589F37}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.ApiCheck", "src\dotnet\Lucene.Net.ApiCheck\Lucene.Net.ApiCheck.csproj", "{8CF1AE3D-31C3-436E-B08B-1DD026D3F375}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.ApiCheck", "src\dotnet\Lucene.Net.Tests.ApiCheck\Lucene.Net.Tests.ApiCheck.csproj", "{87E78608-D8B8-43FE-9235-B594C5EFBEC7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -503,6 +508,14 @@ Global
{724CFF92-5ED6-4F7D-9D2C-53ABA0589F37}.Debug|Any CPU.Build.0 = Debug|Any CPU
{724CFF92-5ED6-4F7D-9D2C-53ABA0589F37}.Release|Any CPU.ActiveCfg = Release|Any CPU
{724CFF92-5ED6-4F7D-9D2C-53ABA0589F37}.Release|Any CPU.Build.0 = Release|Any CPU
{8CF1AE3D-31C3-436E-B08B-1DD026D3F375}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8CF1AE3D-31C3-436E-B08B-1DD026D3F375}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8CF1AE3D-31C3-436E-B08B-1DD026D3F375}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8CF1AE3D-31C3-436E-B08B-1DD026D3F375}.Release|Any CPU.Build.0 = Release|Any CPU
{87E78608-D8B8-43FE-9235-B594C5EFBEC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{87E78608-D8B8-43FE-9235-B594C5EFBEC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{87E78608-D8B8-43FE-9235-B594C5EFBEC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87E78608-D8B8-43FE-9235-B594C5EFBEC7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -522,6 +535,8 @@ Global
{FED4A824-1F32-4948-8D37-2B7610804DB5} = {42599646-275F-4970-BC60-A3349F6498CC}
{C0448DD3-68D2-485F-B31A-D2806E589FA7} = {42599646-275F-4970-BC60-A3349F6498CC}
{6E131ACF-D27A-45AF-923B-A1932EB11E2D} = {8CA61D33-3590-4024-A304-7B1F75B50653}
{8CF1AE3D-31C3-436E-B08B-1DD026D3F375} = {8CA61D33-3590-4024-A304-7B1F75B50653}
{87E78608-D8B8-43FE-9235-B594C5EFBEC7} = {8CA61D33-3590-4024-A304-7B1F75B50653}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9F2179CC-CFD2-4419-AB74-D72856931F36}
Expand Down
16 changes: 15 additions & 1 deletion Lucene.Net.sln.DotSettings
Original file line number Diff line number Diff line change
@@ -1,10 +1,24 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/UserDictionary/Words/=carrotsearch/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=charfilter/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Coord/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=csharpsquid/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=docvalues/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=egothor/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=intblock/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=kuromoji/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=LUCENENET/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=stopword/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=stopwords/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=streamutils/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=subdir/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=synch/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=testsettings/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
<s:Boolean x:Key="/Default/UserDictionary/Words/=queryparser/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=randomizedtesting/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=smartcn/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=stempel/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=testsettings/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=tokenattributes/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=trec/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=valuesource/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=writercache/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
111 changes: 111 additions & 0 deletions apicheck-config.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
{
"libraries": [
{
"luceneNetName": "Lucene.Net",
},
{
"luceneNetName": "Lucene.Net.Analysis.Common",
},
{
"luceneNetName": "Lucene.Net.Analysis.Kuromoji",
},
{
"luceneNetName": "Lucene.Net.Analysis.Morfologik",
"mavenDependencies": [
"org.carrot2:morfologik-stemming:1.7.1",
"org.carrot2:morfologik-fsa:1.7.1",
"org.carrot2:morfologik-polish:1.7.1"
]
},
{
"luceneNetName": "Lucene.Net.Analysis.OpenNLP",
"mavenDependencies": [
"org.apache.opennlp:opennlp-tools:1.9.1",
]
},
{
"luceneNetName": "Lucene.Net.Analysis.Phonetic",
},
{
"luceneNetName": "Lucene.Net.Analysis.SmartCn",
},
{
"luceneNetName": "Lucene.Net.Analysis.Stempel",
},
{
"luceneNetName": "Lucene.Net.Benchmark",
"mavenDependencies": [
"com.ibm.icu:icu4j:53.1",
"org.apache.commons:commons-compress:1.7"
]
},
{
"luceneNetName": "Lucene.Net.Classification",
},
{
"luceneNetName": "Lucene.Net.Codecs",
},
{
"luceneNetName": "Lucene.Net.Demo",
"mavenDependencies": [
"javax.servlet:servlet-api:2.4",
"org.antlr:antlr-runtime:3.5",
"org.ow2.asm:asm:4.1",
"org.ow2.asm:asm-commons:4.1",
]
},
{
"luceneNetName": "Lucene.Net.Expressions",
},
{
"luceneNetName": "Lucene.Net.Facet",
},
{
"luceneNetName": "Lucene.Net.Grouping",
},
{
"luceneNetName": "Lucene.Net.Highlighter",
},
{
"luceneNetName": "Lucene.Net.Join",
},
{
"luceneNetName": "Lucene.Net.Memory",
},
{
"luceneNetName": "Lucene.Net.Misc",
},
{
"luceneNetName": "Lucene.Net.Queries",
},
{
"luceneNetName": "Lucene.Net.QueryParser",
},
{
"luceneNetName": "Lucene.Net.Replicator",
},
{
"luceneNetName": "Lucene.Net.Sandbox",
"mavenDependencies": [
"jakarta-regexp:jakarta-regexp:1.4"
]
},
{
"luceneNetName": "Lucene.Net.Spatial",
"mavenDependencies": [
"com.spatial4j:spatial4j:0.4.1"
]
},
{
"luceneNetName": "Lucene.Net.Suggest",
},
{
"luceneNetName": "Lucene.Net.TestFramework",
"mavenDependencies": [
"junit:junit:4.10",
"com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.1.3",
"com.carrotsearch.randomizedtesting:junit4-ant:2.1.3",
]
}
]
}
80 changes: 80 additions & 0 deletions apicheck.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
param (
[switch] $clean = $false
)

$ErrorActionPreference = "Stop"

# The Java API extractor lives in its own Apache-licensed repository:
# https://github.com/paulirwin/java-api-extractor
# We download the pre-built shaded ("fat") jar from a pinned GitHub Release and run it with `java -jar`.
#
# Requirements:
# - The GitHub CLI (`gh`) must be installed and authenticated (`gh auth login`).
# It is used to download the release asset.
# - A Java 21+ runtime on PATH (the extractor targets Java 21).

$extractorRepo = "paulirwin/java-api-extractor"
$extractorVersion = "v0.1.0"
# The release attaches the shaded fat jar named "<artifact>-<version>-all.jar".
$jarAssetPattern = "*-all.jar"

$dotnetProjectPath = "src/dotnet/Lucene.Net.ApiCheck/Lucene.Net.ApiCheck.csproj"
$configFilePath = "apicheck-config.jsonc"
$jarCachePath = "_artifacts/java-api-extractor/$extractorVersion"
$downloadPath = "_artifacts/lucene-api-extractor/download"
$outputPath = "_artifacts/lucene-api-extractor/output"

if ($clean)
{
# delete existing output and cached jar
Remove-Item -Recurse -Force $outputPath -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force $jarCachePath -ErrorAction SilentlyContinue
}

# create download, output, and jar cache paths recursively
New-Item -ItemType Directory -Force -Path $downloadPath -InformationAction SilentlyContinue -ErrorAction SilentlyContinue | Out-Null
New-Item -ItemType Directory -Force -Path $outputPath -InformationAction SilentlyContinue -ErrorAction SilentlyContinue | Out-Null
New-Item -ItemType Directory -Force -Path $jarCachePath -InformationAction SilentlyContinue -ErrorAction SilentlyContinue | Out-Null

# Reuse a previously downloaded jar if present (use -clean to force a fresh download).
$jarFile = Get-ChildItem -Path $jarCachePath -Filter $jarAssetPattern -ErrorAction SilentlyContinue | Select-Object -First 1

if (-not $jarFile)
{
# The download requires the GitHub CLI.
if (-not (Get-Command gh -ErrorAction SilentlyContinue))
{
Write-Host "The GitHub CLI ('gh') is required to download the java-api-extractor jar but was not found on PATH."
Write-Host "Install it from https://cli.github.com/ and run 'gh auth login', then re-run this script."
exit 1
}

Write-Host "Downloading java-api-extractor $extractorVersion fat jar from $extractorRepo..."
gh release download $extractorVersion --repo $extractorRepo --pattern $jarAssetPattern --dir $jarCachePath --clobber

if ($LASTEXITCODE -ne 0)
{
Write-Host "Failed to download the java-api-extractor release asset. Exiting."
exit $LASTEXITCODE
}

$jarFile = Get-ChildItem -Path $jarCachePath -Filter $jarAssetPattern -ErrorAction SilentlyContinue | Select-Object -First 1

if (-not $jarFile)
{
Write-Host "Download succeeded but no jar matching '$jarAssetPattern' was found in $jarCachePath. Exiting."
exit 1
}
}

Write-Host "Jar file: $($jarFile.FullName)"

if ($clean) {
# Clean the API Check project
Write-Host "Cleaning API Check project..."
dotnet clean $dotnetProjectPath
}

# Run the API check
Write-Host "Running API check..."
dotnet run --project $dotnetProjectPath -- report -j $jarFile.FullName -c $configFilePath -o $outputPath -d $downloadPath
5 changes: 5 additions & 0 deletions src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
*
*/

using Lucene.Net.Reflection;
using System;
using System.Reflection;
using System.Runtime.InteropServices;
Expand All @@ -38,3 +39,7 @@

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f57314a7-e71f-4b3c-860f-564046ca398b")]

[assembly: LuceneMavenMapping("org.apache.lucene", "lucene-analyzers-common", "4.8.1")]
[assembly: LucenePackageMapping("Lucene.Net.Analysis.CharFilters", "org.apache.lucene.analysis.charfilter")]
[assembly: LucenePackageMapping("Lucene.Net.Tartarus.Snowball", "org.tartarus.snowball")]
3 changes: 3 additions & 0 deletions src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
* limitations under the License.
*/

using Lucene.Net.Reflection;
using System;
using System.Reflection;
using System.Runtime.InteropServices;
Expand All @@ -34,3 +35,5 @@

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("8408625a-2508-46d5-8519-045183c43724")]

[assembly: LuceneMavenMapping("org.apache.lucene", "lucene-analyzers-kuromoji", "4.8.1")]
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,10 @@
<NoWarn>$(NoWarn);1591;1573</NoWarn>
</PropertyGroup>



<ItemGroup>
<Compile Remove="Properties\AssemblyInfo.cs" />
</ItemGroup>

<ItemGroup>
<EmbeddedResource Include="Uk/**/*" Exclude="*.cs" />
</ItemGroup>

<ItemGroup>
<None Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Morfologik.Fsa" Version="$(MorfologikFsaPackageVersion)" />
<PackageReference Include="Morfologik.Polish" Version="$(MorfologikPolishPackageVersion)" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// Lucene version compatibility level 8.2.0

using Lucene.Net.Reflection;
using Lucene.Net.Util;
using System.Collections.Generic;
using System.Text;
Expand Down Expand Up @@ -27,6 +29,7 @@ namespace Lucene.Net.Analysis.Morfologik.TokenAttributes
/// surface forms. For the exact format and description of these,
/// see the project's documentation.
/// </summary>
[LuceneType("org.apache.lucene.analysis.morfologik", "MorphosyntacticTagsAttribute", Justification = "Namespace/package mismatch, not able to be inferred by convention")]
public interface IMorphosyntacticTagsAttribute : IAttribute
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// Lucene version compatibility level 8.2.0

using Lucene.Net.Reflection;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
Expand Down Expand Up @@ -29,6 +31,7 @@ namespace Lucene.Net.Analysis.Morfologik.TokenAttributes
/// Morphosyntactic annotations for surface forms.
/// </summary>
/// <seealso cref="IMorphosyntacticTagsAttribute"/>
[LuceneType("org.apache.lucene.analysis.morfologik", "MorphosyntacticTagsAttributeImpl", Justification = "Namespace/package mismatch, not able to be inferred by convention")]
public class MorphosyntacticTagsAttribute : Attribute, IMorphosyntacticTagsAttribute // LUCENENET specific: Not implementing ICloneable per Microsoft's recommendation
{
/// <summary>Initializes this attribute with no tags</summary>
Expand Down
3 changes: 3 additions & 0 deletions src/Lucene.Net.Analysis.Morfologik/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
* limitations under the License.
*/

using Lucene.Net.Reflection;
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
Expand All @@ -35,3 +36,5 @@

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("2e4a99a0-c52e-4e66-9246-69ef75124b61")]

[assembly: LuceneMavenMapping("org.apache.lucene", "lucene-analyzers-morfologik", "4.8.1")]
4 changes: 3 additions & 1 deletion src/Lucene.Net.Analysis.OpenNLP/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
* limitations under the License.
*/

using Lucene.Net.Reflection;
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
Expand All @@ -35,3 +35,5 @@

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("7695c395-37dd-42d1-af27-6e0bf82bdb15")]

[assembly: LuceneMavenMapping("org.apache.lucene", "lucene-analyzers-opennlp", "8.2.0")]
Loading
Loading