diff --git a/Build-Toolkit-Components.ps1 b/Build-Toolkit-Components.ps1 index d797d5df..5b3bd3cc 100644 --- a/Build-Toolkit-Components.ps1 +++ b/Build-Toolkit-Components.ps1 @@ -15,7 +15,7 @@ Specifies the date for versioning in 'YYMMDD' format. The default value is the current date. .PARAMETER PreviewVersion - Specifies the preview version to use if packaging is enabled. Appended with a dash after the version number (formatted Version-PreviewVersion). This parameter is required when NupkgOutput is supplied. + Specifies the preview version to use if packaging is enabled. Appended with a dash after the version number (formatted Version-PreviewVersion). This parameter is optional. .PARAMETER NupkgOutput Specifies the output directory for .nupkg files. This parameter is optional. When supplied, the components will also be packed and nupkg files will be output to the specified directory. @@ -114,11 +114,6 @@ if ($ExcludeComponents) { $Components = $Components | Where-Object { $_ -notin $ExcludeComponents } } -# Check if NupkgOutput is supplied without PreviewVersion -if ($NupkgOutput -and -not $PreviewVersion) { - throw "PreviewVersion is required when NupkgOutput is supplied." -} - # Use the specified MultiTarget TFM and WinUI version & $PSScriptRoot\MultiTarget\UseTargetFrameworks.ps1 $MultiTargets & $PSScriptRoot\MultiTarget\UseUnoWinUI.ps1 $WinUIMajorVersion diff --git a/Build-Toolkit-Gallery.ps1 b/Build-Toolkit-Gallery.ps1 index b08abe47..a6f96cb6 100644 --- a/Build-Toolkit-Gallery.ps1 +++ b/Build-Toolkit-Gallery.ps1 @@ -99,8 +99,7 @@ if ($ExcludeComponents) { $Components = $Components | Where-Object { $_ -notin $ExcludeComponents } } -# Certain Components are required to build the gallery app. -# Add them if not already included. +# Certain ProjectReferences should always be generated (are required to build gallery) if csproj is available. if ($Components -notcontains 'SettingsControls') { $Components += 'SettingsControls' } diff --git a/MultiTarget/GenerateAllProjectReferences.ps1 b/MultiTarget/GenerateAllProjectReferences.ps1 index 1cca529e..8ccf4732 100644 --- a/MultiTarget/GenerateAllProjectReferences.ps1 +++ b/MultiTarget/GenerateAllProjectReferences.ps1 @@ -30,8 +30,16 @@ foreach ($componentName in $Components) { continue; } + # Don't generate project reference if component isn't available + if (!(Test-Path "$PSScriptRoot/../../components/$componentName/")) { + continue; + } + # Find all components source csproj (when wildcard), or find specific component csproj by name. foreach ($componentPath in Get-Item "$PSScriptRoot/../../components/$componentName/") { + $componentName = $componentPath.BaseName; + Write-Output "Generating project references for component $componentName at $componentPath"; + # Find source and sample csproj files $componentSourceCsproj = Get-ChildItem $componentPath/src/*.csproj -ErrorAction SilentlyContinue; $componentSampleCsproj = Get-ChildItem $componentPath/samples/*.csproj -ErrorAction SilentlyContinue;