npc-clients-csharp/GumYum.NPC.SDK.csproj

83 lines
No EOL
4 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0;net8.0;netstandard2.0</TargetFrameworks>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<!-- Package Information -->
<PackageId>GumYum.NPC.SDK</PackageId>
<Title>GumYum NPC SDK</Title>
<Version>0.1.0</Version>
<Authors>GumYum NPC API Team</Authors>
<Company>GumYum</Company>
<Description>C# SDK for GumYum NPC API - Cross-engine AI-powered dialogue system for Unity, Godot, and .NET games</Description>
<Copyright>Copyright © 2024 GumYum</Copyright>
<!-- Repository Information -->
<RepositoryUrl>https://github.com/gumyum/npc-api</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<ProjectUrl>https://docs.gumyum.com/sdk/csharp</ProjectUrl>
<PackageProjectUrl>https://docs.gumyum.com/sdk/csharp</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<!-- Package Tags -->
<PackageTags>gamedev;npc;ai;dialogue;unity;godot;csharp;sdk</PackageTags>
<PackageReleaseNotes>Initial release of GumYum NPC SDK for C#/.NET</PackageReleaseNotes>
<!-- Documentation -->
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
<!-- Unity Compatibility -->
<DefineConstants Condition="'$(TargetFramework)' == 'netstandard2.0'">UNITY_COMPATIBLE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<!-- Core Dependencies -->
<PackageReference Include="System.Text.Json" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
<!-- Unity Compatibility (netstandard2.0) -->
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.4" Condition="'$(TargetFramework)' == 'netstandard2.0'" />
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" Condition="'$(TargetFramework)' == 'netstandard2.0'" />
</ItemGroup>
<ItemGroup>
<!-- Development Dependencies -->
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" PrivateAssets="All" />
<PackageReference Include="xunit" Version="2.6.1" PrivateAssets="All" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3" PrivateAssets="All" />
<PackageReference Include="Moq" Version="4.20.69" PrivateAssets="All" />
<PackageReference Include="FluentAssertions" Version="6.12.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<!-- Unity Package Files -->
<None Include="Unity\package.json" Pack="true" PackagePath="Unity\" />
<None Include="Unity\README.md" Pack="true" PackagePath="Unity\" />
<None Include="Unity\CHANGELOG.md" Pack="true" PackagePath="Unity\" />
<None Include="Unity\Runtime\**\*.cs" Pack="true" PackagePath="Unity\Runtime\" />
<None Include="Unity\Runtime\**\*.asmdef" Pack="true" PackagePath="Unity\Runtime\" />
<None Include="Unity\Editor\**\*.cs" Pack="true" PackagePath="Unity\Editor\" />
<None Include="Unity\Editor\**\*.asmdef" Pack="true" PackagePath="Unity\Editor\" />
<None Include="Unity\Samples~\**\*" Pack="true" PackagePath="Unity\Samples~\" />
</ItemGroup>
<ItemGroup>
<!-- Example and Documentation Files -->
<None Include="Examples\**\*.cs" Pack="true" PackagePath="Examples\" />
<None Include="README.md" Pack="true" PackagePath="" />
<None Include="CHANGELOG.md" Pack="true" PackagePath="" />
</ItemGroup>
<Target Name="PrepareUnityPackage" BeforeTargets="Build">
<!-- Copy built DLLs to Unity package structure -->
<MakeDir Directories="Unity\Runtime\Plugins\" />
<Copy SourceFiles="$(OutputPath)$(AssemblyName).dll" DestinationFolder="Unity\Runtime\Plugins\" Condition="Exists('$(OutputPath)$(AssemblyName).dll')" />
</Target>
</Project>