-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
147 lines (114 loc) · 6.5 KB
/
Directory.Build.props
File metadata and controls
147 lines (114 loc) · 6.5 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<Project>
<!-- Default TFMs to use when building and packaging -->
<PropertyGroup>
<!-- TFM used when coding in Visual Studio and when creating templates -->
<!-- All 'template.json' should provide a 'choice' for the default TFM -->
<DefaultTargetFramework Condition="'$(DefaultTargetFramework)' == ''">net10.0</DefaultTargetFramework>
<!-- TFMs used to build the abstractions and modules, by convention the default TFM is at the first position -->
<!-- In a cross-targeting build, some assets are only copied on the first TFM, by convention the default TFM -->
<CommonTargetFrameworks Condition="'$(CommonTargetFrameworks)' == ''">net10.0</CommonTargetFrameworks>
</PropertyGroup>
<!-- Detect if the solution is opened in VS to limit the TFMs that are analyzed by Roslyn for performance reasons -->
<PropertyGroup Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(BuildingByReSharper)' == 'true'">
<CommonTargetFrameworks>$(DefaultTargetFramework)</CommonTargetFrameworks>
</PropertyGroup>
<!-- Default TFMs to use when building and packaging -->
<PropertyGroup>
<TargetFrameworks>$(CommonTargetFrameworks)</TargetFrameworks>
<ImplicitUsings>enable</ImplicitUsings>
<Authors>Mike Alhayek</Authors>
<Company>CrestApps</Company>
<PackageIcon>CrestAppsLogo.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>
<IsPackable>true</IsPackable>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryUrl>https://github.com/CrestApps/CrestApps.Core</RepositoryUrl>
<CompanyUrl>https://crestapps.com</CompanyUrl>
<CrestAppsDescription>CrestApps.Core provides the shared, framework-agnostic CrestApps libraries for AI, orchestration, chat, templating, document processing, storage, and MVC sample applications built on ASP.NET Core.</CrestAppsDescription>
<PackageTags>CrestApps-Core</PackageTags>
</PropertyGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)/CrestAppsLogo.png">
<Pack>True</Pack>
<PackagePath>CrestAppsLogo.png</PackagePath>
</None>
<None Include="$(MSBuildThisFileDirectory)/src/README.md">
<Pack>True</Pack>
<PackagePath>README.md</PackagePath>
</None>
</ItemGroup>
<PropertyGroup>
<VersionPrefix>1.0.0</VersionPrefix>
<!-- VersionSuffixBase is the label passed in from the command line (e.g. "preview").
VersionSuffix is assembled here so the build number is always appended when provided.
Passing /p:VersionSuffix=... on the command line would create a global MSBuild property
that project-file conditionals cannot override, which is why an intermediate property
is used instead. -->
<VersionSuffix Condition="'$(VersionSuffixBase)' != '' AND '$(BuildNumber)' != ''">$(VersionSuffixBase)-$(BuildNumber)</VersionSuffix>
<VersionSuffix Condition="'$(VersionSuffixBase)' != '' AND '$(BuildNumber)' == ''">$(VersionSuffixBase)</VersionSuffix>
<InformationalVersion></InformationalVersion>
</PropertyGroup>
<PropertyGroup>
<!-- https://aka.ms/vs-build-acceleration -->
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
<RestoreUseStaticGraphEvaluation Condition="'$(RestoreUseStaticGraphEvaluation)' == ''">true</RestoreUseStaticGraphEvaluation>
</PropertyGroup>
<PropertyGroup Label="Build hygiene">
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
</PropertyGroup>
<PropertyGroup Label="Reproducible build">
<Deterministic>true</Deterministic>
<ContinuousIntegrationBuild Condition="'$(GITHUB_ACTIONS)' == 'true' OR '$(TF_BUILD)' == 'true' OR '$(ContinuousIntegrationBuild)' == 'true'">true</ContinuousIntegrationBuild>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
</PropertyGroup>
<ItemGroup Condition="'$(IsPackable)' == 'true' AND '$(IsTestProject)' != 'true'">
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
</ItemGroup>
<PropertyGroup Label="Analysis rules">
<AnalysisLevel>latest-Recommended</AnalysisLevel>
<!-- Member is explicitly initialized to its default value -->
<NoWarn>$(NoWarn);CA1805</NoWarn>
<!-- The behavior could vary based on the current user's locale setting -->
<NoWarn>$(NoWarn);CA1304;CA1305;CA1310</NoWarn>
<!-- Specify a culture or use an invariant version to avoid implicit dependency on current culture -->
<NoWarn>$(NoWarn);CA1311</NoWarn>
<!-- Do not declare static members on generic types -->
<NoWarn>$(NoWarn);CA1000</NoWarn>
<!-- For improved performance, use the LoggerMessage delegates -->
<NoWarn>$(NoWarn);CA1848</NoWarn>
<!-- Identifier contains type name -->
<NoWarn>$(NoWarn);CA1720</NoWarn>
<!-- Do not declare visible instance fields -->
<NoWarn>$(NoWarn);CA1051</NoWarn>
<!-- Avoid using cref tags with a prefix -->
<NoWarn>$(NoWarn);CA1200</NoWarn>
<!-- Rename type name X so that it does not end in 'Delegate', 'EventHandler', 'Permission' etc -->
<NoWarn>$(NoWarn);CA1711</NoWarn>
<!-- Parameter name differs from original overriden implemented name -->
<NoWarn>$(NoWarn);CA1725</NoWarn>
<!-- Reserved keyword -->
<NoWarn>$(NoWarn);CA1716</NoWarn>
<!-- Type owns disposable field(s) -->
<NoWarn>$(NoWarn);CA1001</NoWarn>
<!-- Exception type is not sufficiently specific -->
<NoWarn>$(NoWarn);CA2201</NoWarn>
<!-- Remove the underscores from member name -->
<NoWarn>$(NoWarn);CA1707</NoWarn>
<!-- Use PascalCase for named placeholders in the logging message template -->
<NoWarn>$(NoWarn);CA1727</NoWarn>
<!-- CA1861: Prefer 'static readonly' fields over constant array arguments if the called method is called repeatedly and is not mutating the passed array -->
<NoWarn>$(NoWarn);CA1861</NoWarn>
<!-- NU1605: NuGet Warning NU1605 -->
<NoWarn>$(NoWarn);NU1605</NoWarn>
<!-- NU5104: A stable release of a package should not have a prerelease dependency.
CrestApps.Core 1.0.0 ships against .NET 10 preview ecosystem packages (notably
Microsoft.Extensions.DataIngestion, A2A.AspNetCore, Lucene.Net.Analysis.Common)
that are still pre-release at the time of this release. The 1.0.0 release notes
document this explicitly. Re-enable this warning once those upstream packages ship
stable releases. -->
<NoWarn>$(NoWarn);NU5104</NoWarn>
<NoWarn>$(NoWarn),1573,1591,1712</NoWarn>
</PropertyGroup>
</Project>