Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md's to use "contribution bar" #77134

Merged
merged 3 commits into from
Oct 18, 2022
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 28 additions & 13 deletions src/libraries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,37 @@

This folder contains the source and tests for the .NET Libraries. Different libraries are owned by different team members; refer to the [Areas](../../docs/area-owners.md#areas) list for lead and owner information.

## Development Statuses
## Contribution Bar

Some libraries are under more active development than others. Depending on the library's status, expectations for issues and pull requests can vary. Check the library's folder for a `README.md` that declares the status for that library. Regardless of a library's status, refer to the [DOs and DON'Ts](../../CONTRIBUTING.md#dos-and-donts) and [Suggested Workflow](../../CONTRIBUTING.md#suggested-workflow) in our contribution guidelines before submitting a pull request.
Some libraries are under more active development than others. Depending on the library's status, expectations for issues and pull requests can vary. Check the library's folder for a `README.md` that declares the contribution bar for that library which consists of a **Primary bar** and optional **Secondary bars**. Regardless of a library's contribution bar, refer to the [DOs and DON'Ts](../../CONTRIBUTING.md#dos-and-donts) and [Suggested Workflow](../../CONTRIBUTING.md#suggested-workflow) in our contribution guidelines before submitting a pull request.

- **Active**
- Under active development by the team
- Issues will be considered for fix or addition to the backlog
### Assumed bars (unless a library says otherwise)
- **We take security fixes**
- **We take test changes**
steveharter marked this conversation as resolved.
Show resolved Hide resolved
- **We don't take style-only changes**

### Primary bar
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a library has a different composition, the thinking is it doesn't necessarily need to update this list and doesn't necessarily need to link back to here.

- **We take new features, new APIs and performance changes**
- This is the most encompassing category and takes on the most risk
steveharter marked this conversation as resolved.
Show resolved Hide resolved
- PRs for both features and fixes will be considered when aligned with current efforts
- **Inactive**
- Under minimal development; quality is maintained
- Issues will be considered for fix or addition to the backlog
- PRs for both features and fixes will be considered
- **Legacy**
- Not under development; maintained for compatibility
- Issues are likely to be closed without fixes
- PRs are unlikely to be accepted
- For new APIs, please follow the [API Review Process](../../docs/project/api-review-process.md)
- PRs for performance gains are welcome. Update [benchmarks](https://github.com/dotnet/performance) as appropriate.
- Refactoring changes are welcome
- **We only take fixes to maintain or improve quality**
- New features and APIs are **not** normally considered but there are exceptions such as when responding to runtime changes or language additions
- The library is likely mature and feature-complete
- PRs for performance are considered if they are lower-risk or high-impact
- Refactoring changes are considered if there is a clear benefit
- **We only take lower-risk or high-impact fixes to maintain or improve quality**
- New features and APIs are **not** considered
- We don't take potentially destabilizing fixes or test changes unless there is a clear need
- **We only take fixes that unblock critical issues**
- New features and APIs are **not** considered
- This may include infrastructure changes and other housekeeping

### Secondary bars
- **We take PRs that target this library for new [source code analyzers](../../docs/project/analyzers.md)**
- **We don't take refactorting changes due to new language features**
steveharter marked this conversation as resolved.
Show resolved Hide resolved

## Deployment

Expand Down
3 changes: 2 additions & 1 deletion src/libraries/System.Reflection.Context/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ Used by `System.ComponentModel` to support [`CustomReflectionContext`](https://l

Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.context.

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only take fixes that unblock critical issues](../../libraries/README.md#primary-bar)

## Deployment
[System.Reflection.Context](https://www.nuget.org/packages/System.Reflection.Context) NuGet package
4 changes: 3 additions & 1 deletion src/libraries/System.Reflection.DispatchProxy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ Supports the [`DispatchProxy`](https://learn.microsoft.com/dotnet/api/system.ref

Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.dispatchproxy.

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We take new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

Although used for key scenarios by the community, it has remained relatively unchanged. Internally it uses [Emit](../System.Reflection.Emit/README.md) to generate the proxies so it doesn't work on all platforms.

## Deployment
Expand Down
5 changes: 4 additions & 1 deletion src/libraries/System.Reflection.Emit.ILGeneration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ Contains types used with [`System.Reflection.Emit`](../System.Reflection.Emit/RE

The primary class is [`ILGenerator`](https://learn.microsoft.com/dotnet/api/system.reflection.emit.ilgenerator).

## Status: [Inactive](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We take new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

See the [Help Wanted](https://github.com/dotnet/runtime/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-System.Reflection.Emit+label%3A%22help+wanted%22) issues.

## Deployment
[System.Reflection.Emit.ILGeneration](https://www.nuget.org/packages/System.Reflection.Emit.ILGeneration) is included in the shared framework.
3 changes: 2 additions & 1 deletion src/libraries/System.Reflection.Emit.Lightweight/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# System.Reflection.Emit.Lightweight
The primary class is [`DynamicMethod`](https://learn.microsoft.com/dotnet/api/system.reflection.emit.DynamicMethod).

## Status: [Inactive](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only take fixes to maintain or improve quality](../../libraries/README.md#primary-bar)

## Deployment
[System.Reflection.Emit.Lightweight](https://www.nuget.org/packages/System.Reflection.Emit.Lightweight) is included in the shared framework.
Expand Down
8 changes: 6 additions & 2 deletions src/libraries/System.Reflection.Emit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@ Not all platforms and runtimes support IL.Emit.

Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.emit. The primary class is [`AssemblyBuilder`](https://learn.microsoft.com/dotnet/api/system.reflection.emit.AssemblyBuilder).

## Status: [Inactive](../../libraries/README.md#development-statuses)
The APIs and functionality are mature, but do get extended occasionally.
## Contribution Bar
- [x] [We take new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

See the [Help Wanted](https://github.com/dotnet/runtime/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-System.Reflection.Emit+label%3A%22help+wanted%22) issues.

The primary new feature under consideration is [AssemblyBuilder.Save()](https://github.com/dotnet/runtime/issues/62956).

## Deployment
[System.Reflection.Emit](https://www.nuget.org/packages/System.Reflection.Emit) is included in the shared framework. The package does not need to be installed into any project compatible with .NET Standard 2.1; it only needs to be installed when targeting .NET Standard 2.0.
Expand Down
4 changes: 3 additions & 1 deletion src/libraries/System.Reflection.Extensions/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# System.Reflection.Extensions
This supports forwarding types to the runtime including [CustomAttributeExtensions](https://learn.microsoft.com/dotnet/api/system.reflection.CustomAttributeExtensions), [InterfaceMapping](https://learn.microsoft.com/dotnet/api/system.reflection.InterfaceMapping) and [RuntimeReflectionExtensions](https://learn.microsoft.com/dotnet/api/system.reflection.RuntimeReflectionExtensions).

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only take fixes that unblock critical issues](../../libraries/README.md#primary-bar)

This package was used in the past to expose common functionality across different runtimes in a uniform way. It continues to ship as part of the shared framework, but it is frozen for compatibility.

## Deployment
Expand Down
7 changes: 5 additions & 2 deletions src/libraries/System.Reflection.Metadata/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# System.Reflection.Metadata
Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.metadata.

## Status: [Inactive](../../libraries/README.md#development-statuses)
The APIs and functionality are mature, but do get extended occasionally.
## Contribution Bar
- [x] [We take new features, new APIs and performance changes](../../libraries/README.md#primary-bar)
steveharter marked this conversation as resolved.
Show resolved Hide resolved


See the [Help Wanted](https://github.com/dotnet/runtime/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-System.Reflection.Metadata+label%3A%22help+wanted%22) issues.

## Deployment
[System.Reflection.Metadata](https://www.nuget.org/packages/System.Reflection.Metadata) is included in the shared framework.
8 changes: 2 additions & 6 deletions src/libraries/System.Reflection.MetadataLoadContext/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@ This provides a high-level API for inspecting types given raw assembly contents

This library takes a dependency on `System.Reflection.Metadata` for reading the assembly.

## Status: [Inactive](../../libraries/README.md#development-statuses)
The APIs and functionality are mature, but do get extended occasionally.

## Source

* [../System.Reflection.MetadataLoadContext](../System.Reflection.MetadataLoadContext)
## Contribution Bar
- [x] [We only take fixes to maintain or improve quality](../../libraries/README.md#primary-bar)

## Deployment
[System.Reflection.MetadataLoadContext](https://www.nuget.org/packages/System.Reflection.MetadataLoadContext) NuGet package.
4 changes: 3 additions & 1 deletion src/libraries/System.Reflection.Primitives/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# System.Reflection.Primitives
Contains reflection types such as [TypeAttributes](https://learn.microsoft.com/dotnet/api/system.reflection.typeattributes). Some of these types are forwarded to the runtime. In the future, the non-forwarded types may be lifted to the runtime and then type forwards added.

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only take fixes that unblock critical issues](../../libraries/README.md#primary-bar)

This package was used in the past to expose common functionality across different runtimes in a uniform way. It continues to ship as part of the shared framework, but it is frozen for compatibility.

## Deployment
Expand Down
4 changes: 3 additions & 1 deletion src/libraries/System.Reflection.TypeExtensions/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# System.Reflection.TypeExtensions
This is a facade assembly that has extension methods for common reflection types.

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only take fixes that unblock critical issues](../../libraries/README.md#primary-bar)

This package was used in the past to expose common functionality across different runtimes in a uniform way. It continues to ship as part of the shared framework, but it is frozen for compatibility.

## Deployment
Expand Down
9 changes: 7 additions & 2 deletions src/libraries/System.Reflection/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,13 @@ This is the primary reflection assembly. It is used for late-bound introspection

Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.

## Status: [Active](../../libraries/README.md#development-statuses)
Although these common types are mature, the code base continues to evolve for better performance and to keep up with language and runtime enhancements such as byref-like types.
## Contribution Bar
- [x] [We take new features, new APIs and performance changes](../../libraries/README.md#primary-bar)
- [x] [We take PRs that target this library for new source code analyzers](../../libraries/README.md#secondary-bars)

Although the types are mature, the code base continues to evolve for better performance and to keep up with language and runtime enhancements such as byref-like types.

See the [Help Wanted](https://github.com/dotnet/runtime/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-System.Reflection+label%3A%22help+wanted%22) issues.

## Source

Expand Down