Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
56 changes: 28 additions & 28 deletions Docxodus.Tests/Docxodus.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>

<!-- Disable TreatWarningsAsErrors for test project - legacy xUnit patterns -->
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<NoWarn>$(NoWarn);xUnit1012;xUnit2020</NoWarn>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="DocumentFormat.OpenXml" Version="3.5.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.8.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="SkiaSharp" Version="4.148.0" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="4.148.0" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Docxodus\Docxodus.csproj" />
<ProjectReference Include="..\tools\mcp-server\mcpserver.csproj" />
</ItemGroup>

</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
<!-- Disable TreatWarningsAsErrors for test project - legacy xUnit patterns -->
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<NoWarn>$(NoWarn);xUnit1012;xUnit2020</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DocumentFormat.OpenXml" Version="3.5.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.8.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="SkiaSharp" Version="4.148.0" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="4.151.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Docxodus\Docxodus.csproj" />
<ProjectReference Include="..\tools\mcp-server\mcpserver.csproj" />
</ItemGroup>
</Project>
136 changes: 68 additions & 68 deletions Docxodus/Docxodus.csproj
Original file line number Diff line number Diff line change
@@ -1,68 +1,68 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<LangVersion>latest</LangVersion>

<!-- Enable packaging for NuGet -->
<IsPackable>true</IsPackable>

<!-- NuGet Package Metadata -->
<PackageId>Docxodus</PackageId>
<Version>1.0.0</Version>
<Authors>OpenXmlPowerTools Authors, JSv4</Authors>
<Description>A structure-aware OOXML toolkit for Word documents (and XLSX/PPTX): faithful DOCX-to-HTML rendering, Word-grade comparison producing native tracked-changes redlines, an anchor-addressed editing session for programmatic and LLM-driven edits, a stable markdown projection, plus merging, splitting and template assembly. Fork of OpenXmlPowerTools upgraded to .NET 10.0.</Description>
<PackageProjectUrl>https://github.com/JSv4/Docxodus</PackageProjectUrl>
<RepositoryUrl>https://github.com/JSv4/Docxodus</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageTags>openxml;ooxml;docx;word;xlsx;excel;pptx;powerpoint;document;compare;diff;redline;tracked-changes;docx-to-html;html;markdown;document-editor;merge;split;llm;agent</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>

<!-- Disable TreatWarningsAsErrors for legacy code - too many existing warnings -->
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<NoWarn>$(NoWarn);CS8073;CA2200;CS8632</NoWarn>

<!-- ReadyToRun: Pre-compile to native code during publish to eliminate JIT warmup -->
<PublishReadyToRun>true</PublishReadyToRun>
</PropertyGroup>

<!-- Define WASM_BUILD constant when building for WASM.
The output/intermediate paths are redirected so the WASM-mode assembly (no SkiaSharp,
no ImageInfo.SaveImage) can never clobber the default-mode assembly: DocxodusWasm
references this project with AdditionalProperties="WASM_BUILD=true", so a solution
build compiles Docxodus twice — without distinct paths the two builds race for
bin/$(Configuration)/net10.0/Docxodus.dll and Docxodus.Tests intermittently links the
WASM-mode one (the recurring CS1061 'ImageInfo.SaveImage' failure). -->
<PropertyGroup Condition="'$(WASM_BUILD)' == 'true'">
<DefineConstants>$(DefineConstants);WASM_BUILD</DefineConstants>
<OutputPath>bin\wasm\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\wasm\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>

<!-- Core dependencies (always included) -->
<ItemGroup>
<PackageReference Include="DocumentFormat.OpenXml" Version="3.5.1" />
</ItemGroup>

<!-- SkiaSharp dependencies (only for non-WASM builds) -->
<ItemGroup Condition="'$(WASM_BUILD)' != 'true'">
<PackageReference Include="SkiaSharp" Version="4.148.0" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="4.148.0" />
</ItemGroup>

<ItemGroup>
<None Include="..\README.md" Pack="true" PackagePath="" />
</ItemGroup>

<!-- Bridge transports (WASM JSExport, stdio NDJSON host) consume the shared
Docxodus.Internal facade for the DocxSession wire protocol. -->
<ItemGroup>
<InternalsVisibleTo Include="DocxodusWasm" />
<InternalsVisibleTo Include="docxodus-pyhost" />
<InternalsVisibleTo Include="docxodus-mcp" />
<InternalsVisibleTo Include="Docxodus.Tests" />
</ItemGroup>

