-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
56 lines (52 loc) · 3.67 KB
/
Copy pathDirectory.Build.props
File metadata and controls
56 lines (52 loc) · 3.67 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
<Project>
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<!-- TreatWarningsAsErrors only for src projects, not tests. Match on the project name
(which contains ".Tests") rather than a path fragment so the condition is correct on
both Windows ('\tests\') and Linux/macOS ('/tests/') — e.g. under CI. -->
<PropertyGroup Condition="!$(MSBuildProjectName.Contains('.Tests'))">
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<!-- Multi-target the publishable src/ libraries: every dependency they reference (Neo4j.Driver,
Microsoft.Extensions.AI.Abstractions, Microsoft.Agents.AI.Abstractions, Microsoft.SemanticKernel,
ModelContextProtocol) ships net8.0 and net10.0 binaries at the exact pinned versions used here
(OpenTelemetry.Api 1.15.3 has no net10.0-specific asset but falls back to its netstandard2.0 build,
which builds and runs cleanly under net10.0). net8.0 costs nothing to add and lets consumers on the
still-widely-deployed .NET 8 LTS use the library without adopting a newer runtime; net10.0 keeps
pace with the newest release. Verified with real builds and executed tests on all three TFMs, not
just compiled. Scoped the same way as the packaging metadata below, plus excluding the two
non-packable tools/ console apps (Cli, TckBridge), which stay single-targeted. -->
<PropertyGroup Condition="$(MSBuildProjectName.StartsWith('AgentMemory')) and !$(MSBuildProjectName.Contains('.Tests')) and !$(MSBuildProjectName.Contains('.Sample')) and '$(MSBuildProjectName)' != 'AgentMemory.Cli' and '$(MSBuildProjectName)' != 'AgentMemory.TckBridge'">
<TargetFramework></TargetFramework>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>
<!-- Shared NuGet packaging metadata for the publishable src/ libraries. Scoped by project name
(test projects contain ".Tests", samples contain ".Sample") so it is correct cross-platform
and never leaks into non-published projects. Per-package Description/PackageTags live in each
.csproj. NuGet package IDs default to the (already de-Neo4j-renamed) project names. -->
<PropertyGroup Condition="$(MSBuildProjectName.StartsWith('AgentMemory')) and !$(MSBuildProjectName.Contains('.Tests')) and !$(MSBuildProjectName.Contains('.Sample'))">
<Version>1.2.0</Version>
<Authors>Jose Luis Latorre Millas</Authors>
<Company>Jose Luis Latorre Millas</Company>
<Product>AgentMemory for .NET</Product>
<Copyright>Copyright © Jose Luis Latorre Millas</Copyright>
<PackageProjectUrl>https://github.com/joslat/agent-memory-dotnet</PackageProjectUrl>
<RepositoryUrl>https://github.com/joslat/agent-memory-dotnet</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>logoIcon.png</PackageIcon>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>
<ItemGroup Condition="$(MSBuildProjectName.StartsWith('AgentMemory')) and !$(MSBuildProjectName.Contains('.Tests')) and !$(MSBuildProjectName.Contains('.Sample'))">
<None Include="$(MSBuildThisFileDirectory)README.md" Pack="true" PackagePath="\" Visible="false" />
<None Include="$(MSBuildThisFileDirectory)resources\logoIcon.png" Pack="true" PackagePath="\" Visible="false" />
</ItemGroup>
</Project>