|
6 | 6 | <Product>NAME</Product> |
7 | 7 | <Version>MAJOR.MINOR.PATCH</Version> |
8 | 8 | <Description>SUMMARY</Description> |
9 | | - <Description>SUMMARY</Description> |
10 | 9 | <OutputType>{Library|Exe}</OutputType> |
11 | 10 |
|
12 | 11 | - RECOMMENDED |
|
23 | 22 | <Deterministic>(DEPENDENT ON OUTPUT TYPE)</Deterministic> |
24 | 23 | <CopyLocalLockFileAssemblies>(DEPENDENT ON OUTPUT TYPE)</CopyLocalLockFileAssemblies> |
25 | 24 | <ProduceReferenceAssembly>(DEPENDENT ON OUTPUT TYPE)</ProduceReferenceAssembly> |
| 25 | + <PublishDir>bin\publish\$(RuntimeIdentifier)-$(Configuration.ToLower())\</PublishDir> |
26 | 26 |
|
27 | 27 | - STATIC OVERRIDABLE: |
28 | 28 | <Platforms>x64</Platforms> |
29 | 29 | <PlatformTarget>x64</PlatformTarget> |
30 | | - <TargetFramework>net7</TargetFramework> |
| 30 | + <TargetFramework>net9</TargetFramework> |
| 31 | + <PublishSingleFile>true</PublishSingleFile> |
31 | 32 |
|
32 | 33 | - SPECIAL: |
| 34 | + <OutputPath>bin\$(Configuration.ToLower())\$(RuntimeIdentifier.ToLower() || "portable")</OutputPath> |
33 | 35 | <Authors>VariableVixen[, $(Authors)]</Authors> |
34 | 36 | <ContinuousIntegrationBuild>(AUTOMATICALLY ENABLED ON KNOWN CI SYSTEMS)</ContinuousIntegrationBuild> |
35 | 37 | <DebugSymbols>(DEPENDENT ON BUILD CONFIGURATION)</DebugSymbols> |
|
42 | 44 |
|
43 | 45 | <PropertyGroup Condition=" '$(Product)' != '' "> |
44 | 46 | <AssemblyName Condition=" '$(AssemblyName)' == '' ">$(Product.Replace("-", "."))</AssemblyName> |
45 | | - <PackageId Condition=" '$(PackageId)' == '' ">$(Product.Replace("-", "."))</PackageId> |
| 47 | + <PackageId Condition=" '$(PackageId)' == '' ">$(Product.Replace("-", ".").Replace(" ", ""))</PackageId> |
46 | 48 | <Title Condition=" '$(Title)' == '' ">$(Product)</Title> |
47 | 49 | <PackageProjectUrl Condition=" '$(PackageProjectUrl)' == '' ">https://github.com/PrincessRTFM/$(Product)</PackageProjectUrl> |
48 | 50 | </PropertyGroup> |
|
55 | 57 | <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow> |
56 | 58 | <LangVersion>12</LangVersion> |
57 | 59 | <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> |
58 | | - <OutputPath>bin\$(Configuration)\</OutputPath> |
| 60 | + <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> |
59 | 61 | <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> |
60 | 62 | <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute> |
61 | 63 | <PublishRelease>true</PublishRelease> |
|
66 | 68 | <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild> |
67 | 69 | <ImplicitUsings>false</ImplicitUsings> |
68 | 70 | <NoWarn>CA1805,CA1852,CA1707,$(NoWarn)</NoWarn> |
| 71 | + <PathMap>$(SolutionDir)=./</PathMap> |
69 | 72 | </PropertyGroup> |
70 | 73 |
|
71 | 74 | <Choose> |
72 | | - <When Condition=" '$(Authors)' == '' "> |
| 75 | + <When Condition=" '$(RuntimeIdentifier)' == '' "> |
73 | 76 | <PropertyGroup> |
74 | | - <Authors>VariableVixen</Authors> |
| 77 | + <OutputPath>bin\$(Configuration.ToLower())\portable</OutputPath> |
75 | 78 | </PropertyGroup> |
76 | 79 | </When> |
77 | | - <When Condition=" ! $([System.Text.RegularExpressions.Regex]::IsMatch($(Authors.ToLower()), '\bvariablevixen\b')) "> |
| 80 | + <Otherwise> |
78 | 81 | <PropertyGroup> |
79 | | - <Authors>VariableVixen, $(Authors)</Authors> |
| 82 | + <OutputPath>bin\$(Configuration.ToLower())\$(RuntimeIdentifier.ToLower())</OutputPath> |
80 | 83 | </PropertyGroup> |
81 | | - </When> |
| 84 | + </Otherwise> |
82 | 85 | </Choose> |
83 | 86 |
|
84 | 87 | <PropertyGroup> |
| 88 | + <PublishSingleFile Condition=" '$(PublishSingleFile)' == '' ">true</PublishSingleFile> |
85 | 89 | <Copyright Condition=" '$(Copyright)' == '' ">Copyleft $(Authors)</Copyright> |
86 | 90 | <RepositoryUrl Condition=" '$(RepositoryUrl)' == '' ">$(PackageProjectUrl).git</RepositoryUrl> |
87 | 91 | <Platforms Condition=" '$(Platforms)' == '' ">x64</Platforms> |
88 | 92 | <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x64</PlatformTarget> |
89 | | - <TargetFramework Condition=" '$(TargetFramework)' == '' ">net7</TargetFramework> |
| 93 | + <TargetFramework Condition=" '$(TargetFramework)' == '' ">net9</TargetFramework> |
90 | 94 | <AssemblyVersion Condition=" '$(AssemblyVersion)' == '' ">$(Version)</AssemblyVersion> |
91 | 95 | <AssemblyFileVersion Condition=" '$(AssemblyFileVersion)' == '' ">$(AssemblyVersion)</AssemblyFileVersion> |
92 | | - <PathMap>$(SolutionDir)=./</PathMap> |
93 | 96 | </PropertyGroup> |
94 | 97 |
|
| 98 | + <PropertyGroup Condition=" '$(PublishDir)' == '' "> |
| 99 | + <PublishDir>bin\publish\$(RuntimeIdentifier)-$(Configuration.ToLower())\</PublishDir> |
| 100 | + </PropertyGroup> |
| 101 | + |
| 102 | + <Choose> |
| 103 | + <When Condition=" '$(Authors)' == '' "> |
| 104 | + <PropertyGroup> |
| 105 | + <Authors>VariableVixen</Authors> |
| 106 | + </PropertyGroup> |
| 107 | + </When> |
| 108 | + <When Condition=" ! $([System.Text.RegularExpressions.Regex]::IsMatch($(Authors.ToLower()), '\bvariablevixen\b')) "> |
| 109 | + <PropertyGroup> |
| 110 | + <Authors>VariableVixen, $(Authors)</Authors> |
| 111 | + </PropertyGroup> |
| 112 | + </When> |
| 113 | + </Choose> |
| 114 | + |
95 | 115 | <Choose> |
96 | 116 | <When Condition=" '$(OutputType.ToLower())' == 'library' "> |
97 | 117 | <PropertyGroup> |
|
109 | 129 | </Otherwise> |
110 | 130 | </Choose> |
111 | 131 |
|
112 | | - <PropertyGroup> |
113 | | - <!-- this is non-exhaustive, but includes the CI systems I'm aware of and will be updated as I discover more --> |
| 132 | + <PropertyGroup><!-- this is non-exhaustive, but includes the CI systems I'm aware of and will be updated as I discover more --> |
114 | 133 | <ContinuousIntegrationBuild Condition=" '$(GITHUB_ACTIONS)' == 'true' ">true</ContinuousIntegrationBuild> |
115 | 134 | <ContinuousIntegrationBuild Condition=" '$(TF_BUILD)' == 'true' ">true</ContinuousIntegrationBuild> |
116 | 135 | </PropertyGroup> |
|
0 commit comments