-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSpreadsheetTool.csproj
More file actions
93 lines (83 loc) · 4.34 KB
/
Copy pathSpreadsheetTool.csproj
File metadata and controls
93 lines (83 loc) · 4.34 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
<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. The MSBuild
target that ships this plugin into the host's Tools/ folder forces
RuntimeIdentifier= empty (see AIOffice.csproj, BuildToolPlugins). -->
<PlatformTarget>AnyCPU</PlatformTarget>
<Papyrine_SponsorshipLicenseIgnored>true</Papyrine_SponsorshipLicenseIgnored>
<Configurations>Debug;Release;Test</Configurations>
<PackageId>Graphene.SpreadsheetTool</PackageId>
<Version>$([System.DateTime]::Now.ToString("1.yy.MM.dd"))</Version>
<Description>Spreadsheet (XLSX) agent tool for AIOrchestrator: open/create, cells, ranges, styles, charts, tables.</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
<Copyright>Andrea Bruno</Copyright>
<RepositoryUrl>https://github.com/Graphene-Lab/SpreadsheetTool</RepositoryUrl>
<PackageTags>agent;tool;spreadsheet;xlsx;llm;automation</PackageTags>
</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.SpreadsheetTool" />
<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>
<PackageReference Include="Graphene.AIOrchestrator" Version="1.*" />
</ItemGroup>
<!-- Nested test project (SpreadsheetTool.Tests) must NOT be compiled into this library:
the SDK default **/*.cs glob would otherwise include its sources, polluting the
plugin assembly. -->
<ItemGroup>
<Compile Remove="SpreadsheetTool.Tests\**\*.cs" />
</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>