Sapfire
An incredibly simple and fast way to automate building and deployment Visual C++, .NET and UWP apps
What is it?
Sapfire is a fastlane plugin that provides a bunch of actions to work with MSBuild, NuGet and Microsoft Store app submission.
MSBuild is a set of open-source build tools created by Microsoft. It is included with Visual Studio, but also can be used independently via command-line interface.
NuGet is a package manager, primarily used for packaging and distributing software written using the .NET.
Microsoft Store is a digital distribution platform for Windows.
Getting started
To get started working with plugin, add it to your project by running:
fastlane add_plugin sapfire
Or, if you want to pick the latest commit from the repository, add this to fastlane/Pluginfile
:
gem "fastlane-plugin-sapfire", git: "https://github.com/fastlane/fastlane-plugin-sapfire.git"
Usage
Platform support note
First of all it's important to denote that some of actions or their parameters (such as msbuild
for UWP) are working
on Windows only. Currently fastlane is not officially supported on this platform. Despite this fact it's still possible to run it.
Actions or parameters with such restriction contain the corresponding mark in documentation.
If you want to use them, be sure that the platform name of the build lanes is windows:
platform :windows do
# your lanes
end
Help
Once installed, the information for an action can be printed out with this command:
fastlane action msbuild # or any action included with this plugin
Actions
Here is the list of all available actions. Read the documentation on each one by clicking on the action name.
🔨 Building
Argument | Description | Supported platforms |
---|---|---|
msbuild_select | Changes the MSBuild executable to use | all |
msbuild | Wraps all parameters and executes MSBuild | all |
build_uwp_app | Alias for the msbuild action with additional parameters for UWP |
windows |
dotnet_select | Changes the dotnet executable to use | all |
ensure_dotnet_version | Ensures the right version of .NET is installed and can be used | all |
associate_ms_store | Makes a local app manifest needed for Microsoft Store association | windows |
nuget_pack | Executes MSBuild to create a NuGet package | all |
🔑 Signing
Argument | Description | Supported platforms |
---|---|---|
update_uwp_signing_settings | Configures UWP package signing settings | windows |
🔧 Testing
Argument | Description | Supported platforms |
---|---|---|
app_certification | Runs Windows App Certification Kit to ensure your app is safe and efficient | windows |
📦 Releasing
Argument | Description | Supported platforms |
---|---|---|
upload_ms_store | Uploads new binary to Microsoft Partner Center | windows |
upload_nuget | Pushes a package to the server and publishes it | all |
🔆 Misc
Argument | Description | Supported platforms |
---|---|---|
ms_credentials | Sets Azure AD credentials for further actions | windows |
Working with SLN solution
In addition this plugin provides a parser module for Microsoft SLN file format.
To open a solution, run this:
require "fastlane/plugin/sapfire/sln_project/sln_project"
root_block = Module.open("/cygdrive/c/Projects/My_Project.sln")
puts root_block.projects[0] # print name of the first subproject in solution
Run tests for this plugin
To run both the tests, and code style validation, run
rake
To automatically fix many of the styling issues, use
rubocop -a
Issues and Feedback
For any other issues and feedback about this plugin, please open a GitHub issue.
Troubleshooting
If you have trouble using plugins, check out the Plugins Troubleshooting guide.
Using fastlane Plugins
For more information about how the fastlane
plugin system works, check out the Plugins documentation.
About fastlane
fastlane is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out fastlane.tools.
License
This project is licensed under the MIT license.