sillsdev / sil.buildtasks Goto Github PK
View Code? Open in Web Editor NEWSeveral useful msbuild tasks
License: MIT License
Several useful msbuild tasks
License: MIT License
Although the code does a Regex.Replace, which should allow for the ReplacementText to specify a regex replacement (e.g., with group numbers or names), the verification code does not consider whether there were any matches but merely checks to see whether the resulting string contains the literal ReplacementText string. If it doesn't, it reports failure and does not save the file.
Consider I have the following CHANGELOG.md
:
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic
Versioning v2.0.0](https://semver.org/spec/v2.0.0.html).
## [0.0.1] - 2021-03-21
### Added
- Password authentication: `MatrixClient.Login`
- Reactive event sync: `MatrixClient.StartEventPolling`
[0.0.1]: https://github.com/ForNeVeR/Smith.MatrixSdk/releases/tag/v0.0.1
[Unreleased]: https://github.com/ForNeVeR/Smith.MatrixSdk/compare/v0.0.1...HEAD
After publishing the first release, my changelog inside of a NuGet package will contain the following:
Added:
- Password authentication: `MatrixClient.Login`
- Reactive event sync: `MatrixClient.StartEventPolling`
[0.0.1]: https://github.com/ForNeVeR/Smith.MatrixSdk/releases/tag/v0.0.1
[Unreleased]: https://github.com/ForNeVeR/Smith.MatrixSdk/compare/v0.0.1...HEAD
However, the link section is unwanted in the package.
Probably, we could detect its existence and exclude it automatically from the first build?
If the CHANGELOG.md
file contains a comment at the top, e.g.
<!-- comment
-->
## [Unreleased]
### Added
- [MyProject1] Add 'DoSomething()' method to 'Foo'
the closing tag of the comment will show up in the release notes if the entries are filtered:
-->
Changes since version 2.4.0
Added:
- Add 'DoSomething()' method to 'Foo'
I added ignored tests in db6802f.
This new feature adds a filter option to the SetReleaseNotesProperty
task which allows to filter out any entries that don't belong to a specific nuget package. To achieve this we add a new property FilterEntries
that controls whether or not the new feature is enabled for a project.
FilterEntries
property in his .csproj file. If the property value evaluates true
, the new filter option isfalse
or the property is not set, the filter option is disabled. This is the behavior that's implementedCHANGELOG.md
fileGiven the following snippet of a CHANGELOG.md
file:
...
## [Unreleased]
## [2.5.0] - 2021-02-22
### Added
- [MyProject1] Add `DoSomething()` method to `Foo`
- `ReadMe.md` Lorem ipsem
### Fixed
- [Some.OtherProject] Fix crash in `FooBar`
## [2.4.0] - 2021-01-22
...
If MyProject1.csproj
sets the FilterEntries
property:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<FilterEntries>true</FilterEntries>
...
</PropertyGroup>
...
</Project>
then the ReleaseNotesProperty
will contain the following when building version 2.4.0 of MyProject1
:
Changes since version 2.4.0
Added:
- Add `DoSomething()` method to `Foo`
- `ReadMe.md` Lorem ipsem
If likewise Some.Project.csproj
sets FilterEntries
and creates a nuget package Some.OtherProject
(PackageId
property):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<FilterEntries>true</FilterEntries>
<PackageId>Some.OtherProject</PackageId>
...
</PropertyGroup>
...
</Project>
The output would be for Some.OtherProject
:
Changes since version 2.4.0
Added:
- `ReadMe.md` Lorem ipsem
Fixed:
- Fix crash in `FooBar`
If neither project sets the FilterEntries
property, the output would be identical for both projects:
Changes since version 2.4.0
Added:
- [MyProject1] Add `DoSomething()` method to `Foo`
- `ReadMe.md` Lorem ipsem
Fixed:
- [Some.OtherProject] Fix crash in `FooBar`
+semver:minor
in commit messageThe logging in MakeWixForDirTree just puts out "High", "Normal" and "Low". The actual message is lost. Makes for pretty useless logging. See an example here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.