https://github.com/sillsdev/sil.buildtasks
Several useful msbuild tasks
https://github.com/sillsdev/sil.buildtasks
hacktoberfest msbuild-tasks nuget release-automation
Last synced: about 1 year ago
JSON representation
Several useful msbuild tasks
- Host: GitHub
- URL: https://github.com/sillsdev/sil.buildtasks
- Owner: sillsdev
- License: mit
- Created: 2018-04-12T08:35:43.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-18T14:46:42.000Z (about 1 year ago)
- Last Synced: 2025-03-27T13:11:46.953Z (about 1 year ago)
- Topics: hacktoberfest, msbuild-tasks, nuget, release-automation
- Language: C#
- Homepage:
- Size: 19.1 MB
- Stars: 5
- Watchers: 23
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Readme
Several useful msbuild tasks.
[](https://www.nuget.org/packages/SIL.BuildTasks/)
[](https://github.com/sillsdev/SIL.BuildTasks/actions/workflows/CI-CD.yml)
## Current Tasks
### [`SIL.ReleaseTasks` package](Documentation/SIL.ReleaseTasks.md)
**Task** | **Description**
------------------------------|----------------------------------------------------------------
[CreateChangelogEntry](Documentation/SIL.ReleaseTasks.md#createchangelogentry-task) | Given a Changelog file, this task will add an entry to the debian changelog.
[CreateReleaseNotesHtml](Documentation/SIL.ReleaseTasks.md#createreleasenoteshtml-task) | Given a markdown-style changelog file, this class will generate a release notes HTML file.
[StampChangelogFileWithVersion](Documentation/SIL.ReleaseTasks.md#stampchangelogfilewithversion-task) | Replaces the first line in a markdown-style Changelog/Release file with the version and date.
[SetReleaseNotesProperty](Documentation/SIL.ReleaseTasks.md#setreleasenotesproperty-task) | Given a markdown-style changelog file, this class will set a property to the changes mentioned in the topmost release.
### [`SIL.BuildTasks` package](Documentation/SIL.BuildTasks.md)
**Task** | **Description**
------------------------------|----------------------------------------------------------------
[Archive](Documentation/SIL.BuildTasks.md#archive-task) |
[CpuArchitecture](Documentation/SIL.BuildTasks.md#cpuarchitecture-task) | Return the CPU architecture of the current system.
[DownloadFile](Documentation/SIL.BuildTasks.md#downloadfile-task) | Download a file from a web address.
[FileUpdate](Documentation/SIL.BuildTasks.md#fileupdate-task) |
[MakePot](Documentation/SIL.BuildTasks.md#makepot-task) |
[MakeWixForDirTree](Documentation/SIL.BuildTasks.md#makewixfordirtree-task) |
[NormalizeLocales](Documentation/SIL.BuildTasks.md#normalizelocales-task) | Drops country code from directories and filenames to help work with Crowdin
[NUnit](Documentation/SIL.BuildTasks.md#nunit-task) | Run NUnit (v2) on a test assembly.
[NUnit3](Documentation/SIL.BuildTasks.md#nunit3-task) | Run NUnit3 on a test assembly.
[Split](Documentation/SIL.BuildTasks.md#split-task) |
[StampAssemblies](Documentation/SIL.BuildTasks.md#stampassemblies-task) |
[UnixName](Documentation/SIL.BuildTasks.md#unixname-task) | Determine the Unix Name of the operating system executing the build.
[UpdateBuildTypeFile](Documentation/SIL.BuildTasks.md#updatebuildtypefile-task) |
## Build
### Windows or Linux
Install .NET 6.0 SDK from https://dot.net/core-sdk-vscode .
Build and run tests:
```bash
dotnet pack --configuration Release SIL.ReleaseTasks.Dogfood/SIL.ReleaseTasks.Dogfood.csproj
dotnet test
```
### Building a local package of SIL.BuildTasks for testing (Windows)
1. Run the Pack build command from inside Visual Studio on the SIL.ReleaseTasks.Dogfood project
2. Run the Pack build command from inside Visual Studio on the SIL.BuildTasks project
3. Install the package from the output folder into your local Nuget source e.g.`nuget.exe add output/Debug/SIL.BuildTasks.2.3.5-beta.1.nupkg -Source /c/Repositories/DevelopmentPackages/`