Repository navigation
Expand file tree
/
Copy pathMapTool.csproj
More file actions
92 lines (82 loc) · 4.36 KB
/
Copy pathMapTool.csproj
File metadata and controls
92 lines (82 loc) · 4.36 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
<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.MapTool</PackageId>
<Version>$([System.DateTime]::Now.ToString("1.yy.MM.dd"))</Version>
<Description>Map lookups agent tool for AIOrchestrator: address geocoding, places of interest around a location, travel routes — OpenStreetMap services (Nominatim, Overpass, OSRM).</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
<Copyright>Andrea Bruno</Copyright>
<RepositoryUrl>https://github.com/Graphene-Lab/MapTool</RepositoryUrl>
<PackageTags>agent;tool;maps;geocoding;poi;routing;openstreetmap;llm;automation</PackageTags>
<DefaultItemExcludes>$(DefaultItemExcludes);MapTool.Harness\bin\**;MapTool.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.MapTool" />
<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 projects must NOT compile into this library: the SDK default **/*.cs
glob would otherwise include their sources (duplicate Main + tool types),
polluting the plugin assembly. -->
<ItemGroup>
<Compile Remove="MapTool.Harness\**\*.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 tag. -->
<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>