Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
afb438c
feat: Package Icon
workgroupengineering Jul 22, 2023
d81e013
Update CI-Windows.yml
RobertWildgoose May 28, 2024
2ebf8c9
Update CI-Windows.yml
RobertWildgoose May 28, 2024
6a0c64a
Update CI-Windows.yml
RobertWildgoose May 28, 2024
4d9475f
Update CI-Windows.yml
RobertWildgoose May 28, 2024
00f46c4
Update CI-Windows.yml
RobertWildgoose May 28, 2024
fb76b83
Update CI-Windows.yml
RobertWildgoose May 28, 2024
a57807b
Update Pipeliens to support Android 29 and JDK 11
RobertWildgoose May 28, 2024
d1dc611
Migrate to .NET MAUI 8.0
Aug 9, 2024
d525b45
Merge branch 'pr/333' into maui-8-updates
follesoe Oct 16, 2024
38737cc
Merge branch 'pr/360' into maui-8-updates
follesoe Oct 16, 2024
611af64
Merge remote-tracking branch 'lucferrsan/main' into maui-8-updates
follesoe Oct 17, 2024
6eb87d3
Add Windows target for MAUI
follesoe Oct 17, 2024
4a7dc79
Add prop to skip MAUI implicit pack ref validation
follesoe Oct 17, 2024
ae9b053
Add command to build MAUI lib and sample app
follesoe Oct 17, 2024
403a6bb
Update MAUI sample app to build for .NET 8
follesoe Oct 17, 2024
633806b
Add solution file for MAUI related projects
follesoe Oct 17, 2024
92fbbe1
Bump version number
follesoe Oct 17, 2024
2b44950
Add workflow to build and publish MAUI package
follesoe Oct 17, 2024
4112982
Fix error in builder name
follesoe Oct 17, 2024
bbef4b4
Update action pushing to GitHub package repo
follesoe Oct 17, 2024
2d0f365
Fix path in publish command
follesoe Oct 17, 2024
b2aa75b
Fix path to Windows backslash
follesoe Oct 17, 2024
7a8a1fb
Add run number to the version number
follesoe Oct 17, 2024
84e3269
Set VersionPrelease variable during pack
follesoe Oct 18, 2024
27d00ea
Update package info
follesoe Oct 18, 2024
91cb1dd
Remove license file and use props from directory
follesoe Oct 18, 2024
10f071b
Try and set version number correctly during build
follesoe Oct 18, 2024
6ed0030
Use GitHub run number
follesoe Oct 18, 2024
6393b1b
Build and publish Microcharts.Core package
follesoe Oct 18, 2024
a2b47e8
Add Microcharts.Samples to MAUI solution
follesoe Feb 10, 2025
949dd04
Remove obsolete name space in sample app
follesoe Feb 10, 2025
13938f4
Update to dotnet 9
follesoe Feb 10, 2025
41e5ec6
Update GitHub action
follesoe Feb 10, 2025
79f8c70
Delete Xamarin.Forms package
follesoe Feb 10, 2025
beec3ba
Delete Uno, Avalonia and Eto support
follesoe Feb 10, 2025
f45a4a4
Remove deleted projects from solution file
follesoe Feb 10, 2025
cfb4041
Bump version to 2.0.0
follesoe Feb 10, 2025
883f2b9
Add name to contributor list
follesoe Feb 10, 2025
e1afd83
Update to SkiaSharp v3.116.1
follesoe Feb 10, 2025
d5ca5bf
Update to latest version of Maui
follesoe Feb 10, 2025
e842be1
Fix SkiaSharp v3 obsolete warnings
follesoe Feb 10, 2025
f3fdc5f
Use Border instead of Frame
follesoe Feb 10, 2025
3c77002
Ignore obosolete warning for this class
follesoe Feb 10, 2025
a429367
Use list expressions and remove yield break
follesoe Feb 10, 2025
7d218d7
Update iOS library and sample to dotnet 9
follesoe Feb 10, 2025
1f47ccd
Fix whitespace in project file
follesoe Feb 10, 2025
cf51943
Update Android library and sample to dotnet 9
follesoe Feb 10, 2025
a529b8f
Remove macOS platform
follesoe Feb 10, 2025
723bf3e
Build Core, Maui, iOS, and Droid packages
follesoe Feb 10, 2025
bb35f22
Add helper script to build all projects
follesoe Feb 10, 2025
e8de5ab
Remove Compatibility package which is not needed
follesoe Feb 11, 2025
f0401a3
Replace use of Frame with Border
follesoe Feb 11, 2025
876ce0a
Use compiled bindings
follesoe Feb 11, 2025
9765dba
Remove obsolete properties
follesoe Feb 11, 2025
ac179f1
Enable compiled bindings
follesoe Feb 11, 2025
d445de9
Add net9.0-maccatalyst to target frameworks
follesoe Feb 11, 2025
1c39090
Re-format Maui Sample csproj file
follesoe Feb 11, 2025
f99f2c3
Add net9.0-maccatalyst target framework
follesoe Feb 11, 2025
e4b4274
Update and build meta package
follesoe Feb 11, 2025
32ca335
Fix NU5128 warning by adding empty file
follesoe Feb 11, 2025
948866b
Update README
follesoe Feb 11, 2025
84116f6
Fix PR workflow: update deprecated actions and align with modernized …
follesoe Apr 16, 2026
f37d5b2
Update to .NET 10 across all projects and CI workflows
follesoe Apr 16, 2026
f51f044
Fix CI: remove --no-restore and add Xcode selection for macOS
follesoe Apr 16, 2026
67cdd01
Use maxim-lobanov/setup-xcode action for Xcode selection
follesoe Apr 16, 2026
a3e1b70
Use macos-26 runner and setup-xcode with Xcode 26.3
follesoe Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/workflows/CI-Maui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Publish Microcharts NuGet packages to GitHub

