-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOfficeSupportTool.csproj
More file actions
109 lines (109 loc) · 6.06 KB
/
Copy pathOfficeSupportTool.csproj
File metadata and controls
109 lines (109 loc) · 6.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<OutputType>Library</OutputType>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<!-- Plugin binaries must be OS-neutral: AnyCPU and NO RuntimeIdentifier. -->
<PlatformTarget>AnyCPU</PlatformTarget>
<Papyrine_SponsorshipLicenseIgnored>true</Papyrine_SponsorshipLicenseIgnored>
<Configurations>Debug;Release;Test</Configurations>
<PackageId>Graphene.OfficeSupportTool</PackageId>
<Version>$([System.DateTime]::Now.ToString("1.yy.MM.dd"))</Version>
<Description>Office document agent tool for AIOrchestrator: LLM-driven DOCX creation and updating from HTML templates via HtmlToOpenXml.</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
<Copyright>Andrea Bruno</Copyright>
<RepositoryUrl>https://github.com/Graphene-Lab/OfficeSupportTool</RepositoryUrl>
<PackageTags>agent;tool;document;docx;html;template;llm;automation</PackageTags>
<DefaultItemExcludes>$(DefaultItemExcludes);OfficeSupportTool.Harness\bin\**;OfficeSupportTool.Harness\obj\**</DefaultItemExcludes>
</PropertyGroup>
<!-- Runtime plugin identity: AIOrchestrator.PluginUpdater reads these assembly metadata
attributes to know which NuGet package and version a loaded plugin comes from. -->
<ItemGroup>
<AssemblyMetadata Include="NuGetPackageId" Value="Graphene.OfficeSupportTool" />
<AssemblyMetadata Include="NuGetPackageVersion" Value="$(Version)" />
</ItemGroup>
<!-- Dual-reference pattern (as in AIOrchestrator): the local sibling project wins when
present (solution builds); otherwise the NuGet package (1.* floating = always latest)
is restored — required for CI/standalone builds where the sibling sources are absent. -->
<ItemGroup>
<ProjectReference Include="..\AIOrchestrator\AIOrchestrator.csproj" Condition="Exists('..\AIOrchestrator\AIOrchestrator.csproj')" />
</ItemGroup>
<ItemGroup>
<!-- Nested test projects must not compile into the library (AGENT_TOOLS_GUIDE §5). -->
<Compile Remove="OfficeSupportTool.Harness\**\*.cs" />
</ItemGroup>
<ItemGroup>
<!-- Document templates (one per document type): the repo Assets/*.html are the source of
truth; they are copied into the output's assets/templates/ next to the plugin assembly
and packed into lib/<tfm>/assets/templates/ so PluginUpdater installs them with the
plugin. LLM-generated templates are saved in the same folder at runtime. -->
<None Update="Assets\*.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>assets/templates/%(Filename)%(Extension)</TargetPath>
<Pack>true</Pack>
<PackagePath>lib/$(TargetFramework)/assets/templates/%(Filename)%(Extension)</PackagePath>
</None>
<None Update="Assets\DESIGN-GUIDELINES.md">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>assets/design-guidelines.md</TargetPath>
<Pack>true</Pack>
<PackagePath>lib/$(TargetFramework)/assets/design-guidelines.md</PackagePath>
</None>
<None Update="Assets\ESSENTIAL-GUIDELINES.md">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>assets/essential-guidelines.md</TargetPath>
<Pack>true</Pack>
<PackagePath>lib/$(TargetFramework)/assets/essential-guidelines.md</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Graphene.AIOrchestrator" Version="1.*" />
<PackageReference Include="HtmlAgilityPack" Version="1.12.4" />
<PackageReference Include="HtmlToOpenXml.dll" Version="3.5.0" />
<!-- Svg.Skia 3.x: rasterizes the <template id="background"> SVG for the native page picture
background. Pinned to the 3.x line so SkiaSharp resolves to the HOST's 3.119.1 (the host
contract strips it from the plugin zip and provides the native libSkiaSharp on win/linux);
5.x would drag a conflicting SkiaSharp 4.148 native stack into the plugin. -->
<PackageReference Include="Svg.Skia" Version="3.0.0" />
</ItemGroup>
<ItemGroup>
<None Update="LICENSE.md">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
<None Update="README.md">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
</ItemGroup>
<!-- Date-based auto version + NuGet publishing, same mechanism as AIOrchestrator.
Local/VS: dotnet pack publishes with the NuGetApiKey env var; CI: publish.yml on master. -->
<Target Name="SetPackageVersion" DependsOnTargets="Build">
<PropertyGroup>
<PackageVersion>$(Version)</PackageVersion>
</PropertyGroup>
</Target>
<PropertyGroup>
<NuGetSource Condition="'$(NuGetSource)' == ''">https://api.nuget.org/v3/index.json</NuGetSource>
</PropertyGroup>
<Target Name="CleanOldNuGetPackages" BeforeTargets="GenerateNuspec">
<CreateItem Include="$(PackageOutputPath)*.nupkg">
<Output TaskParameter="Include" ItemName="_OldNupkg" />
</CreateItem>
<Delete Files="@(_OldNupkg)" />
</Target>
<Target Name="PublishPackageToNuGet" AfterTargets="Pack" Condition="'$(SkipNuGetPush)' != 'true'">
<Error Condition="'$(NuGetApiKey)' == ''" Text="NuGetApiKey env var not set: run `setx NuGetApiKey <key>` and restart Visual Studio." />
<CreateItem Include="$(PackageOutputPath)*.nupkg">
<Output TaskParameter="Include" ItemName="_NuGetPackageToPush" />
</CreateItem>
<Error Condition="'@(_NuGetPackageToPush)' == ''" Text="No package found in $(PackageOutputPath): pack produced no expected file." />
<Message Importance="High" Text="Publishing %(_NuGetPackageToPush.Identity) to $(NuGetSource) ..." />
<Exec Command="dotnet nuget push "%(_NuGetPackageToPush.Identity)" --api-key "$(NuGetApiKey)" --source "$(NuGetSource)" --skip-duplicate" />
</Target>
</Project>