forked from specklesystems/speckle-sharp
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDirectory.Build.props
101 lines (93 loc) · 4.33 KB
/
Directory.Build.props
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
<?xml version="1.0" encoding="utf-8"?>
<Project>
<!--
Speckle-sharp main Directory.Build.props file
This file gets automatically imported by every project in the repo.
The import happens before any information in the .csproj, which means that each project
can override these properties when necessary.
It is intended to hold any common information shared by all (or most) projects in the repository.
-->
<PropertyGroup Label="Company Info">
<Authors>Speckle</Authors>
<Company>Speckle</Company>
<Copyright>Copyright (c) AEC Systems Ltd</Copyright>
</PropertyGroup>
<PropertyGroup Label="General Config">
<LangVersion>11</LangVersion>
<!-- Code quality -->
<EnableNetAnalyzers>true</EnableNetAnalyzers>
<AnalysisLevel>latest-AllEnabledByDefault</AnalysisLevel>
<SatelliteResourceLanguages>none</SatelliteResourceLanguages>
<!-- Ignore some warnings for now -->
<NoWarn>
<!--XML comment-->
CS1591;CS1573;CS1572;CS1570;CS1587;CS1574;
CS1711;CS1734;
<!--Nullability-->
CS8618;CS8602;CS8600;
CS1998; IDE0007; CS0618;
CA1054;
<!-- Globalization rules disabled -->
CA1303;CA1304;CA1305;CA1307;CA1308;CA1309;CA1310;CA1311;CA2101;
NU1701;
$(NoWarn)
</NoWarn>
<WarningsAsErrors>
<!--Net6 default enabled analysers-->
CA1416; CA1417; CA1418; CA1831; CA2013; CA2014; CA2015; CA2017;
CA2018; CA2200; CA2252; CA2247; CA2255; CA2256; CA2257; CA2258;
<!--Net7 default enabled analysers-->
CA1420; CA1422; CA2259; CA2260;
<!--Security analysers -->
CA2100; CA2119; CA2153; CA2300; CA2301; CA2302; CA2305;
CA2310; CA2311; CA2312; CA2315; CA2321; CA2322; CA2326; CA2327;
CA2328; CA2329; CA2330; CA2350; CA2351; CA2352; CA2353; CA2354;
CA2355; CA2356; CA2361; CA2362; CA3001; CA3002; CA3003; CA3004;
CA3006; CA3007; CA3008; CA3009; CA3010; CA3011; CA3012; CA3061;
CA3076; CA3077; CA3147; CA5350; CA5351; CA5358; CA5359;
CA5360; CA5361; CA5362; CA5363; CA5364; CA5365; CA5366; CA5367;
CA5368; CA5370; CA5371; CA5372; CA5373; CA5374; CA5375;
CA5376; CA5377; CA5378; CA5379; CA5380; CA5381; CA5382; CA5383;
CA5384; CA5385; CA5386; CA5387; CA5388; CA5389; CA5390; CA5391;
CA5392; CA5393; CA5395; CA5396; CA5397; CA5398; CA5399;
CA5400; CA5401; CA5402; CA5403; CA5404; CA5405
<!-- The following security anaysers are ommited for the listed reasons -->
<!--"CA5394: Do not use insecure randomness" - random number generators used for non cryptographic usecases-->
<!--"CA2109: Review visible event handlers" - threat has not existed since net4.5-->
<!--"CA3075: Insecure DTD Processing" - we assume loaded XML is trusted-->
<!--"CA5369: Use XmlReader for Deserialize" - we assume loaded XML is trusted-->
</WarningsAsErrors>
<!-- False if running on CI, will prevent copying of files to local folders -->
<IsDesktopBuild Condition="'$(IsDesktopBuild)' == ''">true</IsDesktopBuild>
<IsPackable>false</IsPackable>
</PropertyGroup>
<PropertyGroup Label="Package Config">
<!-- Version info -->
<Version Condition="$(Version) == ''">1.0.0</Version>
<FileVersion Condition="$(FileVersion) == ''">1.0.0.0000</FileVersion>
<AssemblyVersion Condition="$(AssemblyVersion) == ''">$(Version)</AssemblyVersion>
<!-- Package info -->
<PackageVersion Condition="$(PackageVersion) == ''">$(Version)</PackageVersion>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageTags>speckle</PackageTags>
<PackageProjectUrl>https://speckle.systems/</PackageProjectUrl>
<PackageIcon>logo.png</PackageIcon>
</PropertyGroup>
<PropertyGroup Label="Repo Info">
<RepositoryUrl>https://github.com/specklesystems/speckle-sharp</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<!-- Expose the repository root to all projects -->
<RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
</PropertyGroup>
<ItemGroup>
<!-- This file contains the configuration for some analyzer warnings, such as cyclomatic
complexity threshold -->
<AdditionalFiles Include="$(RepositoryRoot)CodeMetricsConfig.txt"/>
<None
Condition="'$(IsPackable)' == 'true'"
Include="$(RepositoryRoot)logo.png"
Pack="true"
PackagePath=""
Visible="false"/>
</ItemGroup>
</Project>