on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
Maui-nuget-Builds:

runs-on: windows-latest

steps:

- name: Clone source
uses: actions/checkout@v4.0.0
with:
fetch-depth: 0

- name: Install .NET SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
source-url: https://nuget.pkg.github.com/follesoe/index.json
env:
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}

- name: Install .NET MAUI Workloads
run: |
dotnet workload install android
dotnet workload install ios
dotnet workload install maccatalyst
dotnet workload install maui
dotnet workload list

- name: Build and pack Microcharts.Core
run: |
dotnet pack --configuration=Release -p:VersionPrelease=.${{ github.run_number }} Sources\Microcharts\Microcharts.csproj

- name: Build and pack Microcharts.Maui
run: |
dotnet pack --configuration=Release -p:VersionPrelease=.${{ github.run_number }} Sources\Microcharts.Maui\Microcharts.Maui.csproj

- name: Build and pack Microcharts.iOS
run: |
dotnet pack --configuration=Release -p:VersionPrelease=.${{ github.run_number }} Sources\Microcharts.iOS\Microcharts.iOS.csproj

- name: Build and pack Microcharts.Droid
run: |
dotnet pack --configuration=Release -p:VersionPrelease=.${{ github.run_number }} Sources\Microcharts.Droid\Microcharts.Droid.csproj

- name: Build and pack Microcharts.Metapackage
run: |
dotnet pack --configuration=Release -p:VersionPrelease=.${{ github.run_number }} Sources\Microcharts.Metapackage\Microcharts.Metapackage.csproj

- name: Publish packages to GitHub
run: |
dotnet nuget add source --username follesoe --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/follesoe/index.json"
dotnet nuget push artifacts\*.nupkg --skip-duplicate --no-symbols --source "github"
64 changes: 16 additions & 48 deletions .github/workflows/CI-Windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,73 +13,41 @@ jobs:
runs-on: windows-latest
steps:
- name: Clone source
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Add MSBuild to PATH (Windows)
uses: microsoft/setup-msbuild@v1.1.3

- name: Install .NET SDK
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
7.0.x
10.0.x

- name: "Install .NET cross-plat and MAUI workloads"
- name: "Install .NET workloads"
run: |
dotnet workload install android
dotnet workload install ios
dotnet workload install maccatalyst
dotnet workload install maui
dotnet workload list

- name: "Restore NuGet packages (Windows)"
run: msbuild /t:restore /p:Configuration=Release Sources/Microcharts.sln /bl:win-restore-build.binlog

- name: "Publish restore bin logs as artifacts"
uses: actions/upload-artifact@v3
with:
name: msbuild-binlogs
path: '**/*.binlog'
if: always()

- name: "Build and pack Microcharts"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts/Microcharts.csproj