</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<LangVersion>latest</LangVersion>
<!-- Enable packaging for NuGet -->
<IsPackable>true</IsPackable>
<!-- NuGet Package Metadata -->
<PackageId>Docxodus</PackageId>
<Version>1.0.0</Version>
<Authors>OpenXmlPowerTools Authors, JSv4</Authors>
<Description>A structure-aware OOXML toolkit for Word documents (and XLSX/PPTX): faithful DOCX-to-HTML rendering, Word-grade comparison producing native tracked-changes redlines, an anchor-addressed editing session for programmatic and LLM-driven edits, a stable markdown projection, plus merging, splitting and template assembly. Fork of OpenXmlPowerTools upgraded to .NET 10.0.</Description>
<PackageProjectUrl>https://github.com/JSv4/Docxodus</PackageProjectUrl>
<RepositoryUrl>https://github.com/JSv4/Docxodus</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageTags>openxml;ooxml;docx;word;xlsx;excel;pptx;powerpoint;document;compare;diff;redline;tracked-changes;docx-to-html;html;markdown;document-editor;merge;split;llm;agent</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
<!-- Disable TreatWarningsAsErrors for legacy code - too many existing warnings -->
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<NoWarn>$(NoWarn);CS8073;CA2200;CS8632</NoWarn>
<!-- ReadyToRun: Pre-compile to native code during publish to eliminate JIT warmup -->
<PublishReadyToRun>true</PublishReadyToRun>
</PropertyGroup>
<!-- Define WASM_BUILD constant when building for WASM.
The output/intermediate paths are redirected so the WASM-mode assembly (no SkiaSharp,
no ImageInfo.SaveImage) can never clobber the default-mode assembly: DocxodusWasm
references this project with AdditionalProperties="WASM_BUILD=true", so a solution
build compiles Docxodus twice — without distinct paths the two builds race for
bin/$(Configuration)/net10.0/Docxodus.dll and Docxodus.Tests intermittently links the
WASM-mode one (the recurring CS1061 'ImageInfo.SaveImage' failure). -->
<PropertyGroup Condition="'$(WASM_BUILD)' == 'true'">
<DefineConstants>$(DefineConstants);WASM_BUILD</DefineConstants>
<OutputPath>bin\wasm\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\wasm\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<!-- Core dependencies (always included) -->
<ItemGroup>
<PackageReference Include="DocumentFormat.OpenXml" Version="3.5.1" />
</ItemGroup>
<!-- SkiaSharp dependencies (only for non-WASM builds) -->
<ItemGroup Condition="'$(WASM_BUILD)' != 'true'">
<PackageReference Include="SkiaSharp" Version="4.148.0" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="4.151.1" />
</ItemGroup>
<ItemGroup>
<None Include="..\README.md" Pack="true" PackagePath="" />
</ItemGroup>
<!-- Bridge transports (WASM JSExport, stdio NDJSON host) consume the shared
Docxodus.Internal facade for the DocxSession wire protocol. -->
<ItemGroup>
<InternalsVisibleTo Include="DocxodusWasm" />
<InternalsVisibleTo Include="docxodus-pyhost" />
<InternalsVisibleTo Include="docxodus-mcp" />
<InternalsVisibleTo Include="Docxodus.Tests" />
</ItemGroup>
</Project>
91 changes: 46 additions & 45 deletions tools/mcp-server/mcpserver.csproj
Original file line number Diff line number Diff line change
@@ -1,45 +1,46 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>

<AssemblyName>docxodus-mcp</AssemblyName>
<RootNamespace>Docxodus.McpServer</RootNamespace>

<!-- Suppress StyleCop file-header rules (matches wasm/DocxodusWasm and tools/python-host convention for tooling subprojects) -->
<NoWarn>$(NoWarn);SA1633;SA1636</NoWarn>

<!-- Self-contained single-file publish so `dotnet tool install` ships zero
system dependencies. Mirrors tools/python-host's publish profile. -->
<PublishReadyToRun>true</PublishReadyToRun>

<!-- dotnet-tool packaging, matching tools/redline and tools/docx2html -->
<PackAsTool>true</PackAsTool>
<ToolCommandName>docxodus-mcp</ToolCommandName>
<PackageId>Docxodus.McpServer</PackageId>
<Version>1.0.0</Version>
<Authors>JSv4</Authors>
<Description>Model Context Protocol server exposing Docxodus's DocxSession editing surface to AI agents over stdio.</Description>
<PackageProjectUrl>https://github.com/JSv4/Docxodus</PackageProjectUrl>
<RepositoryUrl>https://github.com/JSv4/Docxodus</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageTags>openxml;docx;word;mcp;model-context-protocol;agent;ai;document</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="../../Docxodus/Docxodus.csproj" />
</ItemGroup>

<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="" />
</ItemGroup>

<ItemGroup>
<InternalsVisibleTo Include="Docxodus.Tests" />
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>

<AssemblyName>docxodus-mcp</AssemblyName>
<RootNamespace>Docxodus.McpServer</RootNamespace>

<!-- Suppress StyleCop file-header rules (matches wasm/DocxodusWasm and tools/python-host convention for tooling subprojects) -->
<NoWarn>$(NoWarn);SA1633;SA1636</NoWarn>

<!-- Self-contained single-file publish so `dotnet tool install` ships zero
system dependencies. Mirrors tools/python-host's publish profile. -->
<PublishReadyToRun>true</PublishReadyToRun>

<!-- dotnet-tool packaging, matching tools/redline and tools/docx2html -->
<PackAsTool>true</PackAsTool>
<ToolCommandName>docxodus-mcp</ToolCommandName>
<PackageId>Docxodus.McpServer</PackageId>
<Version>1.0.0</Version>
<Authors>JSv4</Authors>
<Description>Model Context Protocol server exposing Docxodus's DocxSession editing surface to AI agents over stdio.</Description>
<PackageProjectUrl>https://github.com/JSv4/Docxodus</PackageProjectUrl>
<RepositoryUrl>https://github.com/JSv4/Docxodus</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageTags>openxml;docx;word;mcp;model-context-protocol;agent;ai;document</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="../../Docxodus/Docxodus.csproj" />
</ItemGroup>

<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="4.151.1" />
<InternalsVisibleTo Include="Docxodus.Tests" />
</ItemGroup>
</Project>
Loading