Skip to content

Commit 169c205

Browse files
committed
Embeds icon into NuGet packages
Updates NuGet packages to embed an icon, instead of referencing an icon URL. This change improves the NuGet package display and provides a more consistent user experience. It removes the need to download the icon separately and ensures the icon is always available, even if the URL becomes invalid.
1 parent 4de685b commit 169c205

File tree

5 files changed

+6
-29
lines changed

5 files changed

+6
-29
lines changed

build/BuildNugets.ps1

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,6 @@ $year = [System.DateTime]::Now.ToString("yyyy")
88
$copyright = "Copyright $year James Willock/Mulholland Software Ltd"
99
$configuration = "Release"
1010

11-
function Update-Icon {
12-
param (
13-
[string]$Path
14-
)
15-
$Path = Resolve-Path $Path
16-
[xml] $xml = Get-Content $Path
17-
[string] $iconUrl = $xml.package.metadata.iconUrl;
18-
if (![string]::IsNullOrWhiteSpace($iconUrl) -and [string]::IsNullOrWhiteSpace($xml.package.metadata.icon)) {
19-
$nugetIconFile = "$($xml.package.metadata.id).Icon.png";
20-
$nugetIconPath = Join-Path (Split-Path $Path -Parent) $nugetIconFile
21-
Write-Host "Downloading icon from $iconUrl to $nugetIconPath"
22-
Invoke-WebRequest $iconUrl -OutFile "$nugetIconPath"
23-
$files = $xml.SelectSingleNode("/package/files")
24-
$iconFile = $xml.CreateElement("file")
25-
$iconFile.SetAttribute("src", "$nugetIconFile")
26-
$iconFile.SetAttribute("target", "images\")
27-
$files.AppendChild($iconFile) | Out-Null
28-
29-
$iconElement = $xml.CreateElement("icon")
30-
$iconElement.InnerText = "images\$nugetIconFile"
31-
$xml.package.metadata.AppendChild($iconElement) | Out-Null
32-
}
33-
$xml.Save($Path)
34-
}
35-
3611
function Update-Versions {
3712
param (
3813
[string]$Path
@@ -58,7 +33,6 @@ function New-Nuget {
5833
)
5934

6035
$NuSpecPath = Resolve-Path $NuSpecPath
61-
Update-Icon "$NuSpecPath"
6236
nuget pack "$NuSpecPath" -version "$Version" -Properties "Configuration=$configuration;Copyright=$copyright"
6337
}
6438

build/MaterialDesign.Icon.png

2.13 KB
Loading

src/MaterialDesignColors.Wpf/MaterialDesignColors.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<owners>James Willock</owners>
99
<license type="expression">MIT</license>
1010
<projectUrl>https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit</projectUrl>
11-
<iconUrl>http://materialdesigninxaml.net/images/MD4XAML32.png</iconUrl>
11+
<icon>images\MaterialDesign.Icon.png</icon>
1212
<requireLicenseAcceptance>false</requireLicenseAcceptance>
1313
<description>ResourceDictionary instances containing standard Google Material Design swatches,
1414
for inclusion in a XAML application.</description>
@@ -23,6 +23,7 @@
2323
</dependencies>
2424
</metadata>
2525
<files>
26+
<file src="..\..\build\MaterialDesign.Icon.png" target="images\" />
2627
<file src="..\..\README.md" target="docs\" />
2728
<file src="bin\$configuration$\net462\MaterialDesignColors.*" target="lib\net462"
2829
exclude="**\*.json" />

src/MaterialDesignThemes.MahApps/MaterialDesignThemes.MahApps.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<owners>James Willock</owners>
99
<license type="expression">MIT</license>
1010
<projectUrl>https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit</projectUrl>
11-
<iconUrl>http://materialdesigninxaml.net/images/MD4XAML32.png</iconUrl>
11+
<icon>images\MaterialDesign.Icon.png</icon>
1212
<requireLicenseAcceptance>false</requireLicenseAcceptance>
1313
<description>ResourceDictionary instances containing Material Design templates and styles for
1414
WPF controls in the MahApps library.</description>
@@ -30,6 +30,7 @@
3030
</dependencies>
3131
</metadata>
3232
<files>
33+
<file src="..\..\build\MaterialDesign.Icon.png" target="images\" />
3334
<file src="..\..\README.md" target="docs\" />
3435
<file src="bin\$configuration$\net462\MaterialDesignThemes.MahApps.*" target="lib\net462"
3536
exclude="**\*.json" />

src/MaterialDesignThemes.Wpf/MaterialDesignThemes.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<owners>James Willock</owners>
99
<license type="expression">MIT</license>
1010
<projectUrl>https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit</projectUrl>
11-
<iconUrl>http://materialdesigninxaml.net/images/MD4XAML32.png</iconUrl>
11+
<icon>images\MaterialDesign.Icon.png</icon>
1212
<requireLicenseAcceptance>false</requireLicenseAcceptance>
1313
<description>ResourceDictionary instances containing Material Design templates and styles for
1414
WPF controls in .NET.</description>
@@ -28,6 +28,7 @@
2828
</dependencies>
2929
</metadata>
3030
<files>
31+
<file src="..\..\build\MaterialDesign.Icon.png" target="images\" />
3132
<file src="..\..\README.md" target="docs\" />
3233
<file src="bin\$configuration$\net462\MaterialDesignThemes.Wpf.*"
3334
target="lib\net462" exclude="**\*.json" />

0 commit comments

Comments
 (0)