- name: "Build and pack Microcharts Android"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Droid/Microcharts.Droid.csproj

- name: "Build and pack Microcharts Xamarin.Forms"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Forms/Microcharts.Forms.csproj

- name: "Build and pack Microcharts iOS"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.iOS/Microcharts.iOS.csproj

- name: "Build and pack Microcharts UWP"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Uwp/Microcharts.Uwp.csproj

- name: "Build and pack Microcharts Avalonia"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Avalonia/Microcharts.Avalonia.csproj

- name: "Build and pack Microcharts Eto"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Eto/Microcharts.Eto.csproj
- name: "Restore and build solution"
run: dotnet build Sources/Microcharts.Maui.sln --configuration Release

- name: "Build and pack Microcharts .NET MAUI"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Maui/Microcharts.Maui.csproj
- name: "Pack Microcharts Core"
run: dotnet pack Sources/Microcharts/Microcharts.csproj --configuration Release --no-build

- name: "Build and pack Microcharts Uno"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Uno/Microcharts.Uno.csproj
- name: "Pack Microcharts Droid"
run: dotnet pack Sources/Microcharts.Droid/Microcharts.Droid.csproj --configuration Release --no-build

- name: "Build and pack Microcharts Uno WinUI"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Uno.WinUI/Microcharts.Uno.WinUI.csproj
- name: "Pack Microcharts iOS"
run: dotnet pack Sources/Microcharts.iOS/Microcharts.iOS.csproj --configuration Release --no-build

- name: "Build and pack Microcharts WinUI"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.WinUI/Microcharts.WinUI.csproj
- name: "Pack Microcharts MAUI"
run: dotnet pack Sources/Microcharts.Maui/Microcharts.Maui.csproj --configuration Release --no-build

- name: "Build and pack Microcharts Meta-package"
run: dotnet pack Sources/Microcharts.Metapackage/Microcharts.Metapackage.csproj
- name: "Pack Microcharts Meta-package"
run: dotnet pack Sources/Microcharts.Metapackage/Microcharts.Metapackage.csproj --configuration Release

- name: Publish packages to nuget.org
run: |
Expand Down
85 changes: 21 additions & 64 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,90 +12,47 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest]
os: [windows-latest, macos-26]
steps:
- name: Clone source
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Add MSBuild to PATH (Windows)
uses: microsoft/setup-msbuild@v1.1.3
if: matrix.os == 'windows-latest'

- name: Install .NET SDK
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
7.0.x
10.0.x

- name: "Install .NET cross-plat and MAUI workloads"
- name: "Install .NET workloads"
run: |
dotnet workload install android
dotnet workload install ios
dotnet workload install maccatalyst
dotnet workload install maui
dotnet workload list

- name: "Restore NuGet packages (Windows)"
run: msbuild /t:restore /p:Configuration=Release Sources/Microcharts.sln /bl:win-restore-build.binlog
if: matrix.os == 'windows-latest'

- name: "Restore NuGet packages (Mac)"
run: msbuild /t:restore /p:Configuration=Release Sources/Microcharts-mac.slnf /bl:mac-restore-build.binlog
if: matrix.os == 'macos-latest'

- name: "Publish bin logs as artifacts"
uses: actions/upload-artifact@v3
- name: Select Xcode
if: matrix.os == 'macos-26'
uses: maxim-lobanov/setup-xcode@v1
with:
name: msbuild-binlogs
path: '**/*.binlog'
if: always()

- name: "Build and pack Microcharts"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts/Microcharts.csproj

- name: "Build and pack Microcharts Android"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Droid/Microcharts.Droid.csproj

- name: "Build and pack Microcharts Xamarin.Forms"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Forms/Microcharts.Forms.csproj

- name: "Build and pack Microcharts iOS"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.iOS/Microcharts.iOS.csproj

- name: "Build and pack Microcharts macOS"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.macOS/Microcharts.macOS.csproj
if: matrix.os == 'macos-latest'

- name: "Build and pack Microcharts UWP"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Uwp/Microcharts.Uwp.csproj
if: matrix.os == 'windows-latest'

- name: "Build and pack Microcharts Avalonia"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Avalonia/Microcharts.Avalonia.csproj
if: matrix.os == 'windows-latest'
xcode-version: '26.3'

