-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPresentationTool.csproj
More file actions
103 lines (103 loc) · 5.49 KB
/
Copy pathPresentationTool.csproj
File metadata and controls
103 lines (103 loc) · 5.49 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
<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.PresentationTool</PackageId>
<Version>$([System.DateTime]::Now.ToString("1.yy.MM.dd"))</Version>
<Description>HTML presentation agent tool for AIOrchestrator: LLM-driven self-contained deck creation and fixing.</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
<Copyright>Andrea Bruno</Copyright>
<RepositoryUrl>https://github.com/Graphene-Lab/PresentationTool</RepositoryUrl>
<PackageTags>agent;tool;presentation;html;deck;llm;automation</PackageTags>
<DefaultItemExcludes>$(DefaultItemExcludes);PresentationTool.Harness\bin\**;PresentationTool.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.PresentationTool" />
<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="PresentationTool.Harness\**\*.cs" />
</ItemGroup>
<ItemGroup>
<!-- Deck template shipped inside the plugin assembly (read at runtime via TemplateHtml). -->
<EmbeddedResource Include="Assets\template.html" />
</ItemGroup>
<ItemGroup>
<!-- Style background blocks (one per deck style): copied into the output's assets/
folder next to the plugin assemblies (same convention as the runtime-read plugin
assets) and packed into lib/<tfm>/assets/ so PluginUpdater installs them with the
plugin. Runtime lookup follows the style: Path.Combine(AppContext.BaseDirectory,
"assets", "<style>.bg"). -->
<None Update="Assets\*.bg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>assets/%(Filename)%(Extension)</TargetPath>
<Pack>true</Pack>
<PackagePath>lib/$(TargetFramework)/assets/%(Filename)%(Extension)</PackagePath>
</None>
<None Update="Assets\fix-content-size.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>assets/%(Filename)%(Extension)</TargetPath>
<Pack>true</Pack>
<PackagePath>lib/$(TargetFramework)/assets/%(Filename)%(Extension)</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Graphene.AIOrchestrator" Version="1.*" />
<PackageReference Include="HtmlAgilityPack" Version="1.12.4" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.*" />
</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>