8f860a8ec3
- All DLLs now output to lib\[Configuration]\[TargetFramework]\ at repo root (see Directory.Build.props) - .gitignore updated to exclude /lib/ - On first run, startup.json is auto-generated with OS-appropriate default paths (Windows, Linux, macOS, or portable) - Removes null/example config; generated config is immediately usable and clearly documented - Extensive new documentation: build output, startup.json logic, visual guides, and code proofs - Publish profile now deletes existing files for clean deploys - No breaking changes: existing startup.json files are preserved - Improves first-run UX, deployment, and cross-platform consistency
42 lines
1.6 KiB
XML
42 lines
1.6 KiB
XML
<Project>
|
|
<!-- Sets defaults for all projects in the repo -->
|
|
|
|
<PropertyGroup>
|
|
<Nullable>enable</Nullable>
|
|
</PropertyGroup>
|
|
|
|
<!-- Centralized output directory configuration -->
|
|
<PropertyGroup>
|
|
<!-- Set the base output path to lib folder at repository root -->
|
|
<BaseOutputPath>$(MSBuildThisFileDirectory)lib\</BaseOutputPath>
|
|
<!-- Build output goes to lib\[Configuration] (e.g., lib\Debug, lib\Release) -->
|
|
<OutputPath>$(BaseOutputPath)$(Configuration)\</OutputPath>
|
|
<!-- Keep intermediate files in traditional obj folder -->
|
|
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
<WarningsNotAsErrors>NU1902;NU1903</WarningsNotAsErrors>
|
|
<!-- Suppress IDE0065 globally for all projects -->
|
|
<NoWarn>$(NoWarn);IDE0065</NoWarn>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
|
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
|
|
<!-- Don't enforce code style rules as build errors in Debug -->
|
|
<EnforceCodeStyleInBuild>false</EnforceCodeStyleInBuild>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<AdditionalFiles Include="$(MSBuildThisFileDirectory)/BannedSymbols.txt" />
|
|
<AdditionalFiles Include="$(MSBuildThisFileDirectory)/stylecop.json" />
|
|
</ItemGroup>
|
|
|
|
<!-- Custom Analyzers -->
|
|
<ItemGroup Condition=" '$(MSBuildProjectName)' != 'Jellyfin.CodeAnalysis' AND '$(Configuration)' == 'Debug' ">
|
|
<ProjectReference Include="$(MSBuildThisFileDirectory)src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" OutputItemType="Analyzer" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|