- name: "Build and pack Microcharts Eto"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Eto/Microcharts.Eto.csproj
if: matrix.os == 'windows-latest'
- name: "Build solution"
run: dotnet build Sources/Microcharts.Maui.sln --configuration Release

- name: "Build and pack Microcharts .NET MAUI"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Maui/Microcharts.Maui.csproj
if: matrix.os == 'windows-latest'
- name: "Pack Microcharts Core"
run: dotnet pack Sources/Microcharts/Microcharts.csproj --configuration Release --no-build

- name: "Build and pack Microcharts Uno"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Uno/Microcharts.Uno.csproj
if: matrix.os == 'windows-latest'
- name: "Pack Microcharts Droid"
run: dotnet pack Sources/Microcharts.Droid/Microcharts.Droid.csproj --configuration Release --no-build

- name: "Build and pack Microcharts Uno WinUI"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.Uno.WinUI/Microcharts.Uno.WinUI.csproj
if: matrix.os == 'windows-latest'
- name: "Pack Microcharts iOS"
run: dotnet pack Sources/Microcharts.iOS/Microcharts.iOS.csproj --configuration Release --no-build

- name: "Build and pack Microcharts WinUI"
run: msbuild /t:build,pack /p:Configuration=Release Sources/Microcharts.WinUI/Microcharts.WinUI.csproj
if: matrix.os == 'windows-latest'
- name: "Pack Microcharts MAUI"
run: dotnet pack Sources/Microcharts.Maui/Microcharts.Maui.csproj --configuration Release --no-build

- name: "Build and pack Microcharts Meta-package"
run: dotnet pack Sources/Microcharts.Metapackage/Microcharts.Metapackage.csproj
- name: "Pack Microcharts Meta-package"
run: dotnet pack Sources/Microcharts.Metapackage/Microcharts.Metapackage.csproj --configuration Release
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ paket-files/
# this file can be merge conflict hell, never commit these.
Sources/Microcharts.Droid/Resources/Resource.designer.cs
Sources/Microcharts.Samples.Droid/Resources/Resource.designer.cs
Sources/Microcharts.Samples.Forms/Microcharts.Samples.Forms.Android/Resources/Resource.designer.cs
/Sources/.vsconfig
/Sources/NuGet.config
/Sources/Microcharts.Samples.Android/Resources/Resource.designer.cs
Expand Down
7 changes: 4 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@

### I wish to help, what's the basics to what I need to know?

first and foremost, thank you for your help and interest.
First and foremost, thank you for your help and interest!

master currently has 1.0 code so it's best to put new things in there unless it's a fix for the 0.9 codebase which then you develop off the develop branch.
Master currently has 1.0 code so it's best to put new things in there unless it's a fix for the 0.9 codebase which then you develop off the develop branch.

if you're adding a new framework (MAUI, UWP), please ensure you'll be around to actively support it, please no web frameworks as the library is largely used by the mobile & desktop community of the .NET family.
If you're adding a new framework (Avalonian, Uno), please ensure you'll be around to actively support it. Please no web frameworks as the library is largely used by the mobile & desktop community of the .NET family.
31 changes: 10 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
[![Mac Builds](https://github.com/dotnet-ad/Microcharts/actions/workflows/CI-MacOS.yml/badge.svg)](https://github.com/dotnet-ad/Microcharts/actions/workflows/CI-MacOS.yml)
[![Windows Builds](https://github.com/dotnet-ad/Microcharts/actions/workflows/CI-Windows.yml/badge.svg)](https://github.com/dotnet-ad/Microcharts/actions/workflows/CI-Windows.yml)

[Looking for more contributors](https://github.com/microcharts-dotnet/Microcharts/discussions/274)

## Version 1.0.0 Beta is now available

[![NuGet](https://img.shields.io/nuget/vpre/Microcharts.Forms.svg?label=Microcharts.Forms)](https://www.nuget.org/packages/Microcharts.Forms/)
Expand All @@ -24,7 +22,7 @@ read our [wiki](https://github.com/dotnet-ad/Microcharts/wiki) to learn more abo

## About

This project is just simple drawing on top of the awesome [SkiaSharp](https://github.com/mono/SkiaSharp) library. The purpose is not to have an heavily customizable charting library. If you want so, simply fork the code, since all of this is fairly simple. Their is no interaction, nor animation at the moment.
This project is just simple drawing on top of the awesome [SkiaSharp](https://github.com/mono/SkiaSharp) library. The purpose is not to have an heavily customizable charting library. If you want so, simply fork the code, since all of this is fairly simple.

## Contributions

Expand All @@ -44,21 +42,15 @@ More info on how you can help can be found [here](https://github.com/dotnet-ad/M

Available on NuGet

**NET Standard 2.0, Xamarin.iOS, Xamarin.Android, UWP**

[![NuGet](https://img.shields.io/nuget/v/Microcharts.svg?label=NuGet)](https://www.nuget.org/packages/Microcharts/)


**Xamarin.Forms (.NET Standard 2.0)**

[![NuGet](https://img.shields.io/nuget/v/Microcharts.Forms.svg?label=NuGet)](https://www.nuget.org/packages/Microcharts.Forms/)
* [Microcharts](https://www.nuget.org/packages/Microcharts/)
* [Microcharts.Core](https://www.nuget.org/packages/Microcharts.Core/)
* [Microcharts.Maui](https://www.nuget.org/packages/Microcharts.Maui/)
* [Microcharts.iOS](https://www.nuget.org/packages/Microcharts.iOS/)
* [Microcharts.Android](https://www.nuget.org/packages/Microcharts.Droid/)

**.NET MAUI**

Not yet available through NuGet.

> [!IMPORTANT]
> Don't forget to call `UseMicrocharts()` on `MauiAppBuilder` in the `MauiProgram` class.
Don't forget to call `UseMicrocharts()` on `MauiAppBuilder` in the `MauiProgram` class.

## Tutorials

Expand All @@ -68,12 +60,9 @@ Not yet available through NuGet.

Built in views are provided for:

* **UWP**
* **Xamarin.Forms**, **Xamarin.iOS** and **Xamarin.Android**, **Xamarin.macOS**
* **.NET MAUI** (Windows, Android, iOS, and macOS)
* **WinUI** (Windows App SDK)
* And any other **.NET Standard 2.0** [SkiaSharp](https://github.com/mono/SkiaSharp) supported platform is also compatible (see one of the included `ChartView` implementations for more details).
* .NET 9.0 (on all platforms)
* MAUI (Windows, Android, iOS, and macOS Catalyst)

## License

MIT © [Aloïs Deniel](https://aloisdeniel.com) & [Ed Lomonaco](https://edlomonaco.dev)
MIT © [Aloïs Deniel](https://aloisdeniel.com), [Ed Lomonaco](https://edlomonaco.dev) & [Jonas Follesø](https://github.com/follesoe)
3 changes: 3 additions & 0 deletions Sources/.editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,7 @@ trim_trailing_whitespace=true
insert_final_newline=true

[*.json]
indent_size = 2

[*.csproj]
indent_size = 2
8 changes: 7 additions & 1 deletion Sources/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<PropertyGroup>
<!-- Change these two values to control the version -->
<VersionMain>1.0.1</VersionMain>
<VersionMain>2.0.0</VersionMain>
<VersionPrelease></VersionPrelease>
</PropertyGroup>

Expand All @@ -21,6 +21,7 @@
<!-- Common NuGet package metadata -->
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<Authors>Microcharts Team</Authors>
<Owners>Microcharts Team</Owners>
<NeutralLanguage>en</NeutralLanguage>
<RepositoryUrl>https://github.com/microcharts-dotnet/Microcharts.git</RepositoryUrl>
<PackageProjectUrl>https://github.com/microcharts-dotnet/Microcharts</PackageProjectUrl>
Expand All @@ -29,8 +30,13 @@
<PackageVersion>$(VersionMain)$(VersionPrelease)</PackageVersion>
<PackageOutputPath>$(MSBuildThisFileDirectory)..\artifacts</PackageOutputPath>
<LicenseFile>$(MSBuildThisFileDirectory)..\LICENSE</LicenseFile>
<PackageIcon>Icon.png</PackageIcon>
</PropertyGroup>

<ItemGroup Label="PackageIcon">
<None Include="$(MSBuildThisFileDirectory)/../Assets/Icon.png" Pack="true" Visible="false" PackagePath=""/>
</ItemGroup>

<Target Name="PrintRID"
BeforeTargets="BeforeBuild">
<Message Text="Operating System: Windows"
Expand Down
Loading
Loading