Skip to content

Feature: CompilerPlatform SDK for MSBuild #1

@Lamparter

Description

@Lamparter

What feature or improvement do you think would benefit the app?

Currently, Riverside. CompilerPlatform is built up of libraries that provide extensions to Roslyn's code analysis APIs and support both of Roslyn's compiler languages: Visual Basic and C#.
However, this proposition is to create a new library, the Riverside.CompilerPlatform SDK for MSBuild, which will encapsulate common types found in the XML-based MSBuild project system, and enable them to be accessed and defined in .NET assemblies.

To put it simply: the Riverside.CompilerPlatform.Build library will allow you to define MSBuild tasks, targets, properties and items in your favourite .NET language.

Requirements

XML features

  • Ability to generate XML props/targets file from source code
  • Parsing of attributes into XML content

Project system features

  • Support for MSBuild targets
  • Support for MSBuild properties
  • Support for MSBuild item groups
  • Compatibility with MSBuild built-in "Task" functionality

Version

No response

API Changes

https://gist.github.com/Lamparter/9391cfd9b645a58d2af5ddd163b487e8

Intended Use-Case

It would be a much better experience to be able to write MSBuild files like this; in an assembly rather than as XML.
This would make the development experience for building MSBuild SDKs far better and easier to do, and might be similar to the experience with similar-ish tools like Cake.

Comments

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions