Election-Tech-Initiative / Election-Tech-Initiative/electionguard-cpp
✨ Add Xamarin support (Android) to C# Wrapper
- Dominant language
- C++
- Stars
- 26
- Forks
- 25
- PR merge metrics
- No merged PRs in 30d
Description
## Feature Request
**Description**
Xamarin support was temporarily removed but should still be supported under the .NET Standard implementations.
This may require some specialized building of the package for these particular runtimes and more complicated setup so that a developer can easily utilize the library.
The suggestion is to implement Conditions to implement some of the previous code originally in the previously made iOS and Android projects. This may require using [Build Extras](https://github.com/novotnyllc/MSBuildSdkExtras).
-[Android Specifics](https://github.com/microsoft/electionguard-cpp/blob/0bad662f3c6c32f4f7c257b2826d448930736594/bindings/netstandard/ElectionGuard/ElectionGuard.Android/ElectionGuard.Android.csproj#L52)
See
- [ ] Add Android binaries into runtimes and project
- [ ] Update documentation after Android and iOS support
- [ ] Build test project to demonstrate usage but do not commit within PR.
**Helpful Links**
https://docs.microsoft.com/en-us/nuget/create-packages/multiple-target-frameworks-project-file
https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package-msbuild
https://docs.microsoft.com/en-us/dotnet/standard/frameworks
https://github.com/edsnider/latestversionplugin/blob/master/src/Xam.Plugin.LatestVersion.csproj
https://docs.microsoft.com/en-us/nuget/create-packages/supporting-multiple-target-frameworks
Contributor guide
Research direction
Start by comparing the referenced ElectionGuard.Android.csproj with the current bindings/netstandard project, then inspect how runtimes and Android binaries are packaged. Build a local Xamarin Android test project to verify usage. Done means Android binaries are included, the project builds for the target runtime, documentation is updated, and the demonstration project is not committed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, cpp, csharp
- Domain
- build-system, mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100