Skip to content

Conversation

@ViktorHofer
Copy link
Member

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR performs a comprehensive cleanup and standardization of the MSBuild project files in the src/tasks directory. The changes simplify project configurations by leveraging SDK defaults, centralizing common settings, and restructuring project references for better maintainability.

Key changes:

  • Replaced explicit project references with a wildcard pattern (**\*.csproj) in tasks.proj, then selectively removing mobile-specific projects when not building for mobile targets
  • Introduced a new Directory.Build.props file to centrally enable nullable reference types across all task projects
  • Removed redundant property settings (OutputType, EnableDefaultCompileItems, TreatWarningsAsErrors, Nullable) that now default to appropriate values via SDK or Directory.Build.props

Reviewed changes

Copilot reviewed 19 out of 20 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/tasks/tasks.proj Refactored from explicit includes to wildcard includes with selective excludes based on build conditions; moved AssemblyStripper reference to top level
src/tasks/Directory.Build.props New file that enables nullable reference types by default for all task projects
src/tasks/Directory.Build.targets Reordered imports to ensure parent Directory.Build.targets is imported first
src/tasks/installer.tasks/installer.tasks.csproj Changed TargetFrameworks to TargetFramework (singular); disabled nullable explicitly
src/tasks/WorkloadBuildTasks/WorkloadBuildTasks.csproj Removed Nullable property (now inherited); removed .NET Framework packaging logic; added whitespace
src/tasks/WasmBuildTasks/WasmBuildTasks.csproj Removed OutputType and Nullable properties; added whitespace
src/tasks/WasmAppBuilder/WasmAppBuilder.csproj Removed Nullable property; consolidated NoWarn directives; fixed RuntimeFlavor comparison from 'mono' to 'Mono'; reformatted FilesToPackage items
src/tasks/TestExclusionListTasks/TestExclusionListTasks.csproj Removed redundant properties; removed explicit Compile include for PatchExclusionListInApks.cs (auto-included by SDK); fixed project reference path; added whitespace
src/tasks/README.md Updated description to clarify purpose and relationship with arcade repository
src/tasks/MonoTargetsTasks/MonoTargetsTasks.csproj Removed EnableDefaultCompileItems and Nullable properties; updated AssemblyStripper reference path; removed explicit Compile includes (auto-discovered); updated CoreLibSharedDir path usage
src/tasks/MobileBuildTasks/MobileBuildTasks.csproj Removed Nullable property; updated CoreLibSharedDir path usage; reformatted FilesToPackage items; added whitespace
src/tasks/Microsoft.NET.WebAssembly.Webcil/Microsoft.NET.WebAssembly.Webcil.csproj Removed EnableDefaultItems and Nullable properties; removed blank line
src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj Consolidated NoWarn directives; changed Nullable to 'annotations'; removed ItemDefinitionGroup; removed trailing whitespace
src/tasks/LibraryBuilder/LibraryBuilder.csproj Removed redundant properties; added DefaultExcludesInProjectFolder for Templates; removed explicit Compile include for LibraryBuilder.cs
src/tasks/Crossgen2Tasks/Crossgen2Tasks.csproj Removed OutputType and TreatWarningsAsErrors properties; reformatted Content items for better readability
src/tasks/AssemblyStripper/AssemblyStripper.csproj Removed EnableDefaultCompileItems and explicit Compile include (file moved from MonoTargetsTasks/ILStrip/AssemblyStripper)
src/tasks/AssemblyStripper/AssemblyStripper.cs File moved/added with AssemblyStripper implementation
src/tasks/AppleAppBuilder/AppleAppBuilder.csproj Removed redundant properties; added DefaultExcludesInProjectFolder for Templates; removed explicit Compile includes; reformatted FilesToPackage
src/tasks/AotCompilerTask/MonoAOTCompiler.csproj Removed redundant properties; improved .NET Framework detection using MSBuild function; grouped .NET Framework-specific compile items; reformatted FilesToPackage
src/tasks/AndroidAppBuilder/AndroidAppBuilder.csproj Removed redundant properties; added DefaultExcludesInProjectFolder for Templates; removed explicit Compile includes; reformatted FilesToPackage

ViktorHofer and others added 2 commits December 15, 2025 11:49
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@ViktorHofer ViktorHofer enabled auto-merge (squash) December 15, 2025 12:53
@ViktorHofer ViktorHofer merged commit fa770b5 into main Dec 15, 2025
160 checks passed
@ViktorHofer ViktorHofer deleted the CleanupTasks branch December 15, 2025 14:32
@github-actions github-actions bot locked and limited conversation to collaborators Jan 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants